gpt4 book ai didi

自 SDK 8 更新以来,iOS 8 UIApplicationMain 崩溃

转载 作者:行者123 更新时间:2023-11-29 10:38:04 26 4
gpt4 key购买 nike

自从我将 Xcode 更新到 6.0.1 并将 iOS SDK 更新到 8.0 后,我的应用程序不再在设备上运行(运行 iOS 8 ofc)。但它在模拟器中完美运行。

在对委托(delegate)进行任何调用之前,应用程序在 UIApplicationMain 中崩溃。CFTypeCollectionRetain 中的值或键似乎为空。

我试过了

  • 重新创建证书/配置文件。
  • 使用/不使用 ARC 进行重建。
  • 测试了 armv7 和 arm64 版本。
  • Xcode 模板(游戏)应用程序编译和运行没有问题。

注意事项

  • 几乎所有代码都是 C++,它是一个游戏引擎并且使用最少的操作系统服务。
  • 一些全局构造函数(在 main 之前执行)正在使用 pthreads 原语。
  • 没有创建 Root View Controller (遗留原因),而是创建了一个使用 CAEAGLLayer 来“启用”GLES 的自定义 View ...但是由于程序没有达到创建它们的地步,所以我忽略了它暂时。
  • 在 UIApplicationMain 中有一个对 [_UIFlippingView layerClass] 的调用崩溃了;但在 Google 上找不到有关 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

最佳答案

能够解决问题!!
显然,Xcode 有一个坏主意,即自动生成与“产品名称”不匹配的“产品模块名称”设置,因此在设备上运行时导致应用程序崩溃。这是令人难以置信的糟糕,但恕我直言,对 Xcode 的期望...

关于自 SDK 8 更新以来,iOS 8 UIApplicationMain 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25960255/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com