【发布时间】:2018-12-06 16:01:19
【问题描述】:
我的应用程序无法通过 Apple 审核已有两个多星期了,因为它在发布时崩溃,原因相同:
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 以及其他系统框架是链接的。
我在这里找到了几个答案,建议将具有可选状态的 CoreNFC 框架链接到项目。试过了,没用。
当从任何测试设备上的 TestFlight 安装“失败”构建时,它们都不会崩溃。
有人知道吗?框架应该用绝对路径还是@rpath 导入?
【问题讨论】:
-
你能解决这个问题吗?我目前面临完全相同的问题。
-
@Kai 嘿,请看下面的答案