我正在试着在我的iPhone 4s上运行Swift应用程序。它在模拟器上运行良好,我的朋友也可以在他的iPhone 4s上成功运行。我有iOS 8和官方发布的Xcode 6。

我试过了

重启Xcode, iPhone,电脑 清洁和重建 撤销并创建新的证书/供应配置文件 运行路径搜索路径是$(inherited) @executable_path/Frameworks 包含Swift代码的嵌入内容是“是” 代码签名身份是开发人员

下面是完整的错误

dyld: Library not loaded: @rpath/libswiftCore.dylib
  Referenced from: /private/var/mobile/Containers/Bundle/Application/LONGSERIALNUMBER/AppName.app/AppName
  Reason: no suitable image found.  Did find:
    /private/var/mobile/Containers/Bundle/Application/LONGSERIALNUMBER/AppName.app/Frameworks/libswiftCore.dylib: mmap() error 1 at
address=0x008A1000, size=0x001A4000 segment=__TEXT in Segment::map() mapping
/private/var/mobile/Containers/Bundle/Application/LONGSERIALNUMBER/APPLICATION_NAME/Frameworks/libswiftCore.dylib

当前回答

在Xcode 8中,“嵌入式内容包含Swift代码”选项不再可用。

它已被重命名为“Always Embed Swift Standard Libraries = YES”

其他回答

我也有同样的问题,问题是这样的:

dyld: Library not loaded: @rpath/Result.framework/Result Referenced from: /private/var/mobile/Containers/Bundle/Application/74AD1FE2-7095-47D2-B059-520863050EE2/ReactiveCocoaTest.app/Frameworks/ReactiveCocoa.framework/ReactiveCocoa Reason: image not found

我的解决方案如下:

在TARGET -> Build Setting -> Other Linker Flag ->中删除ReactiveCocoa框架。如果是xxx.framework,你应该删除xxx.framework。

删除ReactiveCocoa

对于Xcode 12。x,对我有用的是去通用>框架,库和嵌入式内容。然后,选择嵌入和签署所有Agora框架。(默认为不嵌入。

我在运行Swift测试时遇到了这个问题(但不是我的应用程序)。事实证明,测试需要在测试目标的Runpath Search Paths构建设置中有更多的@executable_path/Frameworks。以下设置Runpath搜索路径对我来说很有魅力:

$(inherited)
@executable_path/Frameworks
@loader_path/Frameworks

对我来说,尝试了所有的方法都没有成功,有效的方法是从打包部分中删除@executable_path/Frameworks(不知道它最初是如何出现在那里的)

从https://github.com/CocoaPods/cocoapods-integration-specs/pull/24/files的帖子来看,这意味着迅速。Dylib需要签名,但失败了。我甚至没有在cocoapod的支持下创建一个新的swift项目。