dyld: Library not loaded: @rpath/libswiftCore.dylib 仅在Xcode 9上
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;
在Xcode 9上出现(dyld: Library not loaded: @rpath/libswiftCore.dylib)这个问题的原因和解决方法如下:
经过几个小时的奋战和尝试各种解决方案后,我发现我的解决方法与其他人不同,因此我在这里添加给其他可能会受益的人。
我尝试过以下解决方案:
- ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
- LD_RUNPATH_SEARCH_PATHS = $(inherited) _path/Frameworks
没有成功。原来问题更基本一些。我的项目有多个构建目标,而主机应用程序的设置不正确。
在下面的截图中,可以看到Host Application的设置被设置为空。
解决方法:
1. 在Xcode中打开项目。
2. 选择主机应用程序的构建目标。
3. 在Build Settings选项卡下,找到Host Application设置。
4. 确保Host Application设置正确,指向正确的应用程序。
通过以上步骤,您可以解决在Xcode 9上出现(dyld: Library not loaded: @rpath/libswiftCore.dylib)的问题。