Cocoapod RealmSwift运行时错误:`dyld:未加载库:@rpath / Realm.framework / Realm`

时间:2017-09-16 15:48:10

标签: xcode realm cocoapods dyld

我有一个曾经在设备上正常工作的项目但是在我重新安装cocoapods后它开始失败了。奇怪的是我在模拟器中运行时没有遇到问题。我还能够用一个全新的项目复制同样的问题。确切的错误是:

dyld: Library not loaded: @rpath/Realm.framework/Realm
  Referenced from: /var/containers/Bundle/Application/34C8D121-9724-4C73-9B62-6F8932E5BFD7/myapp.app/myapp
  Reason: no suitable image found.  Did find:
    /private/var/containers/Bundle/Application/34C8D121-9724-4C73-9B62-6F8932E5BFD7/myapp.app/Frameworks/Realm.framework/Realm: code signing blocked mmap() of '/private/var/containers/Bundle/Application/34C8D121-9724-4C73-9B62-6F8932E5BFD7/myapp.app/Frameworks/Realm.framework/Realm'
    /private/var/containers/Bundle/Application/34C8D121-9724-4C73-9B62-6F8932E5BFD7/myapp.app/Frameworks/Realm.framework/Realm: code signing blocked mmap() of '/private/var/containers/Bundle/Application/34C8D121-9724-4C73-9B62-6F8932E5BFD7/myapp.app/Frameworks/Realm.framework/Realm'
    /private/var/containers/Bundle/Application/34C8D121-9724-4C73-9B62-6F8932E5BFD7/myapp.app/Frameworks/Realm.framework/Realm: code signing blocked mmap() of '/private/var/containers/Bundle/Application/34C8D121-9724-4C73-9B62-6F8932E5BFD7/myapp.app/Frameworks/Realm.framework/Realm'

我尝试过:

  • 删除派生数据,清理Xcode项目,重启xcode
  • 删除设备上的应用,重新插入usb
  • 清除了cocoapod缓存
  • 更新到最新的RealmSwift

对于想要尝试的人,这是一个示例项目:https://github.com/schystz/TestRealmSwift

2 个答案:

答案 0 :(得分:1)

显然,问题的原因是Xcode自动创建的开发证书。我手动创建证书(即上传我的csr,下载并添加到钥匙串)后,问题得以解决。我不确定为什么Xcode会像这样导致自动签名以前工作......

答案 1 :(得分:0)

我在Xcode 11.4中遇到了同样的问题,并通过将pod文件编辑为以下内容来修复了该问题:

platform :ios, '13.0'

target 'YourTarget' do
  #use_frameworks! -> !!! very important

  pod 'Realm', :modular_headers => true
  pod 'RealmSwift', :modular_headers => true

end