由于我Xcode更新到6.0.1和iOS SDK 8.0我的应用程序不再在设备上运行(运行iOS 8 OFC)。 但是,它完美的模拟器。
在UIApplicationMain应用崩溃的委托任何调用之前曾经发生过。 这似乎一个值或密钥为空在CFTypeCollectionRetain。
我试过了
- 重塑证书/提供配置文件。
- 重新修建有/无ARC。
- 测试了ARMv7体系和arm64建立。
- Xcode的模板(游戏)应用程序编译和运行没有probs。
需要注意的事项
- 几乎所有的代码是C ++,它是一个游戏引擎和正在使用的操作系统服务最低限度。
- 一些全局构造(前主执行)使用并行线程原语。
- 无根视图控制器创建(遗留原因),而不是自定义视图中创建它使用CAEAGLLayer为“Enable” GLES ......但是因为程序没有达到这些地方创建我忽略了它的存在时间点。
- 内部UIApplicationMain有至[_UIFlippingView layerClass],其崩溃的呼叫; 但找不到任何有关的UIFlippingView类在谷歌的任何信息...
我不指望一个答案,但任何善意的提醒,以在哪里寻找下一个将是非常赞赏!
调用堆栈如下:
* thread #1: tid = 0x185d9, 0x23f7646c CoreFoundation`__CFTypeCollectionRetain + 104, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=EXC_ARM_BREAKPOINT, subcode=0xdefe) * frame #0: 0x23f7646c CoreFoundation`__CFTypeCollectionRetain + 104 frame #1: 0x23fd9168 CoreFoundation`__CFBasicHashAddValue + 564 frame #2: 0x23ec06c0 CoreFoundation`CFBasicHashAddValue + 19048 frame #3: 0x23ef745e CoreFoundation`CFDictionaryCreate + 178 frame #4: 0x28a8d246 BackBoardServices`BKSHIDEventCreateClientAttributes + 186 frame #5: 0x28a8d2ac BackBoardServices`___getHIDEventSystemClient_block_invoke + 36 frame #6: 0x01fab740 libdispatch.dylib`dispatch_once_f + 100 frame #7: 0x28a8d318 BackBoardServices`BKSHIDEventRegisterEventCallback + 84 frame #8: 0x274ab4a8 UIKit`UIApplicationMain + 576 frame #9: 0x0008833c Traktor.Amalgam.App`main(argc=1, argv=0x01d3f9e8) + 196 at Main.mm:15
CoreFoundation`__CFTypeCollectionRetain: 0x23f76404: push {r4, r5, r7, lr} 0x23f76406: mov r4, r1 0x23f76408: add r7, sp, #0x8 0x23f7640a: cbz r4, 0x23f7646c ; __CFTypeCollectionRetain + 104 0x23f7640c: ldrd r0, r1, [r4] 0x23f76410: cmp r0, #0x0 0x23f76412: ubfx r1, r1, #0x8, #0xa 0x23f76416: beq 0x23f7644a ; __CFTypeCollectionRetain + 70 0x23f76418: movw r2, #0xdf70 0x23f7641c: movt r2, #0xe02 0x23f76420: add r2, pc 0x23f76422: ldr r2, [r2] 0x23f76424: cmp r0, r2 0x23f76426: beq 0x23f7644a ; __CFTypeCollectionRetain + 70 0x23f76428: movw r2, #0x4aa4 0x23f7642c: movt r2, #0xe03 0x23f76430: add r2, pc 0x23f76432: ldr.w r5, [r2, r1, lsl #2] 0x23f76436: cmp r0, r5 0x23f76438: beq 0x23f7644a ; __CFTypeCollectionRetain + 70 0x23f7643a: tst.w r0, #0x1 0x23f7643e: beq 0x23f76456 ; __CFTypeCollectionRetain + 82 0x23f76440: mov r0, r4 0x23f76442: blx 0x2400d1e0 ; symbol stub for: +[NSMutableOrderedSet orderedSetWithCapacity:] 0x23f76446: cmp r0, r5 0x23f76448: bne 0x23f76456 ; __CFTypeCollectionRetain + 82 0x23f7644a: mov r0, r4 0x23f7644c: movs r1, #0x0 0x23f7644e: pop.w {r4, r5, r7, lr} 0x23f76452: b.w 0x23eafc38 ; _CFRetain 0x23f76456: movw r0, #0xb93e 0x23f7645a: movt r0, #0xe02 0x23f7645e: add r0, pc 0x23f76460: ldr r1, [r0] 0x23f76462: mov r0, r4 0x23f76464: pop.w {r4, r5, r7, lr} 0x23f76468: b.w 0x2400c0c8 ; objc_msgSend$shim 0x23f7646c: trap -- TRAPPED HERE 0x23f7646e: nop
里面UIApplicationMain码,有趣的是调用[_UIFlippingView layerClass]其崩溃......
0x274ab486: blx 0x27b5b248 ; symbol stub for: roundf$shim 0x274ab48a: movs r5, #0x0 0x274ab48c: movw r0, #0x60f1 0x274ab490: movt r0, #0x0 0x274ab494: add r0, pc 0x274ab496: blx 0x27b595d8 ; symbol stub for: -[UIGravityBehavior _commonInit] 0x274ab49a: movw r0, #0xfa8f 0x274ab49e: movt r0, #0xfff9 0x274ab4a2: add r0, pc 0x274ab4a4: blx 0x27b59068 -- THIS CALL ; symbol stub for: +[_UIFlippingView layerClass] 0x274ab4a8: mov r0, r5 0x274ab4aa: mov r1, r11 0x274ab4ac: blx 0x27b5b248 ; symbol stub for: roundf$shim 0x274ab4b0: movw r1, #0x23e4 0x274ab4b4: movt r1, #0xb12 0x274ab4b8: add r1, pc 0x274ab4ba: ldr r1, [r1] 0x274ab4bc: blx 0x27b5b248 ; symbol stub for: roundf$shim