gpt4 book ai didi

iphone - 为什么设备和模拟器的构建不同?

转载 作者:行者123 更新时间:2023-12-03 21:12:56 27 4
gpt4 key购买 nike

我引用了两个静态库。我在调试模拟器模式下构建它们,并且所有这些都适用于我的应用程序。然后,我创建 debug-iphone 版本并将我的应用程序推送到设备。它因以下错误而中断:

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“*** -[NSCFString sizeWithCGFont:pointSize:constrainedToSize:]:无法识别的选择器发送到实例 0x24320”

然后显示 SIGABRT 错误。

为什么这在模拟器上可以正常工作,但只能在设备上体现?

-- 编辑--

终于找到了解决方法,至少可以在设备上运行,但现在不能在模拟器上运行。引发异常的方法是我用于字体的类。例如,它是 staticLibA 的一部分,该库是有问题的。我将 staticLibA 作为引用包含在目标应用程序以及问题类的 .m 文件中。我已经引用了它的头文件,它是 NSString 中的一个类别。这就是为什么它在我包含 .m 文件之前不起作用吗?

如果我尝试在模拟器中运行它,我会在上述类的构建输出文件夹中收到重复对象错误。

最佳答案

我无法告诉您为什么您的问题目前仅出现在设备上 - 也许您需要清理两个版本并尝试重新编译它们?

无论如何,显示的异常消息是完全有效的。没有名为 -[NSString sizeWithCGFont:pointSize:constrainedToSize:] 的(公共(public))方法。您是否尝试在任何地方调用 NSString 上的 sizeWithFont: 方法之一?

编辑:看起来 sizeWithCGFont:pointSize:constrainedToSize: 来自 cocos-2d,我猜它是您的静态库之一。模拟器和设备构建之间的主要区别在于构建架构 - 模拟器的架构是您自己的机器(i386)的架构,而设备构建适用于armv6或armv7。您确定您的静态库是为正确的架构构建的吗?

关于iphone - 为什么设备和模拟器的构建不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1784273/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com