我有一个仅在调试配置中使用 SimulatorStatusMagic 的项目。所以我的 Podfile 有以下行:
pod 'SimulatorStatusMagic', :configurations => ['Debug']
该应用程序在模拟器中运行良好,但当我为我的设备编译或上传到 iTunes 时,出现以下错误:
Dyld Message: Library not loaded: @rpath/SimulatorStatusMagic.framework/SimulatorStatusMagic
Referenced from: /var/mobile/Containers/Bundle/Application/1E47674A-D9AB-4390-B365-85C1D9035624/
我做错了什么?
最佳答案
我找到了解决问题的方法。在 AppDelegate.swift 中,我有以下代码:
if (Helper.isUITest) {
UIView.setAnimationsEnabled(false)
SDStatusBarManager.sharedInstance().enableOverrides()
}
即使 Helper.isUITest 总是为 Release 版本返回 false
,编译器并不知道这一点并且仍然发出元数据/代码以动态加载 SimulatorStatusMagic 框架。
将上述代码包装在 #if DEBUG
中解决了该问题。
#if DEBUG
if (Helper.isUITest) {
UIView.setAnimationsEnabled(false)
SDStatusBarManager.sharedInstance().enableOverrides()
}
#endif
关于ios - 发布版本上的 Dyld 库未加载错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36179971/