在将Swift类添加到旧的Xcode项目后,我得到这个错误。

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

我怎样才能使项目再次运行?


当前回答

如果在Objective-C项目转换为开始使用Swift的过程中出现了错误,就会发生此错误。问题是链接器构建设置从未正确配置,所以你必须手动完成。寻找Runpath Search Paths构建设置并将其设置为:

$(inherited) @executable_path/Frameworks

编辑:我还应该补充一点,最近有大量的错误完全是由其他原因引起的——苹果对Swift本身进行了更改,可能从Xcode 6.1或6.1.1开始。唯一的解决方案似乎是退出Xcode,在Keychain Access中销毁你的证书,到会员中心删除所有证书和配置文件(除了应用商店中的配置文件-你不能删除它们),然后从头开始整个证书请求过程。

其他回答

我在我的项目中添加了SCLAlertView pod,后来删除了它。我没有从我的视图控制器中删除导入SCLAlertView。理想情况下,它应该给出一个编译时错误,但它给出了一个运行时错误,提到dyld: Library not loaded: @rpath/SCLAlertView.framework。我从我的视图控制器中删除了导入SCLAlertView,构建它,它没有给出错误。所以在我的情况下,我试图导入一个没有找到框架的库。删除这些引用将解决您的问题。

我的项目是一个Swift项目,有一些Objective-C类。 我用旧的inHouse(企业)证书签名时也遇到了同样的问题。

以下步骤为我解决了这个问题。

创建并使用一个新的证书和移动供应。 (参考AIRSIGN博客) 将Runpath Search Paths构建设置设置为:$(inherited) @executable_path/Frameworks。 (参考马特的回答)

方案五:

在我的案例中,accws的答案中提到的所有解决方案都非常有用,但没有一个是有效的。我通过在项目目标的“General”部分的“Embedded Binaries”部分中添加我的swift库来解决我的问题。也许这是因为我在我的工作区中包含了我的swift框架?不管它现在编译什么!准备好,斯威夫特,我来了!

同样的问题,对我来说,是Crashlytics/Fabric/Beta/Twitter/不管他们自称上传了一个缺少嵌入式框架的二进制文件。如果我做了一个存档,然后以标准的方式导出一个企业版,它们就很有魅力。

尝试按住Alt键,然后进入产品->清洁构建文件夹…

希望它能帮助到一些人。