【发布时间】:2018-10-16 08:15:56
【问题描述】:
在首次使用 Xcode 10 为应用程序部署更新(无重大更改、错误修复、迁移到 Swift 4.2)后,该应用程序开始在运行 iOS 9.2.1 的设备上到处崩溃(崩溃报告根本不具体)或更低(在模拟器应用程序上工作得很好,没有任何问题)。
我知道如果您的图像具有 P3 色域(或每分量 16 位编码),则可能会发生这种情况,但情况并非如此,因为我检查了所有图像(以及来自 Pod 的图像),并且有没有。
出现次数最多的崩溃是:
Crashed: com.apple.main-thread
EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x0000000100045ad0
0 libobjc.A.dylib 0x19905dbd0 objc_msgSend + 16
1 UIKit 0x18971bfb4 -[UINibStringIDTable lookupKey:identifier:] + 132
2 UIKit 0x189717c04 -[UINibDecoder decodeObjectForKey:] + 48
3 UIKit 0x1895f99e4 -[UIProxyObject initWithCoder:] + 104
4 UIKit 0x189717fdc UINibDecoderDecodeObjectForValue + 672
5 UIKit 0x189717d24 -[UINibDecoder decodeObjectForKey:] + 336
6 UIKit 0x1895f9c38 -[UIRuntimeConnection initWithCoder:] + 188
7 UIKit 0x1895fa3d8 -[UIRuntimeEventConnection initWithCoder:] + 68
8 UIKit 0x189717fdc UINibDecoderDecodeObjectForValue + 672
9 UIKit 0x189718154 UINibDecoderDecodeObjectForValue + 1048
10 UIKit 0x189717d24 -[UINibDecoder decodeObjectForKey:] + 336
11 UIKit 0x1895f8f6c -[UINib instantiateWithOwner:options:] + 1220
12 *app* 0x1001405c8 CustomView.viewFromNibForClass() (CustomView.swift:52)
13 *app* 0x100140890 CustomViewinit(_:) (CustomView.swift:36)
自定义视图是从XIB 文件加载文件的类,其所有者为自身。
但在部署此版本之前,我没有对此类或XIB 文件进行任何更改(此代码已投入生产 1 年或更长时间,并且在 iOS > 9.0 上运行没有任何问题)。
但是在应用程序的各个部分都有更多的崩溃。 那么可能是什么问题呢?
【问题讨论】:
-
是否有可用的错误消息,例如
does not respond to selector或其他? -
崩溃日志是否显示
EXC_BAD_ACCESS KERN_INVALID_ADDRESS? -
您是否尝试在模拟器上以发布模式运行该应用程序?您将无法查看所有日志,但也许您可以重现崩溃。
-
@danypata 是的,我尝试在发布模式下运行它,应用程序运行正常。
-
毫无疑问,Xcode 10 中的资产目录似乎存在向后兼容性问题。您检查了吗:stackoverflow.com/questions/52364231/…?
标签: ios xcode uikit xib xcode10