在将Swift类添加到旧的Xcode项目后,我得到这个错误。
dyld:库未加载:@rpath/libswift_stdlib_core.dylib
我怎样才能使项目再次运行?
在将Swift类添加到旧的Xcode项目后,我得到这个错误。
dyld:库未加载:@rpath/libswift_stdlib_core.dylib
我怎样才能使项目再次运行?
当前回答
对于在Adhoc/Enterprise发行版构建中遇到此问题的开发人员,
从开发门户创建产品证书,然后重新生成分发配置文件。下载并安装在你的Mac上。确保你在Xcode构建设置中选择了正确的配置文件,并重新构建应用程序。
来源:https://devforums.apple.com/message/1022908 1022908
其他回答
添加框架为“嵌入式二进制文件”,而不仅仅是“链接框架和库”-修正了我的问题。
我还设置嵌入内容包含Swift代码标志为YES。
发生这种情况的原因有很多。刚刚度过了一个有趣的周末,发现了另一个导致这个问题的问题(代码签名的顺序),我想创建一个总结答案,将所有可能的解决方案放在一起:
Add Embedded Content Contains Swift Code to project. You need to set this flag if your app contains Swift code. Clean project. In addition to a Project > Clean you can also delete the DerivedData and Build directories. Look under the Preferences for the location of DerivedData. Build should be in your project folder. Ensure Runpath Search Paths contains @executable_path/Frameworks. Ensure that your certificate contains your Apple Team ID in the OU (Organization Unit) field Apple will add this for you, just revoke your existing distribution certificate and create a new one, download, install on KeyChain, regenerate all provisioning profiles, download those and rebuild. Xcode restart. If everything is basically good, but Xcode hasn't gotten there yet.
这很简单。如果你正在进行自己的命令行构建,你可能会创建自己的.ipa文件来上传。在这种情况下,您需要确保以下内容:
Make sure the version of the Swift files in SwiftSupport/iphoneos is the same as the version in Contents/YourApp.app/Frameworks Because Swift is not yet binary compatible between version, you must ensure these versions are the one that you built your app with. You can find these libraries under /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos. Sign the libraries and frameworks first. You need to codesign the libraries and framework files (under Frameworks in the .app folder) first and then sign the entire .app tree. The .app tree must be signed with an entitlements.plist but not the frameworks.
希望当Swift 3.0问世时,我们不再需要将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
因此,您应该重新创建证书和供应
我在使用带有生产证书的Ad Hoc(或企业)移动设备时遇到了这个问题。切换到开发证书和移动供应解决了这个问题。
我使用Xcode 6.1.1版本的Mavericks,在带有iOS 8.1.1的iPhone5上测试,也遇到了同样的问题。我尝试了所有可能的解决方案,包括新的证书和配置配置文件,但都没有帮助。我在项目级和目标级上对包含Swift代码的嵌入式内容和跑道搜索路径进行了更改。
我现在已经安装了优胜美地,没有任何进一步的改变,它开始工作了。