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

当前回答

你必须设置Runpath搜索路径为@executable_path/Frameworks,如下面的Build Settings截图所示:

如果你有任何Swift内置框架,那么你可以将Build Options embedded Content Contains Swift Code设置为YES。

其他回答

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

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

我也有同样的问题

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

// MARK: -核心数据堆栈

 lazy var persistentContainer: NSPersistentContainer = {
            /*
             The persistent container for the application. This implementation
             creates and returns a container, having loaded the store for the
             application to it. This property is optional since there are legitimate
             error conditions that could cause the creation of the store to fail.
            */
            let mom = NSManagedObjectModel.mergedModel(from: [Bundle(for: Self.self)])!
            
            let container = NSPersistentContainer(name: "Test", managedObjectModel: mom)
            container.loadPersistentStores(completionHandler: { (storeDescription, error) in
                if let error = error as NSError? {
                    // Replace this implementation with code to handle the error appropriately.
                    // fatalError() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
                     
                    /*
                     Typical reasons for an error here include:
                     * The parent directory does not exist, cannot be created, or disallows writing.
                     * The persistent store is not accessible, due to permissions or data protection when the device is locked.
                     * The device is out of space.
                     * The store could not be migrated to the current model version.
                     Check the error message to determine what the actual problem was.
                     */
                    fatalError("Unresolved error \(error), \(error.userInfo)")
                }
            })
            return container
        }()

在测试使用AWS服务添加S3文件时,我开始得到类似的错误。下面是错误。 @rpath/AWSAutoScaling.framework/AWSAutoScaling . dyld:库未加载

我搜索了很多,上面的解决方案对我也没有帮助。下面的链接帮助我解决了这个问题。

https://forums.developer.apple.com/thread/21292

上面说要通过重新下载WWDR(苹果全球开发者关系认证机构)来解决这个问题。

我测试了上面所有的解决方案,但没有一个解决问题。 我使用的是Xcode 10.2和macOS 10.14.3。 首先,我安装了swift 5对命令行工具的运行时支持,但没有任何变化 第二,我将操作系统更新到10.14.4,没有任何变化 第三,我把Xcode更新到11.2.1,问题解决了(不使用Xcode 11.2。它有存档问题,已弃用)

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

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