我最近从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;
8条答案
按热度按时间rn0zuynd1#
在与这个错误斗争了几个小时并尝试了各种解决方案后,我的解决方案与这里的其他解决方案不同,所以我将它添加给可能受益的其他人。
我已尝试:-始终嵌入SWIFT标准库=是- LD运行路径搜索路径= $(继承的)@可执行文件路径/框架
没有运气。原来这个问题是更基本的。我的项目有多个构建目标,不知何故,主机应用程序的设置被取消了。x1c 0d1x
vql8enpb2#
Swift框架必须使用与您的项目相同的Swift版本构建(在本例中,Swift 4是继承的,因为您升级并通过Xcode 9运行)。
使用新版本重新构建和重新添加/替换框架,它应该可以工作。
dw1jzc5e3#
您是否使用Carthage并且在您的机器上有多个XCode_s?我最近遇到了一个问题,当我在命令行中选择xcode8.3.3时运行
carthage update --use-ssh --platform iOS
。然后将构建的框架包含到构建中。要使它在XCode9中工作,您需要对www.example.com运行switch命令
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
Xcode.app,然后再次运行carthage。希望能有所帮助。
n8ghc7c14#
有同样的问题。我使用Xcode 9.2,Swift 4和我的设备运行在iOS 11.1.
解决方法:
我删除了钥匙链访问中的苹果全球开发者关系证书颁发机构,并替换为一个新的(您可以下载certificate here)
之后,我将“信任”(双击证书)从“始终信任”更改为“系统默认”。
kcugc4gi5#
尝试重新启动Xcode。我尝试了其他所有方法,这就是停止问题的原因。
gtlvzcf86#
主要发生在您的凭证信任设定设为“永远信任”时。请将其变更为“系统预设值”,然后重新建立组建。这应该可以解决问题:https://egeek.me/2017/10/21/code-signing-blocked-mmap-on-ios-device/
nr7wwzry7#
我在Xcode 9.4.1上也遇到了同样的问题,但在任何帮助下都无法解决。我遇到的问题是,Xcode不断提示我使用钥匙串,但无法完成请求--尽管我提供了密码。应用程序成功构建并安装。但在设备上运行后立即崩溃。
我的问题是这样解决的。
希望这对正在搜索地球的人有帮助!
z0qdvdin8#
只要干净和建立解决这个问题。测试在Xcode 9.2和Swift 4