在将Swift类添加到旧的Xcode项目后,我得到这个错误。
dyld:库未加载:@rpath/libswift_stdlib_core.dylib
我怎样才能使项目再次运行?
在将Swift类添加到旧的Xcode项目后,我得到这个错误。
dyld:库未加载:@rpath/libswift_stdlib_core.dylib
我怎样才能使项目再次运行?
当前回答
对我来说,之前的解决方案都没用。我们发现在构建设置中有一个标记ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES(在早期版本中:“嵌入式内容包含Swift代码”)需要设置为YES。默认是NO !
其他回答
添加框架为“嵌入式二进制文件”,而不仅仅是“链接框架和库”-修正了我的问题。
我还设置嵌入内容包含Swift代码标志为YES。
如果在Objective-C项目转换为开始使用Swift的过程中出现了错误,就会发生此错误。问题是链接器构建设置从未正确配置,所以你必须手动完成。寻找Runpath Search Paths构建设置并将其设置为:
$(inherited) @executable_path/Frameworks
编辑:我还应该补充一点,最近有大量的错误完全是由其他原因引起的——苹果对Swift本身进行了更改,可能从Xcode 6.1或6.1.1开始。唯一的解决方案似乎是退出Xcode,在Keychain Access中销毁你的证书,到会员中心删除所有证书和配置文件(除了应用商店中的配置文件-你不能删除它们),然后从头开始整个证书请求过程。
我在这个问题上研究了很久。有几个原因导致这个问题。
如果你在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
因此,您应该重新创建证书和供应
我的项目是一个Swift项目,有一些Objective-C类。 我用旧的inHouse(企业)证书签名时也遇到了同样的问题。
以下步骤为我解决了这个问题。
创建并使用一个新的证书和移动供应。 (参考AIRSIGN博客) 将Runpath Search Paths构建设置设置为:$(inherited) @executable_path/Frameworks。 (参考马特的回答)
在我的情况下,我只是使用“Cmd+Shift+K”,然后“Cmd+B”运行它的工作