将Swift类添加到旧的Xcode项目后,我收到此错误.
dyld: Library not loaded: @rpath/libswift_stdlib_core.dylib
如何让项目再次运行?
muk*_*ssi 151
对我来说,以前的解决方案都没有奏效.我们发现ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES在Build Settings 中有一个标志(在早期版本中:"Embedded Content包含Swift Code"),需要设置为YES.默认是NO!
mat*_*att 91
如果在转换Objective-C项目期间出现问题以开始使用Swift时,可能会发生此错误.问题是链接器构建设置从未正确配置,因此您必须手动完成.查找Runpath搜索路径构建设置并将其设置为:
$(inherited) @executable_path/Frameworks
Run Code Online (Sandbox Code Playgroud)

编辑:我还应该补充说,最近发生了一些完全由其他事情引起的错误 - 苹果公司在Swift本身做了一个改变,从Xcode 6.1或6.1.1开始.唯一的解决方案似乎是退出Xcode,在Keychain Access中销毁您的证书,转到成员中心并删除所有证书和配置文件(商店中应用程序的配置文件除外 - 您无法删除它们),然后启动整个证书申请流程从头开始.
Ada*_*Fox 79
我不确定为什么这个问题被低估了,当我第一次尝试将Swift用于现有项目时,我也遇到了这个问题.Xcode重启也为我解决了这个问题.
acc*_*ews 54
我在这个问题上搜索得很久.导致此问题的原因有多种.
如果您在Objectice C项目中遇到Swift代码/库,那么您应该尝试解决方案1-2-3
如果您在使用新的Swift项目时遇到此问题,解决方案4将最适合您.
重启Xcode,然后重启电脑和iPhone
转到项目构建设置并将Always Embed Swift Standard Libraries(先前Embedded Content Contains Swift Code)标记设置为YES
转到项目构建设置并添加@executable_path/Frameworks到Runpath Search Paths选项
如果以上都不起作用,这应该.如AirSign的帖子所述,Apple似乎是忍者修补证书
在InHouse证书
Subject: UID=269J2W3P2L, CN=iPhone Distribution: Company Name, O=Company Name, C=FR
他们添加了一个名为OU的新字段
Subject: UID=269J2W3P2L, CN=iPhone Distribution: Company Name, OU=269J2W3P2L, O=Company Name, C=FR
所以你应该重新创建证书和配置
C0D*_*0D3 40
在我的情况下,我试图导入自定义框架,并得到类似的错误.事实证明,我必须在嵌入式二进制文件中导入框架,而不是导入到链接的框架和库中.
嵌入式二进制文件位于项目设置 - > - >常规下
小智 16
对于使用Adhoc/Enterprise分发版本遇到此问题的开发人员,
从开发门户创建生产证书,然后重新生成分发配置文件.在Mac上下载并安装它们.确保您在Xcode构建设置中选择了正确的配置文件并重建您的应用程序.
资料来源:https://devforums.apple.com/message/1022908#1022908
Chr*_*phe 15
解决方案5:
就我而言,在回答中提到的所有解决方案accfews是非常有益的,但没有工作过.我通过在项目目标的"常规"部分的"嵌入式二进制"部分中添加我的swift库来解决我的问题.也许这是因为我在我的工作区中包含了我的快速框架?无论它现在编译什么!准备好斯威夫特,我在这里!
对我来说,问题是由于我的Apple全球开发者关系认证机构无效.
从这里下载:https: //developer.apple.com/certificationauthority/AppleWWDRCA.cer
将其拖放到Keychain Access中,清理项目并运行.
发生这种情况的原因有很多。刚刚度过了一个有趣的周末,发现了导致此问题的另一个问题(代码签名的顺序),我想创建一个总结答案,将所有可能的解决方案结合在一起:
DerivedData和Build目录。在首选项下查找的位置DerivedData。 Build应该在您的项目文件夹中。@executable_path/Frameworks. 这是很容易的事情。如果您正在执行自己的命令行构建,则可能会创建自己的.ipa文件来上传。在这种情况下,您需要确保以下几点:
SwiftSupport/iphoneos的版本相同Contents/YourApp.app/Frameworks 因为 Swift 版本之间尚未实现二进制兼容,所以您必须确保这些版本是您构建应用程序所使用的版本。您可以在 下找到这些库/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos。codesign库和框架文件(Frameworks在.app文件夹下)进行签名,然后对整个.app树进行签名。该.app树必须使用框架进行签名,entitlements.plist但不能使用框架进行签名。希望当 Swift 3.0 出现时,我们不再需要将 Swift 与我们的应用程序捆绑在一起,整个问题就会消失。
| 归档时间: |
|
| 查看次数: |
60835 次 |
| 最近记录: |