XCode iOS项目工作在10.6以下,崩溃在10.7以下

时间:2011-11-15 20:51:17

标签: ios xcode osx-lion

我有一个iOS XCode项目,我已经在10.6下工作了一段时间。在10.6.8,Xcode 4.2下,它在模拟器和设备上都可以完美地构建和运行。

然后我试图通过压缩整个项目文件夹(包括它使用的所有资源),将其复制到10.7机器并解压缩,将其移动到运行Lion版XCode 4.2的10.7机器上。当我在设备上运行10.7下的项目时,它也可以工作。但是,如果我尝试在iOS模拟器下运行该项目,它现在会在使用SIGABRT的初始UIApplicationMain调用时崩溃。我只能看到错误(至少在我看的地方)说“应用程序收到了SIGABRT”,没有说明原因。在我编写的任何代码被执行(用断点验证)之前,这是在main函数中。

我检查并仔细检查了Xcode项目正在查找的所有文件是否存在且具有适当的权限。使用相同设置创建的新项目(据我所知)到我当前的项目在模拟器中运行正常。如上所述,即使我的项目在iOS设备上运行也能正常运行。就在我尝试在iOS模拟器中运行我的项目时,我遇到了问题。有没有人知道如何解决这个问题,除了创建一个新项目并复制我的所有代码?

1 个答案:

答案 0 :(得分:0)

我可以想到两种可能性:

Xcode生成派生数据(索引文件,中间构建产品等)。通常,数据存储在用户的Library文件夹中,但项目设置可以指示Xcode将数据存储在任何位置,包括在项目目录中。如果您已将此项目与项目相关联,并且它依赖于您的10.6系统中的任何内容,则可能会产生无法在Mac上运行的可执行文件。尝试删除该派生数据。您可以使用Xcode Organizer中的项目选项卡将其删除,或者只是使用Finder挖掘并删除文件夹。

另一种可能性是,为此项目创建的方案可能尝试在未安装在新Mac上的iOS模拟器版本上运行应用程序。尝试在新Mac上创建新方案。 Xcode应该使用适合Xcode配置的默认设置创建新方案。