我有一个相当奇怪的问题,目前还无法彻底解决,我想在这里记录下来,因为我没有看到任何其他地方讨论过这个问题。
我有一个 iPhone 应用程序,在 Xcode3 下进行开发。这完美地运行,并且我已经完成了一些 ad-hoc 分发,也在设备上完美地工作。
然后我升级到 Xcode4,在下一次进行 ad-hoc 分发时,我的应用程序在启动时崩溃了。不用说,在模拟器和连接到我的开发机器的设备上都可以正常工作。崩溃日志没有太多帮助,它们指示了在 main.m 中发生了崩溃,在 UIApplication 的标准调用中。当然,我从未更改过该文件。经过长时间的挖掘和拼凑,我终于发现了问题所在。
Xcode 认为我的 *.xib 文件的文件类型是 text.xml,而不是 file.xib,因此只将这些文件复制到应用程序包中而不是编译它们。应用程序随后在启动时崩溃,因为找不到 MainWindow.nib 文件。
通过追溯我的 Subversion 提交,我发现在升级 Xcode4 后的第一次提交中,项目.pbxproj 文件中记录的文件类型已更改。我不知道为什么会发生这种情况。我也无法通过 UI 看到如何影响该设置,而且我甚至没有打开一些已更改的 xib。 (为了解决我的问题,我在文本编辑器中修改了 pbxproj 文件)。
那么,有人知道这可能是如何或为什么会发生的吗?
我有一个 iPhone 应用程序,在 Xcode3 下进行开发。这完美地运行,并且我已经完成了一些 ad-hoc 分发,也在设备上完美地工作。
然后我升级到 Xcode4,在下一次进行 ad-hoc 分发时,我的应用程序在启动时崩溃了。不用说,在模拟器和连接到我的开发机器的设备上都可以正常工作。崩溃日志没有太多帮助,它们指示了在 main.m 中发生了崩溃,在 UIApplication 的标准调用中。当然,我从未更改过该文件。经过长时间的挖掘和拼凑,我终于发现了问题所在。
Xcode 认为我的 *.xib 文件的文件类型是 text.xml,而不是 file.xib,因此只将这些文件复制到应用程序包中而不是编译它们。应用程序随后在启动时崩溃,因为找不到 MainWindow.nib 文件。
通过追溯我的 Subversion 提交,我发现在升级 Xcode4 后的第一次提交中,项目.pbxproj 文件中记录的文件类型已更改。我不知道为什么会发生这种情况。我也无法通过 UI 看到如何影响该设置,而且我甚至没有打开一些已更改的 xib。 (为了解决我的问题,我在文本编辑器中修改了 pbxproj 文件)。
那么,有人知道这可能是如何或为什么会发生的吗?