启动我的应用时出现此错误。我正在MacOS High Sierra 10.13上的Xcode 9.0(9A235)下构建。我也尝试在Xcode 8.3.3下进行构建,结果相同。该项目通常是目标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
乍一看,这似乎是该问题的重复,但该错误有所不同。在另一个问题中,原因是找不到合适的图像,而我的是找不到图像。
我尝试了以下解决方法:
我最近没有搬到新电脑上。
在运行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
有想法吗?
在非Swift项目中包含使用Swift构建的框架时,需要将Swift标准库复制到最终输出中。Xcode对此有一个复选框(原始问题中的#4),但是显然存在一个错误,在某些情况下,它实际上并未发生。
我在某个地方看到另一个线程说,当您有一个使用Swift构建的框架时,会发生这种情况,该框架是为多种架构(例如armv7和arm64)构建的。(请参阅此处的线程。)
无论如何,解决方案是手动添加它们。您要查找的文件位于/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos中。
我所做的是:
步骤1.打开Terminal并输入以下内容,将库复制到主目录中的新文件夹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.清理并构建项目。
希望这对某人有帮助。
XCODE 11的更新:
在Xcode 11.3中,Swift库文件夹已更改为包括主要的Swift版本号。最初的问题基于Xcode 9,因此它可能早于Xcode 11.3进行了更改,但我没有检查。
新文件夹是/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.0/iphoneos。
因此,执行上面的步骤1即可:
cd /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.0/iphoneos
mkdir ~/swiftStdLib
cp libswift*.dylib ~/swiftStdLib
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句