dyld:未加载库:@ rpath/libswiftAVFoundation.dylib原因:未找到图像

dre*_*ter 10 dyld ios swift xcode9

启动我的应用程序时出现此错误.我正在MacOS High Sierra 10.13上的Xcode 9.0(9A235)下构建.我也尝试使用相同的结果在Xcode 8.3.3下构建.该项目通常是Objective C,但框架YouAppi.framework是Swift:

dyld: Library not loaded: @rpath/libswiftAVFoundation.dylib
  Referenced from: /private/var/containers/Bundle/Application/7D3E2815-4CA3-4258-AEF6-C0626055A8F2/dingbats.app/Frameworks/YouAppi.framework/YouAppi
  Reason: image not found
Run Code Online (Sandbox Code Playgroud)

乍一看,这似乎是这个问题的重复,但错误是不同的.在另一个问题中,原因是找不到合适的图像,其中我的图像未找到.

我尝试过以下方法来解决:

  1. 删除并重新添加框架
  2. 清洁和选项+清理项目
  3. 删除〜/ Library/Developer/Xcode/DerivedData文件夹
  4. 构建设置 - >始终嵌入Swift标准库=是
  5. 构建设置 - >剥离Swift符号=否
  6. 构建设置 - >链接 - >运行路径搜索路径 -
    • 添加了@loader_path
    • 添加了@rpath
    • 添加了@ executable_path/Frameworks
  7. 检查了Trust设置为Use System Defaults的开发人员和分发证书
  8. 检查我是否安装了最新的WWDR和G2证书
  9. 检查上述证书的有效性
  10. 将YouAppi.framework移动到Frameworks /文件夹中.(它最初位于"第三方框架"文件夹中.)
  11. 试图将libswiftAVFoundation.dylib复制到我项目的Frameworks文件夹中

我最近没有搬到新电脑.

我在运行iOS 11.0.23(15A432)的iPhone 7+以及运行iOS 9.3.5(13G36)的iPad Mini 1上也有相同的结果.

还试过这个:

rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache"
rm -rf ~/Library/Developer/Xcode/DerivedData
rm -rf ~/Library/Caches/com.apple.dt.Xcode
Run Code Online (Sandbox Code Playgroud)

想法?

dre*_*ter 21

当在非Swift项目中包含使用Swift构建的框架时,需要将Swift标准库复制到最终输出中.Xcode有一个复选框(原始问题中的#4),但显然有一个错误,在某些情况下,它实际上并没有发生.

我在某个地方看到了另一个线程,当你有一个用Swift构建的框架时会发生这种情况,Swift是为多种架构而构建的,例如armv7和arm64.(见这里的主题.)

无论如何,解决方案是手动添加它们.您要查找的文件位于/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos中.

我做的是这样的:

步骤1.打开终端并键入此内容,将库复制到主目录中的新文件夹swiftStdLib.

cd /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos
mkdir ~/swiftStdLib
cp libswift*.dylib ~/swiftStdLib
Run Code Online (Sandbox Code Playgroud)

步骤2.在Xcode中,转到General - > Embedded Binaries,然后点击+添加.单击Add Other,然后导航到您的主文件夹/ swiftStdLib.选择全部并按Enter键.

第3步.清理并构建项目.

希望这有助于某人.

  • 谢谢你回复@drewster,我发现了问题.实际上是Swift Compiler问题与此无关.所以它解决了.. (2认同)
  • 太棒了,救了我的一天!谢谢 :) (2认同)