M1:在带有 M1 芯片和 Big Sur 的 Mac 上使用模拟器 iOS 13 或更早版本和 Xcode 12.3 崩溃

mer*_*nix 5 xcode objective-c ios arm64 apple-m1

我有这个奇怪的问题:

  • Xcode 12.3
  • macOS 11.1 大苏尔
  • iOS 模拟器 < 14

我添加了建议的“排除架构” arm64以让我的项目在模拟器 iOS 14 上运行

但是如果我在模拟器上使用旧的 iOS 似乎可以工作,在编译阶段没有警告或错误

这一切似乎都有效,但是如果我运行一些没问题的代码行(它们在以前的 mac 中运行,并且仍然在 iOS 14 模拟器上运行),它只会崩溃

例如:

NSData *encodedString = [@"a" dataUsingEncoding:NSUTF8StringEncoding];
NSAttributedString *htmlString = [[NSAttributedString alloc] initWithData:encodedString options:@{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType, NSCharacterEncodingDocumentAttribute: [NSNumber numberWithInt:NSUTF8StringEncoding]} documentAttributes:nil error:nil];
Run Code Online (Sandbox Code Playgroud)

代码是正确的,没有任何问题,没有警告,否则我注意到其他方法也有类似的崩溃

有人遇到过类似的崩溃吗?有人解决了吗?

PS,如果我删除“排除”arm64,我将无法在 iOS 14 上运行,但无论如何仍然在 iOS 13 上崩溃