我最近从 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;
Swift 框架必须使用与您的项目相同版本的 Swift 构建(在本例中为 Swift 4,因为您升级并通过 Xcode 9 运行)。
用新版本重建并重新添加/替换框架,它应该可以工作。
你在使用 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.
希望有帮助。
有同样的问题。我正在使用 Xcode 9.2、Swift 4,我的设备在 iOS 11.1 中运行。
解决方案:
我删除了 Keychain Access 中的 Apple Worldwide Developer Relations Certificate Authority 并替换为新的(您可以在这里下载证书)
之后,我将“信任”(双击证书)从“始终信任”更改为“系统默认”。
尝试重新启动 Xcode。我尝试了其他一切,这就是解决问题的原因。
如果您的证书信任设置设置为“始终信任”,则主要会发生这种情况。将其更改为“系统默认值”并重新创建构建。这应该可以解决问题:https://egeek.me/2017/10/21/code-signing-blocked-mmap-on-ios-device/
我遇到了同样的问题(在 Xcode 9.4.1 上)但无法在任何帮助下解决。我遇到了 Xcode 不断提示我使用我的钥匙串但无法完成请求的问题——尽管我提供了我的密码。该应用程序已成功构建并安装。但是,它立即在设备上运行时崩溃了。
这就是解决我的问题的方法。
希望这可以帮助正在搜索地球的人!
只需清理并构建即可解决此问题。在 Xcode 9.2 和 Swift 4 中测试