无法加载Swift运行时库(未找到图像)

时间:2014-07-26 15:03:36

标签: xcode macos swift osx-yosemite

我更新了我的一个核心框架,以使用Swift作为实验。它构建得很好,兼容头有Swift类可用于依赖它们的Objective-C类,一切都编译得很好。

但是,在启动应用程序(基本SDK和部署目标OS X 10.10)时,它会立即崩溃:

dyld: Library not loaded: @rpath/libswift_stdlib_core.dylib
  Referenced from: /Users/Craig/Library/Developer/Xcode/DerivedData/MacApp-dxcgahgplwpbjedqnembegifbowj/Build/Products/Debug/Fluffy.framework/Versions/A/Fluffy
  Reason: image not found

请注意,MacApp是我发布的应用程序,它使用包含Swift代码的Fluffy框架。

Fluffy项目的Runpath Search Paths设置为:

@executable_path/Frameworks

但我也尝试了空白。我试过重启Xcode,但无济于事。使用Yosemite 14A298i和Xcode beta 4。

2 个答案:

答案 0 :(得分:6)

我的框架Runpath Search PathsFluffy)包含需要更新的Swift代码。它最初包含:

$(inherited)
@executable_path/../Frameworks

但在创建Swift项目示例并比较构建设置后,Xcode正在添加:

@loader_path/Frameworks

到新创建的项目。我现有的框架项目遗漏了这一点。添加它以使Runpath Search Paths包含这些值解决了问题:

$(inherited)
@executable_path/../Frameworks
@loader_path/Frameworks

答案 1 :(得分:0)

如果您在运行时遇到Library not loaded错误,则应在Embedded Binary中添加这些库。

步骤01: -

确保该库位于当前项目导航中。如果不是将库拖放到项目导航中。

步骤02: -

点击项目>一般>嵌入二进制>添加错误中显示的库。在这种情况下,您应该添加libswift_stdlib_core。

enter image description here