2015-07-11 129 views
0

我有一个应用程序已经存在了五年并经历了许多更新。当我想要启动更新工作流程时,我将所有应用程序文件复制到一个新目录中,在Xcode中打开新版本,更新不同目标的版本号,然后开始使用新版本。第一步一直是编译和运行新版本,看看我是从一个工作版本开始的。这一直通过许多更新工作。Xcode编译并运行旧版本的应用程序

今天我做了这个,将我的应用从4.1.43更新到4.1.44。我将所有文件复制到一个新目录,更新所有版本并运行应用程序。但不是在模拟器和设备上运行版本4.1.44,而是运行4.1.43。

第一次构建给我提供了许多重复接口和文件定义的错误。一个干净的修复,但Xcode仍然运行4.1.43,即使我在4.1.44目录中,只使用文件。如果我回到4.1.43,我会得到重复的错误;再次,干净删除它们。

Xcode必须有一些设置导致它使用旧的代码和应用程​​序设置,但我不知道为什么或什么。我将非常感谢有关这里有什么问题以及如何纠正问题的任何见解。

约翰

+0

您是否尝试删除派生数据? –

+0

是的。删除所有派生数据。 – johnz

回答

0

我解决了这个问题,但仍然不知道发生了什么问题。

删除派生数据并再次运行应用程序后,我意识到Derived Data中没有新条目。我检查了首选项/位置/派生数据,发现Legacy已被选中。选择唯一解决了问题。

为什么选择遗产是一个谜;我没有改变它,并且在最近的更新中不是那样。而且,由于Legacy将应用放到应用程序特有的目录中,因此它应该使用Legacy位置正确运行。

无论如何,这似乎是答案 - 确保派生数据选择唯一。

相关问题