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

当前回答

没有一个解决方案对我有效。重启手机解决了这个问题。这很奇怪,但很有效。

其他回答

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

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

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

我在Xcode 11中使用的是通用->框架,库和嵌入式内容,并将框架的“嵌入”选项更改为“嵌入&签名”

我们有一个unity项目,它创建了一个xcode项目,其中包括使用swift的库。

我们尝试了这个话题上的每一个合理的建议。

毫无效果。代码在新设备上运行良好,在iOS上崩溃<=12

看起来swift是如此的聪明,即使你将它设置为"ALWAYS_EMBED_SWIFT_LIBRAIES"="YES",它也不包括swift库。

真正为我们解决问题的是在项目中包含一个虚拟的swift文件。 该文件必须包含对分派、基础库的调用。

显然,这暗示了mighty-xcode强制包含库,但这次是真的。

下面是我们添加的虚拟文件,使其工作:

import Dispatch
import Foundation


class ForceSwiftInclusion {

   init() {

    // Force dispatch library.
    DispatchQueue.main.async {
      print("something")
    }

    // Force foundation library.
    let uuid = UUID().uuidString
    print("\(uuid)")

   }
}

对于统一,也添加项目。AddBuildProperty(target, "SWIFT_VERSION", "Swift 5");到创建xcode项目的后期处理。

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

在尝试了所有东西之后,我终于发现,构建似乎并不总是一次又一次地包含所有细节。也许是为了加快进程…… 为了确保在设备上运行前包装完整,请先进行清洁:Shift-Cmd-K。 然后使用Cmd-B构建。 然后在你的设备上运行它。 一件容易的事。 向你们所有在那个地方的好人致以亲切的问候!