我正在试着在我的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

当前回答

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

“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 13和iOS 12手机中也得到了完全相同的错误。

这里我的项目部署信息是12.0,但我的框架部署信息在iOS 15.0。

我已经将我的框架部署信息更改为12.0。

结论:

这意味着框架和项目支持的版本问题。我们需要在创建框架后修复框架的最低支持版本。

对于设备,您还需要将动态框架添加到项目的General选项卡中的Embedded binaries部分。

下面这些步骤对我很有效:

单击项目名称(在导航器的最上方) 再次点击你的项目名称,(不是目标) 单击“生成设置”选项卡 搜索跑道搜索路径 将其值更改为$(inherited)标志(删除@executable_path/Frameworks)。

我使用的是Xcode 8.3.3和Xcode 9.2。我的解决方案是使用Xcode Select将默认Xcode从8切换到9:

——打印路径

$ sudo xcode-select -switch /Applications/Xcode-9.2.app

编辑:实际上,Xcode 9.2使用了来自Xcode 8.3.3的派生数据,这似乎对这里有所帮助。不是解决办法,但至少能让我继续工作。