dyld:库未加载:@rpath/libswiftCore.dylib 仅在 Xcode 9 上

问题描述 投票:0回答:8

我最近从 8.3.3 升级到 Xcode 9。

我们的项目和我们使用的所有其他框架一样是用 Objective-C 编写的。我添加了一个用 Swift(3.0 版)编写的框架。在 Xcode 8 中,我能够在模拟器和设备上毫无问题地构建和运行项目。在 Xcode 9 中,由于错误,我无法在模拟器或设备上运行项目:

dyld: Library not loaded: @rpath/libswiftCore.dylib
Referenced from: .../libraryname
Reason: image not found

降级后,我又可以运行项目了

我的配置有:

ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
STRIP_SWIFT_SYMBOLS = NO;
SWIFT_VERSION = 3.0;
ios objective-c swift3 xcode9
8个回答
0
投票

在与这个错误斗争了几个小时并尝试了各种解决方案之后,我的解决方案与这里的其他解决方案不同,所以我将它添加给可能受益的其他人。

我试过: - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = 是 - LD_RUNPATH_SEARCH_PATHS = $(继承)@executable_path/Frameworks

运气不好。原来这个问题更基本。我的项目有多个构建目标,并且主机应用程序的设置不知何故未设置。


-1
投票

Swift 框架必须使用与您的项目相同版本的 Swift 构建(在本例中为 Swift 4,因为您升级并通过 Xcode 9 运行)。

用新版本重建并重新添加/替换框架,它应该可以工作。


-1
投票

你在使用 Carthage 并且你的机器上有多个 XCode_s 吗?我最近在跑步时遇到了一个问题

carthage update --use-ssh --platform iOS
在命令行中选择了 xcode8.3.3。然后将内置框架包含到构建中。

要让它在 XCode9 中工作,你需要运行 switch 命令

sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
为你的 Xcode.app 再次运行 carthage.

希望有帮助。


-1
投票

有同样的问题。我正在使用 Xcode 9.2、Swift 4,我的设备在 iOS 11.1 中运行。

解决方案:

我删除了 Keychain Access 中的 Apple Worldwide Developer Relations Certificate Authority 并替换为新的(您可以在这里下载证书

之后,我将“信任”(双击证书)从“始终信任”更改为“系统默认”。


-1
投票

尝试重新启动 Xcode。我尝试了其他一切,这就是解决问题的原因。


-1
投票

如果您的证书信任设置设置为“始终信任”,则主要会发生这种情况。将其更改为“系统默认值”并重新创建构建。这应该可以解决问题:https://egeek.me/2017/10/21/code-signing-blocked-mmap-on-ios-device/


-1
投票

我遇到了同样的问题(在 Xcode 9.4.1 上)但无法在任何帮助下解决。我遇到了 Xcode 不断提示我使用我的钥匙串但无法完成请求的问题——尽管我提供了我的密码。该应用程序已成功构建并安装。但是,它立即在设备上运行时崩溃了。

这就是解决我的问题的方法。

  • 删除了我的证书和公钥/私钥对
  • 创建了一个新证书(通过 CSR)并将其安装在我的电脑上
  • 将新证书链接到配置文件并在 Xcode 上安装配置文件
  • 清理构建并删除设备上的现有构建
  • 欢呼!!!

希望这可以帮助正在搜索地球的人!


-1
投票

只需清理并构建即可解决此问题。在 Xcode 9.2 和 Swift 4 中测试

© www.soinside.com 2019 - 2024. All rights reserved.