使用iOS 4.3 SDK编译是否取消了对iPhone 3G和第二代iPod touch设备的支持?iOS 4.3分发二进制文件不再支持iPhone 3G/2nd Gen iPod Touch?
升级后,我发现ad-hoc和distribution版本不再在这些设备上运行,而是将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 2011-04-20 15:46:50
另请参阅:http://stackoverflow.com/questions/4923303/ios-4-3-sdk-debugging-on-a-3g-device – magma 2011-04-20 15:50:31
@magma:是的,iOS部署目标设置为“iOS 3.0” 。我在链接中查看帖子,但看起来并不完全相同。在这些设备上以调试模式运行应用程序的工作非常好,正如我所提到的那样,总线就是ad-hoc/distribution构建的问题。 – 2011-04-20 17:25:28