我正在使用Xcode 7.2和Swift2。部署目标是ios 9.0

这个问题与之前提出的许多问题类似,但是我的问题并不普遍,或者没有找到任何参考。

我为iOS创建了一个可可触摸框架,该框架具有混合代码(包括swift和objC),并且包含了Cocoapods中的一些库。 (FMDB,ObjectMapper,HockeySDK)

我在同一项目中有另一个目标,该目标有一个示例应用程序,其中包含我的框架。现在,当我尝试在设备上运行它时,安装后,它立即向我抛出此运行时错误

dyld:库未加载:@ rpath / FMDB.framework / FMDB引用
从:
/ private / var / mobile /容器/捆绑/应用程序/0A768355-B7F9-4B1C-AE0D-D2ED57A7E1D6/SwiftExample.app/Frameworks/MyFramework.framework/MyFramework
原因:找不到图像。

我已经尝试了所有这些操作:

  • 重新启动Xcode,iPhone,计算机
  • 清理与构建,项目
  • 运行路径搜索路径为'$(继承)@ executable_path / Frameworks'
  • 嵌入式内容包含Swift代码为“是”

  • 我的PodFile具有以下desc:
    source 'https://github.com/CocoaPods/Specs.git'
    use_frameworks!
    
    platform :ios, '9.0'
    
    xcodeproj 'MyFramework'
    
    target :'MyFramework' do
        pod 'HockeySDK', '~> 3.8.4'
        pod 'FMDB'
        pod 'OpenSSL-iOS', '~> 1.0'
        pod 'GoogleAnalytics'
        pod 'ObjectMapper', '~> 1.0'
    end
    

    我有什么想念的或者做错了吗?

    最佳答案

    今天早上我遇到了同样的问题。我通过以下方法解决了这一问题:(1)以静态链接而非动态链接的方式编译FMDB框架; (2)在我的应用程序的“框架”部分中将链接添加到“libsqlite3.dylib”库。

    为此,请执行以下操作(1):在XCode中,打开FMDB框架项目,然后在“项目”编辑器中,在框架的“构建设置”选项卡下的“链接”子部分中,将“Mach-O类型”更改为“静态库”,然后重新构建框架。

    要执行(2),再次在XCode中,打开您的应用程序项目,然后在项目编辑器中,该应用程序的“常规”选项卡下的“链接的框架和库”小节中,添加“libsqlite3.dylib”。

    关于ios - dyld:库未加载:@ rpath/FMDB.framework/FMDB,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34394146/

    10-12 14:29