【发布时间】:2011-08-09 15:13:15
【问题描述】:
使用 iOS 4.3 SDK 编译是否会移除对 iPhone 3G 和第二代 iPod touch 设备的支持?
升级后,我发现 ad-hoc 和分发构建不再在这些设备上运行,但是将 iOS 4.2 SDK 安装到另一个目录,并且没有对代码或构建设置进行任何更改,它确实可以正常工作。
应用程序生成如下崩溃报告:
OS Version: iPhone OS 3.0 (7A341)
Report Version: 104
Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x00000000
Crashed Thread: 0
Thread 0 Crashed:
0 libobjc.A.dylib 0x3014579c 0x3000c000 + 1283996
Thread 1:
0 libSystem.B.dylib 0x31d47158 mach_msg_trap + 20
1 libSystem.B.dylib 0x31d49ed8 mach_msg + 60
2 CoreFoundation 0x3025454e CFRunLoopRunSpecific + 982
3 CoreFoundation 0x30254164 CFRunLoopRunInMode + 44
4 WebCore 0x3588dbc8 RunWebThread(void*) + 412
5 libSystem.B.dylib 0x31d705a0 _pthread_body + 20
Thread 0 crashed with ARM Thread State:
r0: 0x00000000 r1: 0x00000000 r2: 0x39d4a928 r3: 0x00000113
r4: 0x00114940 r5: 0x3893b29c r6: 0x38204d80 r7: 0x0031acf0
r8: 0x00000000 r9: 0x00000001 r10: 0x00000000 r11: 0x00000000
ip: 0x39d802b8 sp: 0x2fffee10 lr: 0x3000852c pc: 0x3014579c
cpsr: 0x80000010
可以看出,堆栈跟踪中没有一个对实际应用程序的引用,只有两个线程在运行。
是否记录了为那些旧设备进行编译已被删除的任何地方?有什么方法可以添加某种构建设置,以便它在这些设备上继续正常运行?
【问题讨论】:
-
冒着问显而易见的风险:“iOS 部署目标”设置是否正确设置?
-
@magma:是的,iOS 部署目标设置为“iOS 3.0”。我浏览了您链接中的帖子,但似乎不太一样。在这些设备上以调试模式运行应用程序非常好,正如我提到的那样,总线是有问题的临时/分发版本。
-
@stefan:iOS 部署目标设置是全局的吗?它是否适用于您用于编译临时构建的特定配置?也许此设置对您的“临时”配置具有不同的值。
-
@stefan:见stackoverflow.com/questions/5490432/…,引用:“我们的应用程序也遇到了同样的问题。它只影响了发布/分发版本中的 armv6 代码,因此只影响了 iPhone 3G 和 iPod Touch 2G"
标签: iphone ios ios4 crash ipod-touch