dyld:未加载库:在iphone设备上运行时出错

时间:2016-10-04 22:32:11

标签: ios xcode

最近我将xcode升级到8.0。由于我在加载以前的项目时使用的是swift2,因此xcode会提示一个对话框将我当前的代码迁移到swift2.3。这样做之后,我的项目无法在iphone设备上运行。它在模拟器上工作正常。以下是我在设备上运行时遇到的错误。

dyld: Library not loaded: @rpath/Alamofire.framework/Alamofire
  Referenced from: /var/containers/Bundle/Application/29C6F6B8-4CFB-4D1D-864E-45FF6AB13971/cooltoo_go2nurse_ios.app/cooltoo_go2nurse_ios
  Reason: no suitable image found.  Did find:
    /private/var/containers/Bundle/Application/29C6F6B8-4CFB-4D1D-864E-45FF6AB13971/cooltoo_go2nurse_ios.app/Frameworks/Alamofire.framework/Alamofire: code signing blocked mmap() of '/private/var/containers/Bundle/Application/29C6F6B8-4CFB-4D1D-864E-45FF6AB13971/cooltoo_go2nurse_ios.app/Frameworks/Alamofire.framework/Alamofire

我搜索了类似的错误并尝试了以下建议,但没有一个能解决我的问题。

  1. 在构建阶段,我添加了#34;复制文件"阶段然后添加Alamofire.framework与Frameworks作为目的地,然后检查'代码签名复制'。

  2. 在构建设置中的运行路径搜索路径上设置$(继承)@ executable_path / Frameworks。

  3. 在常规标签中,在嵌入式二进制文件中添加Alamofire.framework。

  4. 以下是我的Podfile:

    # Uncomment this line to define a global platform for your project
    platform :ios, '8.0'
    # Uncomment this line if you're using Swift
    # use_frameworks!
    
    
    target 'cooltoo_go2nurse_ios' do
        pod 'IQKeyboardManager', '4.0.5'
        pod 'IQKeyboardManagerSwift', '4.0.5'
        pod 'MJRefresh'
        pod 'SDWebImage', '~>3.7'
        pod 'MBProgressHUD', '~> 0.9.2'
        pod 'Alamofire', '3.5.0'
        pod 'CryptoSwift', :git => "https://github.com/krzyzanowskim/CryptoSwift", :branch => "swift2"
        pod 'Pingpp', '~> 2.1.4'
        use_frameworks!
    end
    
    
    target 'cooltoo_go2nurse_iosTests' do
    
    
    end
    
    
    target 'cooltoo_go2nurse_iosUITests' do
    
    
    end
    
    
    post_install do |installer|
        installer.pods_project.targets.each do |target|
            target.build_configurations.each do |config|
                config.build_settings['SWIFT_VERSION'] = '2.3'
            end
        end
    end
    

    有谁知道如何解决这个问题?

    由于

1 个答案:

答案 0 :(得分:0)

我是第二个。这是我目前所知道的。似乎有签署问题。我的问题之前是一个非常缓慢的COPY PODS脚本,看着控制台我看到了整个地方的签名错误。我在计算机上登录了一个新账户,并且能够让事情再次正常运行。一旦我重新登录原始帐户,一切都戛然而止。我试过爆破我的钥匙链,重新安装一切可以想象的东西,到目前为止一切都没有。我是8.1 GM,就是这一切都开始了。

---编辑10/26/16

我确定这是我的签名证书的损坏,加上钥匙串的错误,或者对系统注册的钥匙串的更改。为了解决这个问题,我做了一个干净的macOS安装,并通过iCloud而不是从时间机器备份恢复了我的文件。

我仍然不知道是什么造成的,但我知道即使我的钥匙串已完全删除,并且我的计算机上没有Xcode正在安装并尝试在设备上运行的证书。最终,错误意味着代码没有正确签名,因此它不允许复制和运行库。