【问题标题】:dyld: Library not loaded: @rpath/libswiftAVFoundation.dylibdyld:库未加载:@rpath/libswiftAVFoundation.dylib
【发布时间】:2015-12-22 16:09:27
【问题描述】:

我刚刚更新到 Xcode 7 和 swift 2 并修复了过渡带来的错误。我终于得到了要构建的项目,但是在启动屏幕之后我收到一条错误消息:

dyld:库未加载:@rpath/libswiftAVFoundation.dylib 引用自:/var/mobile/Containers/Bundle/Application/...
原因:没有找到合适的图片。发现: /private/var/mobile/Containers/Bundle/Application/.../Frameworks/libswiftAVFoundation.dylib: mmap() errno=1 验证第一页 '/private/var/mobile/Containers/Bundle/Application/.../Frameworks/libswiftAVFoundation.dylib'

我之前在其他框架中看到过此错误,但无法解决我的问题。有没有办法通过在某处添加我的框架来绕过这个?

【问题讨论】:

标签: macos avfoundation xcode7 dyld


【解决方案1】:

下面的类似问题,那里的答案可能会提供一些帮助。 dyld: Library not loaded: @rpath/libswiftCore.dylib

对我来说,唯一有效的解决方案是 @morten-holmgaard 在他的评论中建议的。

我也尝试在构建设置中将“嵌入式内容包含 Swift 代码”标志更改为 true,但没有效果。

【讨论】:

    【解决方案2】:

    尝试清理、构建然后运行项目。为我工作。

    【讨论】:

    • 对我不起作用,因为 Swifty.json 存在类似问题 :(
    • 为我工作。自从我的证书被吊销后,我就遇到了这个问题。现在好了。
    • 非常感谢您的帮助!我刚刚更新了我的 iOS 开发证书,我正面临这个令人沮丧的错误。令人难以置信的是,xcode 的错误检查起来并不直观......
    • 花了几个小时在 Xcode 10.2 中尝试不同的解决方案后,都没有奏效。但是在 Xcode 10.1 中运行该项目并且它可以工作(始终将 Swift 标准库嵌入到是)。在寻找解决方案时,我读到有人说问题出在 Swift 编译器中,可能在 10.2 中存在问题。
    【解决方案3】:

    这可能是证书的问题。前往 Apple 开发者会员中心,确保您在分发配置文件中设置了“组织单位”

    还可以查看日志中的文本 deny-mmap,这可能会对您有所帮助。

    我在使用 Apple Watch 的 Xamarin 应用程序时遇到了这个问题。主应用程序和 Mono 框架已签名并正常工作,但由于 dyld 错误,未加载 Watchkit Extension。

    【讨论】:

      【解决方案4】:

      当标记为正确的答案对我不起作用时,我将以下内容添加到 “构建设置 > 链接 > 运行路径搜索路径”

      @executable_path/Frameworks
      

      【讨论】:

        【解决方案5】:

        以上解决方案都不适合我。最后的问题是我的签名证书的信任设置。他们被设置为“始终信任”,这似乎导致了这个问题。将其切换回“使用系统默认值”为我修复了它。

        就我而言,我最初更改了证书信任设置,因为我在远程构建时遇到了问题。通过将信任设置切换为全局“使用系统默认值”和 SSL 的“始终允许”,我能够解决这两个问题。

        希望这对某人有所帮助。

        【讨论】:

          【解决方案6】:

          更改构建设置 -> “嵌入式内容包含 Swift 代码”标志为 true/yes 对我有用。

          【讨论】:

            【解决方案7】:

            对于我在 OSX (MailCore2) 上使用的框架,我必须设置我的目标

            “构建设置>链接>运行路径搜索路径”到@loader_path

            我在这里找到的解决方案:

            http://www.dribin.org/dave/blog/archives/2009/11/15/rpath/

            【讨论】:

            • 这篇文章很有帮助,谢谢!这里的其他解决方案都没有为我做这件事,但我终于可以通过将 @rpath 添加到 Runpath Search Paths 链接器设置来让它工作。
            【解决方案8】:

            在 Xcode 8 中更新构建设置

            始终嵌入 Swift 标准库

            为我工作。

            【讨论】:

            • 我认为这是一个可能的正确答案。来自苹果文档。 “如果您正在构建的应用程序不使用 Swift 但嵌入了框架等内容,那么 Xcode 将不会在您的应用程序中包含这些库。”参考:developer.apple.com/library/content/qa/qa1881/_index.html
            • 我正在尝试将旧的 Objective-C 项目(部分)转换为 swift。将“始终嵌入 swift 标准库”设置为 yes 为我修复了它。
            【解决方案9】:

            我在尝试删除我的配置文件和应用证书时遇到了这个问题。然后我所有的快速项目都有这个问题。将近一个小时后,我发现只需通过以下方式清理项目:

            点击产品 -> 清洁(或CMD-Shift-K

            并且项目将正常运行。

            【讨论】:

              【解决方案10】:

              我在使用 Xcode 9 时遇到了这个问题。这对我有用:

              Project > Build Settings > Swift Compiler - Search Path: Setting "Import Paths"$(PROJECT_DIR)(递归)

              【讨论】:

              • 在 xcode 10 中遇到了这个问题,它也能正常工作!干得好!
              【解决方案11】:

              对此有两种解决方案:

              解决方案 1:

              1. Quit Xcode (cmd + Q)
              2. 打开并Clean Project (cmd + shift + k)
              3. 现在,运行应该可以正常工作的项目

              解决方案 2:

              控制台日志本身指出 动态链接编辑器 (dyld) 无法加载库。 为了解决此问题,请执行以下步骤:

              1. 选择Project -> Build settings ->
              2. 转到Build options 标签 -> 选择‘Always Embed Swift Standard Libraries’ 到‘Yes
              3. 现在,运行应该可以正常工作的项目

              【讨论】:

                猜你喜欢
                • 2018-03-26
                • 2016-05-24
                • 2017-04-20
                • 2016-05-29
                • 2016-10-27
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多