为iOS创建并提交给Appstoreconnect的我的应用因在审核过程中启动时崩溃而被拒绝。
我的应用程序使用 CoreNFC框架。因此,此应用程序与具有iOS 11或更高版本的iPhone 7、8,X ..设备兼容。我在物理设备上对App进行了测试,效果很好。在模拟器上也可以正常启动(NFC功能不起作用,但应用程序没有崩溃)。
崩溃日志包含的信息使我可以看到CoreNFC框架在启动时未加载:
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Description: DYLD, Library not loaded: /System/Library/Frameworks/CoreNFC.framework/CoreNFC | Referenced from: /var/containers/Bundle/Application/223F146A-DF69-43CC-89A1-CFDF323ACB45/SharpEnd NFC Scanner.app/SharpEnd NFC Scanner | Reason: image not found
我试图将CoreNFC框架嵌入到应用程序的“常规”选项卡-“嵌入式二进制文件”中,但这会给我带来构建错误,因此我不确定是否有可能。
所以我的问题是:
任何帮助或解决方法将不胜感激。
答案 0 :(得分:12)
转到 项目设置->常规->链接的框架和库
添加状态为可选的CoreNFC.framework
答案 1 :(得分:4)
我的NFC阅读器遇到了同样的问题。看来iOS12不包含适用于旧设备(iPhone 6s,SE和旧版本)的CoreNFC。
我设法通过设备检查来修复它。如果旧设备试图打开该应用,我会显示一个完全不同的故事板,并显示一条错误消息,表明该设备不受支持。
要查看示例,以下是该应用程序的链接:https://itunes.apple.com/us/app/nfc-reader-for-iphone/id1249686798
答案 2 :(得分:1)
就我而言,我们不能只限于具有NFC的设备,因为我们上传了没有该要求的应用程序的原始版本,并且Apple不允许您为不存在该版本的应用程序的新版本添加新的限制。以前的版本。
在项目设置->常规->链接的框架和库下,使用CoreNFC.framework上载新版本,同时键入此内容,并在知道它是否起作用后会立即更新此注释。
edit 有效。 :)