2017-09-22 135 views
7

我最近从8.3.3升级到XCode 9。dyld:Library not loaded:@ rpath/libswiftCore.dylib on XCode 9 only

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

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

降级之后,我能够再次运行该项目。

我的配置有:具有与xcode9一个类似的问题

ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; 
STRIP_SWIFT_SYMBOLS = NO; 
SWIFT_VERSION = 3.0; 

其他人?有谁知道如何解决这个问题?

+0

添加您的框架来选择目标 - >常规 - >嵌入式二进制文件 –

+0

该库在嵌入式二进制文件和链接的框架和库链接。 –

+0

你有没有检查过这个https://stackoverflow.com/questions/26104975/dyld-library-not-loaded-rpath-libswiftcore-dylib-image-not-found –

回答

0

Swift框架必须使用与您的项目相同版本的Swift来构建(在这种情况下,自升级并且正在运行Xcode 9以来,Swift 4是不可思议的)。

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

0

您使用迦太基并在您的机器上有多个XCode_s?我最近在运行 carthage update --use-ssh --platform iOS时遇到了问题,而在命令行中选择了xcode8.3.3。然后在构建中包含构建的框架。

为了在XCode9中工作,您需要为您的Xcode.app运行切换命令 sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer并再次运行Carthage。

希望它有帮助。

0

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

解决方案:

我删除了苹果全球开发者关系的证书颁发机构在钥匙串访问,并用一个新的更换(你可以下载certificate here

在那之后,我已经改变了“信托”(双点击证书)从“始终信任”到“系统默认”。

+0

试过了,这并没有解决这个问题。 – Rao

相关问题