ios - 发布版本上的 Dyld 库未加载错误

标签 ios xcode swift cocoapods

我有一个仅在调试配置中使用 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/

相关文章:

swift - Xcode:如何在 Storyboard上隐藏警告?

c++ - LLDB 有时显示 vector 数据,有时不显示

arrays - 在 swift 3.0 中排序

ios - 从我的应用程序链接到照片应用程序/相机胶卷

iphone - LocalStorage 不适用于 iPad 和 iPhone

ios - 双击CollectionViewCell时如何进行事件?

xcode - 如何使用XCode的mergetool解决冲突?

ios - 从 Parse 中的指针访问另一个类列

arrays - 在 Swift 中将多维数组保存为 userdefaults

iphone - 动态 UIScrollView 中的动态 UITextView - iOS