应用程序在设备 运行 iOS 9.2.1 或更低版本(不是 P3 图像)上崩溃

App crashes on devices running iOS 9.2.1 or lower (not P3 images)

首次使用 Xcode 10 为应用程序部署更新(无重大更改、错误修复、迁移到 Swift 4.2)后,应用程序开始到处崩溃(崩溃报告不具体)完全)在 运行 iOS 9.2.1 或更低版本的设备上(在 Simulator 应用程序上工作正常,没有任何问题)。

我知道如果您的图像具有 P3 色域(或每分量 16 位编码),就会发生这种情况,但事实并非如此,因为我检查了我所有的图像(以及来自 [=31= 的图像) ]), 还有none.

发生次数最多的崩溃是:

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)

自定义视图是 class,它从 XIB 文件加载文件,所有者为自己。 但是在部署这个版本之前我没有对这个 class 或 XIB 文件做任何更改(这个代码已经投入生产 1 年或更长时间并且在 iOS > 9.0 上没有任何问题地工作) .

但是应用程序的各个部分都有更多的崩溃。 那么可能是什么问题?

这是Xcode10中资产目录的向后兼容性问题,已在Xcode10.1 beta 2中修复