2

我有一个 iOS 应用程序,我需要通过testflight在其他设备上进行测试。
当我直接从 XCode 运行应用程序时,它可以完美运行(调试和发布模式)。
但是,当我归档 IPA 文件并通过 testflight 下载它时,它会在加载带有图像的 a 时崩溃viewcontrollerscrollview

它从未在 Xcode 中崩溃,仅在从 testflight 安装时。

我得到的堆栈跟踪,

:-[CALayer _isResizable]:无法识别的选择器发送到实例 0x1d570730:* 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[CALayer _isResizable]:无法识别的选择器发送到实例 0x1d570730”*第一次抛出调用堆栈:(0x32a452a3 0x3a8e597f 0x32a48e07 0x32a47531 0x3299ef68 0x3486929f 0x34861eb3 0x7a3cf 0x3486c595 0x348c114b 0x348c1091 0x348c0f75 0x348c0e99 0x348c05d9 0x348c04c1 0x348aeb93 0x348ae833 0x7860f 0x3490f28d 0x34991f81 0x33353277 0x32a1a5df 0x32a1a291 0x32a18f01 0x3298bebd 0x3298bd49 0x365552eb 0x348a1301 0x30e1f 0x3ad1cb20)

什么会导致这样的问题?

4

1 回答 1

1
  1. 崩溃与分发方法 100% 无关(此处是通过 Testflight 对 Ad-Hoc 构建进行 OTA 分发)。
  2. 您需要使用 Xcode 符号化该崩溃报告,然后将在您的应用程序中看到崩溃的文件、方法和行号。将崩溃报告拖到 Xcode 管理器崩溃部分,并希望您仍然拥有此工作所需的所有文件。那就是为此构建生成的 .app 和 .dSYM 包,这些包通过 Spotlight 进行索引。
  3. 异常消息已经很清楚了,并说明了很多关于正在发生的事情:

    : -[CALayer _isResizable]: unrecognized selector sent to instance 0x1d570730 : * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[CALayer _isResizable]: unrecognized selector sent to instance 0x1d570730' *

    • 一个例外是NSInvalidArgumentException
    • 您的代码在不知道此方法/选择器的对象上调用方法/选择器
    • 这表明您遇到了内存问题(不,ARC 不是魔法,不会自动解决您的所有内存问题)
    • 检查您的代码是否存在保留周期(例如,使用异步完成块时)、内存泄漏或僵尸。基本上检查任何与内存相关的问题。StackOverflow 或其他地方有多个线程和文档,说明了该做什么以及如何检查这些。
于 2013-08-16T13:29:19.120 回答