Apple Review – 未加载库:CoreNFC:未找到图像

Apple Review – Library not loaded: CoreNFC: Image not found

我的应用程序已经超过两周无法通过 Apple Review,因为它在发布时崩溃,原因与他们相同:

Termination Description: DYLD, Library not loaded: /System/Library/Frameworks/CoreNFC.framework/CoreNFC | Referenced from: /var/containers/Bundle/Application/8DF8F26E-E793-481C-B387-6A64079C8E65/XXX.app/XXX | Reason: image not found

不幸的是,我看不到他们使用的是什么设备,只知道它运行 iOS 12.1

如果我对二进制文件执行 otool -v -L,我会看到

...
/System/Library/Frameworks/Foundation.framework/Foundation (compatibility version 300.0.0, current version 1560.10.0)
/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation (compatibility version 150.0.0, current version 1560.10.0)
/System/Library/Frameworks/CoreNFC.framework/CoreNFC (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/UIKit.framework/UIKit (compatibility version 1.0.0, current version 61000.0.0) 
...

所以 CoreNFC linked 以及其他系统框架。

我在这里找到了几个答案,建议 link CoreNFC 框架具有项目的可选状态。试过了,没有帮助。

None 的 "failing" 构建在从任何测试设备上的 TestFlight 安装时崩溃。

有人知道吗?框架应该用absolute还是@rpath导入?

显然问题是(有时仍然是)Apple Review 团队正在使用 iPads 来测试需要支持 NFC 的设备的应用程序。我发送了开发者支持请求,Apple 开发人员告诉我该应用程序的权利是正确的并且:

I am discussing this with App Review as I want to rule out the possibility of some transient condition in the review environment.

之后我提交了另一个版本的应用程序,它再次被拒绝,我指出我的应用程序不应该被测试iPad,应用程序被批准了。

因此,对于遇到相同问题的任何人,解决方案可能是询问他们使用哪种设备进行测试。