dyld: Library not loaded: @rpath/libswiftCore.dylib 仅在Xcode 9上

16 浏览
0 Comments

dyld: Library not loaded: @rpath/libswiftCore.dylib 仅在Xcode 9上

我最近从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;

0
0 Comments

在Xcode 9上出现(dyld: Library not loaded: @rpath/libswiftCore.dylib)这个问题的原因和解决方法如下:

经过几个小时的奋战和尝试各种解决方案后,我发现我的解决方法与其他人不同,因此我在这里添加给其他可能会受益的人。

我尝试过以下解决方案:

- ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES

- LD_RUNPATH_SEARCH_PATHS = $(inherited) _path/Frameworks

没有成功。原来问题更基本一些。我的项目有多个构建目标,而主机应用程序的设置不正确。

在下面的截图中,可以看到Host Application的设置被设置为空。

enter image description here

解决方法:

1. 在Xcode中打开项目。

2. 选择主机应用程序的构建目标。

3. 在Build Settings选项卡下,找到Host Application设置。

4. 确保Host Application设置正确,指向正确的应用程序。

通过以上步骤,您可以解决在Xcode 9上出现(dyld: Library not loaded: @rpath/libswiftCore.dylib)的问题。

0
0 Comments

在Xcode 9上出现(dyld: Library not loaded: @rpath/libswiftCore.dylib)的问题,可能是由于Swift框架与项目所使用的Swift版本不匹配导致的。解决方法是重新构建并添加/替换框架的新版本。

在这种情况下,Swift框架必须使用与项目相同的Swift版本(在这里是Swift 4,因为您进行了升级并正在通过Xcode 9运行)。因此,需要重新构建并添加/替换框架的新版本,以解决这个问题。

0
0 Comments

使用Carthage并且在机器上有多个XCode的情况下,我最近遇到了一个问题,当我在命令行中选择xcode8.3.3运行carthage update --use-ssh --platform iOS时,然后将构建好的frameworks包含进去。

为了使其在XCode9中工作,您需要运行切换命令sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer,将其应用于您的Xcode.app,然后再次运行carthage。

希望对您有所帮助。

0