dyld:未加载库:@rpath/libswiftAVFoundation.dylib

dyld: Library not loaded: @rpath/libswiftAVFoundation.dylib

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

dyld: Library not loaded: @rpath/libswiftAVFoundation.dylib Referenced from: /var/mobile/Containers/Bundle/Application/...
Reason: no suitable image found. Did find: /private/var/mobile/Containers/Bundle/Application/.../Frameworks/libswiftAVFoundation.dylib: mmap() errno=1 validating first page of '/private/var/mobile/Containers/Bundle/Application/.../Frameworks/libswiftAVFoundation.dylib'

我以前也遇到过这个错误,但是用其他框架,并不能解决我的问题。有没有办法通过在某处添加我的框架来绕过这个?

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

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

我也曾尝试在构建设置中将 "Embedded Content Contains Swift Code" 标志更改为 true,但没有效果。

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

这可能是证书的问题。前往 Apple 开发者会员中心,确保您的分发配置文件中设置了 "Organizational Unit"

同时查看日志中的文本 deny-mmap,这可能会对您有进一步的帮助。

我 运行 使用 Apple Watch 的 Xamarin 应用程序解决了这个问题。主应用程序和 Mono 框架已签名并正常工作,但由于 dyld 错误,Watchkit 扩展未加载。

当标记为正确的答案对我不起作用时,我将以下内容添加到 "Build Settings > Linking > Runpath Search Paths":

@executable_path/Frameworks

None 以上解决方案对我有用。最后的问题是我的签名证书的信任设置。它们被设置为 "Always Trust",这似乎导致了这个问题。将它切换回来 "Use System Defaults" 为我修复了它。

就我而言,我最初更改了证书信任设置,因为我在远程构建时遇到了问题。我能够通过将信任设置全局切换为 "Use System Defaults" 并将 SSL 切换为 "Always Allow" 来解决这两个问题。

希望这对某人有所帮助。

将构建设置 -> "Embedded Content Contains Swift Code" 标志更改为 true/yes 对我有用。

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

"Build Settings > Linking > Runpath Search Paths" 到@loader_path

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

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

在 Xcode 8 中更新构建设置

总是嵌入Swift标准库

对我有用。

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

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

项目将 运行 正常。

我 运行 通过 Xcode 9 解决了这个问题。这对我有用:

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

有两种解决方法:

解决方案一:

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

方案二:

控制台日志本身指出 动态 link 编辑器 (dyld) 无法加载库。 为了按照以下步骤解决此问题:

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