我正在引用两个静态库。我在调试模拟器模式下构建它们,并且在我的应用程序中运行良好。然后我创建 debug-iphone 构建并将我的应用程序推送到设备。它打破了这个错误:
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“***-[NSCFString sizeWithCGFont:pointSize:constrainedToSize:]: 无法识别的选择器发送到实例 0x24320”
然后显示 SIGABRT 错误。
为什么这在模拟器上可以正常工作并且只在设备上显示?
- 编辑 -
终于想出了一个解决方法,至少可以在设备上运行,但现在不能在模拟器上运行。引发异常的方法是我用于字体的类。例如,它是出现问题的库 staticLibA 的一部分。我在目标应用程序和问题类的 .m 文件中包含了 staticLibA 作为参考。我已经引用了它的头文件,它是 NSString 中的一个类别。这就是为什么在我包含 .m 文件之前它不起作用的原因吗?
如果我尝试在模拟器中运行它,则会在上述类的构建输出文件夹中出现重复对象错误。