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

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

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


当前回答

我也遇到过这个问题,只是没有定位libswiftXCTest.dylib。

解决方案是在Build Phases/Link Binary with Library中将XCTest.framework添加到Tests目标中。即使当我试图构建主目标时,我也会得到这个错误。

其他回答

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

$(inherited) @executable_path/Frameworks

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

如果你通过嵌入式二进制文件添加这三个框架,它们也会被添加到链接框架和库中。删除链接框架和库中的三个条目将解决问题。

像重新启动Xcode和重启Mac这样的神奇方法对我不起作用。

对我来说,之前的解决方案都没用。我们发现在构建设置中有一个标记ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES(在早期版本中:“嵌入式内容包含Swift代码”)需要设置为YES。默认是NO !

我的环境:Cocos2d 2.0, Box2d, Objective C

除了做上面的其他答案,我最后去了General选项卡,并使WatchKit可选。

最近又开始得到这个错误。虽然前两个答案在过去为我解决了这个问题,但这次没有一个建议的答案有效。我注意到错误说:

 Reason: no suitable image found.  Did find:
/private/var/mobile/Containers/Bundle/Application/8D8E5347-940A-4724-ACFE-33DF4C4DCB37/your.app/Frameworks/libswiftCore.dylib: mmap() errno=1 validating first page of '/private/var/mobile/Containers/Bundle/Application/8D8E5347-940A-4724-ACFE-33DF4C4DCB37/your.app/Frameworks/libswiftCore.dylib'

所以我试着从设备上删除应用程序,然后我就可以重新构建并运行了。