【发布时间】:2014-02-18 02:58:40
【问题描述】:
实际上,我的原始代码在 Xcode 5.0.2 上运行良好,也非常适合发送到 App Store,即:
objc_msgSend(self.target, self.successAction, category);
此行会导致 Xcode5.1 beta5 崩溃。我找到了修复崩溃的解决方案: SudzC ARC version - objc_msgSend call causes EXC_BAD_ACCESS using 64-bit architecture
// solution
id (*response)(id, SEL, id) = (id (*)(id, SEL, id)) objc_msgSend;
response(self.target, self.successAction, category);
当使用推荐的解决方案时,我使用 Xcode 5 或 Xcode5.1beta 在设备(iPhone 5s)或模拟器(32 位或 64 位)上进行测试完全没有问题。 Build Settings 中的架构设置是 Xcode 5 中的“Standard architectures (armv7, armv7s)”和“Standard architectures (armv7, armv7s, arm64)”。
不过,我的新版应用程序今天已准备好在 App Store 上销售。它在安装的每台设备(iPhone 5s、5、4s)上崩溃(根据 Crashlytics 报告)。 由于我没有使用 Xcode(构建到真实设备)导致崩溃,因此在 Apple 审查之前我不知道我是否解决了问题。
【问题讨论】:
标签: objective-c ios7 crash 64-bit arm64