我正在试着在我的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 10.2和macOS 10.14.3。 首先,我安装了swift 5对命令行工具的运行时支持,但没有任何变化 第二,我将操作系统更新到10.14.4,没有任何变化 第三,我把Xcode更新到11.2.1,问题解决了(不使用Xcode 11.2。它有存档问题,已弃用)

其他回答

如果你得到一个这样的错误:

“YourFrameworkTests”包无法加载,因为它已经加载了 损坏或缺少必要的资源。尝试重新安装bundle。 (dlopen_preflight(/一些/道路/…/ YourFrameworkTests.xctest / YourFrameworkTests): 库未加载:@rpath/SomeOther.framework/SomeOther引用 来自:/一些/道路/…)

并在框架中使用CocoaPods,然后尝试编辑Podfile并删除继承!:search_paths从Test目标,并再次运行pod install。

详情请见https://github.com/CocoaPods/CocoaPods/issues/8868。

我同时安装了多个版本的Xcode。这个框架是用更新版本的Xcode构建的。我尝试编译的应用程序使用的是较旧版本的Xcode。当我用相同版本的Xcode清理和编译框架和应用程序时,事情就正常了。

在我的例子中,我的一个测试目标是工作的,但另一个不是。它给出了上面的错误与一个丢失的库或其他。我比较了两个测试目标的设置,发现其中一个缺少“测试主机”的配置,所以我从工作测试目标中复制了它,它修复了我破碎的测试目标!

有很多答案,但我的答案可能会帮助别人。

我也有同样的问题,我的应用程序在模拟器上工作正常,但在设备上崩溃了,因为我的午餐应用程序,并给出如上所述的错误。我已经尝试了所有的答案和解决方案。在我的情况下,我的项目我有多个目标,我从目标A创建了重复的目标B,目标B工作正常,而目标A崩溃了。我为每个目标使用不同的图像资产。在搜索和做谷歌之后,我发现了一些可能对某人有帮助的东西。

当我改变两个应用程序的启动图像资产的名称时,应用程序停止崩溃。例如,目标A启动映像资产名称LaunchImage A。目标B午餐映像资产名称LaunchImage B,并在每个目标的General Tab中正确分配。我的应用程序运行良好。

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

@executable_path/Frameworks

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

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