dyld:库未加载:@ rpath / libswiftCore.dylib问题仅在模拟器上仍然存在

时间:2018-07-05 11:30:56

标签: ios objective-c xcode build-settings swift-framework

我有一个与我的项目集成的快速框架,它在真实设备上可以正常工作,完全没有问题。

但是当我尝试在模拟器上运行相同的项目时,我遇到了问题。

  

dyld:未加载库:@ rpath / libswiftCore.dylib
  引用自:/Users/Shankar/Library/Developer/CoreSimulator/Devices/78BF3C2C-ECD8-408E-8CBD-2306AE4B2351/data/Containers/Bundle/Application/B28FB671-F67D-4927-8E55-AFB569B44222/Mytest.app/Frameworks/ SKDarwin.framework / SKDarwin
  原因:找不到图片

我尝试了针对此错误建议的stackoverflow上可用的解决方案,但均未解决该问题。

这可能是因为错误仅在模拟器上发生。

感谢任何解决此问题的建议

注意:

这与#SO中已经提出的问题不是重复的,请阅读问题详细信息以了解其与所有问题的不同之处。

这个问题在本质上是不同的,因为它只发生在模拟器上,而没有提到的解决方案起作用。

3 个答案:

答案 0 :(得分:2)

对我来说,以前的解决方案都无效。我们发现在构建设置中有一个标记ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES(在早期版本中:“嵌入式内容包含Swift代码”),需要将其设置为YES。默认情况下是NO!

答案 1 :(得分:1)

拉开我的大脑近2天后,我终于找到了解决方案。您需要做的就是将您在自定义框架中使用的第三方框架设置为例如-socket.io-client-swift为可选,而不是在“构建阶段”部分的“将链接与库链接”下设置为“必需”。就这样。再试一次,它将按预期运行。

答案 2 :(得分:0)

我认为您正在创建自己的框架并使用该框架。

问题:

那时候在构建框架时,您是在 Real Device 而不是 simulator 上运行Framework,然后将其导入到项目中。

它将仅在Real Device上运行,因为您仅为 Real device 创建框架,而没有为 Simulator

创建框架

如果您在模拟器上运行框架,那么它将仅在模拟器上运行。不是真实设备。

解决方案:

  

为框架创建Pod,它将同时在两者上运行。(Real Device&   模拟器)