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

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

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


当前回答

我在这个问题上研究了很久。有几个原因导致这个问题。

如果你在objective - C项目中使用Swift代码/库,你应该尝试解决方案1-2-3

如果你正面临这个问题,一个新的Swift项目解决方案4将最适合你。

解决方案1:

重启Xcode,然后重启电脑和iPhone

解决方案2:

转到项目构建设置,并设置始终嵌入Swift标准库(以前的嵌入式内容包含Swift代码)标志为YES

解决方案3:

进入项目构建设置,将@executable_path/Frameworks添加到Runpath搜索路径选项

解决方案4:

如果以上都不起作用,那么应该这样做。正如AirSign的帖子中提到的,苹果似乎是忍者补丁证书

At InHouse证书

主题:UID=269J2W3P2L, CN=iPhone分布:公司名称,O=公司名称,C=FR

他们添加了一个名为OU的新字段

主题:UID=269J2W3P2L, CN=iPhone分布:公司名称,OU=269J2W3P2L, O=公司名称,C=FR

因此,您应该重新创建证书和供应

其他回答

重启Xcode就解决了这个问题。

解决方案6:

在我们的案例中,企业分销证书已被撤销。生成一个新的证书并更新配置配置文件解决了这个问题。

(这个错误似乎有很多不同的原因。希望这能帮助到一些人。)

如果在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,构建它,它没有给出错误。所以在我的情况下,我试图导入一个没有找到框架的库。删除这些引用将解决您的问题。

通常,如果您在构建阶段中将这个库添加到“复制文件”段,这个错误就会消失。