我正在试着在我的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(并随后升级到新版本的Swift)时,如果你的项目使用了用旧版本/以前版本的Swift构建/编译的框架,也会导致此错误消息。

在这种情况下,重新构建框架并重新添加它将解决问题。

其他回答

假设项目P正在导入自定义库L,那么必须将L添加进去

P ->构建阶段->嵌入框架-> +。这对我很有用。

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

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

对我来说,它只是我目标的名字:

我把它重新命名为:MyApp。同样的问题出现了。 但是我在构建设置窗口中看到,我的产品模块名称已经更改为这样的myapp -什么。 所以,我删除了点在我的目标名称(MyAppSomething)和问题消失了。

我试着把所有答案通读一遍。(可能漏掉了一些) 但这是我的解决方案。可能对某人有帮助。 我刚刚在我的项目中创建了一个swift文件(void.swift)。当我添加这个文件时,它要求我创建一个桥接。我答应了。这是所有!它开始起作用了。 背景:我的项目是写在obj c.和我添加了FBSDK pods到我的项目。在那之后,我开始得到这个错误。

我开始得到这个错误时,我删除:

@executable_path/Frameworks

从跑道搜索路径在我的构建设置。替换它使一切重新恢复正常(感谢源代码控制!)

我不知道它是如何到达那里的,但它似乎是二进制文件找到其嵌入式Swift运行时所需要的。