我引用了两个静态库。我在调试模拟器模式下构建它们,并且与我的应用程序一起运行良好。然后我创建debug-iphone构建并将我的应用程序推送到设备。它打破了这个错误:为什么设备和模拟器的构建有所不同?
终止应用程序由于未捕获的异常 'NSInvalidArgumentException',原因: '*** - [NSCFString sizeWithCGFont:的pointsize:constrainedToSize:]:无法识别的选择发送到实例0x24320'
然后SIGABRT错误显示。
为什么在模拟器上工作正常,只能在设备上显示?
- 编辑 -
终于想出了一个解决办法,至少在设备上运行,但现在不是模拟器。抛出异常的方法是我用于字体的类。它是staticLibA的一部分,例如,这是有问题的库。我在目标应用程序中包含了staticLibA作为参考,还包括了问题类的.m文件。我已经引用了它的头文件,这是NSString中的一个类别。这就是为什么直到我包含.m文件才有效吗?
如果我尝试在模拟器中运行它,上面的类的构建输出文件夹中出现重复的对象错误。
谢谢。我没有使用cocos2d。这两个库是我创建的。我注意到问题库中它的调试设备版本是为i386设置的。我将其改为与工作库相同 - arm6/7。这没有帮助。然后我注意到优化级别设置为“最快,最小”,而工作库设置为“无”。我会试一试并回传结果。 – 4thSpace 2009-11-23 16:55:49
优化更改没有做任何事情。仍抛出异常。 – 4thSpace 2009-11-23 22:56:25