在将Swift类添加到旧的Xcode项目后,我得到这个错误。
dyld:库未加载:@rpath/libswift_stdlib_core.dylib
我怎样才能使项目再次运行?
在将Swift类添加到旧的Xcode项目后,我得到这个错误。
dyld:库未加载:@rpath/libswift_stdlib_core.dylib
我怎样才能使项目再次运行?
当前回答
我也遇到过同样的问题,设置正确的代码签名标识解决了这个问题(构建设置->代码签名标识)。
根据苹果的技术问题,“iOS 8发布后创建的所有企业和标准iOS开发者证书在适当的位置都有新的团队ID字段,以允许Swift语言应用程序运行”
其他回答
我在这个问题上研究了很久。有几个原因导致这个问题。
如果你在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时,我也遇到了这个问题。Xcode重启也为我解决了这个问题。
方案五:
在我的案例中,accws的答案中提到的所有解决方案都非常有用,但没有一个是有效的。我通过在项目目标的“General”部分的“Embedded Binaries”部分中添加我的swift库来解决我的问题。也许这是因为我在我的工作区中包含了我的swift框架?不管它现在编译什么!准备好,斯威夫特,我来了!
我在我的项目中添加了SCLAlertView pod,后来删除了它。我没有从我的视图控制器中删除导入SCLAlertView。理想情况下,它应该给出一个编译时错误,但它给出了一个运行时错误,提到dyld: Library not loaded: @rpath/SCLAlertView.framework。我从我的视图控制器中删除了导入SCLAlertView,构建它,它没有给出错误。所以在我的情况下,我试图导入一个没有找到框架的库。删除这些引用将解决您的问题。
参考https://forums.developer.apple.com/thread/21292
这个解决方案对我很有效:
It occurred on my side when building an app in the command line via xcodebuild and xcrun PackageApplication, signing the app with an enterprise profile. On our CI build servers, the certificate was set to "Always Trust" in the keychain (select certificate -> Get Info -> Trust -> "Use System Default" can be changed to "Always Trust"). I had to set it back to "Use System Default" in order to make this work. Initially we set this to "Always Trust" to work-around the keychain dialogs that appear after software updates and certificate updates.