启动我的应用后出现此错误。我正在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
乍一看,这似乎是this question的副本,但错误在那一个不同。在另一个问题中,原因是找不到合适的图像,其中我的图片未找到。
我已尝试以下方法解决:
我最近没有搬到新电脑。
我在运行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
想法?
答案 0 :(得分:17)
当在非Swift项目中包含使用Swift构建的框架时,需要将Swift标准库复制到最终输出中。 Xcode有一个复选框(原始问题中的#4 ),但显然有一个错误,在某些情况下,它实际上不会发生。
我在某个地方看到了另一个线程,当你有一个使用Swift构建的框架时会发生这种情况,Swift是为多种架构而构建的,例如armv7和arm64。 (见线程here。)
无论如何,解决方案是手动添加它们。您要查找的文件位于 /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
步骤2.在Xcode中,转到常规 - > 嵌入式二进制文件,然后点击 + 进行添加。点击添加其他,然后导航到您的主文件夹/ swiftStdLib 。选择全部并按Enter键。
步骤3.清理并构建项目。
希望这有助于某人。
答案 1 :(得分:4)
在添加框架之前,请尝试以下操作:
我删除了xcode9中的派生数据-对我有用
请参阅下面的链接:如何从派生数据中删除内容
答案 2 :(得分:0)
从Keychain Access中删除旧的开发人员证书对我有帮助。
答案 3 :(得分:0)
要遵循的简单步骤
项目->构建阶段->嵌入框架-> +。
它将对所有人都适用。为每个人提供完美的解决方案。
答案 4 :(得分:0)
有时候清理项目似乎对我来说很有效。当我使用swfit / objc / c ++项目组合时,我注意到这种情况发生的频率更高。