这个崩溃是一个阻塞问题,我使用以下步骤来重现这个问题:

创建一个Cocoa Touch框架项目 添加一个swift文件和一个类Dog 为设备构建一个框架 在Swift中创建一个单视图应用程序 导入框架到应用程序项目 从ViewController中的框架实例化swift类 在设备上构建并运行应用程序

应用程序在启动时立即崩溃,这是控制台日志:

dyld: Library not loaded: @rpath/FrameworkTest03.framework/FrameworkTest03
  Referenced from: /var/mobile/Applications/FA6BAAC8-1AAD-49B4-8326-F30F66458CB6/FrameworkTest03App.app/FrameworkTest03App
  Reason: image not found

I have tried to build on iOS 7.1 and 8.0 devices, they both have the same crash. However, I can build an app and run on the simulator fine. Also, I am aware that I can change the framework to form Required to Optional in Link Binary With Libraries, but it did not completely resolve the problem, the app crashed when I create an instance of Dog. The behavior is different on the device and simulator, I suspect that we can't distribute a framework for the device using a beta version of Xcode. Can anyone shed light on this?


当前回答

在我的案例中,我的项目是用objective-c编写的,库中有Swift文件。所以我把项目Build Settings选项卡中的“Always Embed Swift Standard Libraries”改为“Yes”,它变得完全ok了。

其他回答

如果你使用的是Xcode 11或更新版本:

导航到目标的设置并选择General。

向下滚动到框架、库和嵌入式内容。 如有必要,请确保为“嵌入”选项选择了“嵌入&签名”或“嵌入不签名”值。

对我来说,我必须把XcodeKit.framework从“不嵌入”->“嵌入&签名”

解决了为我取消选择“仅在安装时复制”在构建阶段->嵌入框架

如果有人仍然遇到这个问题,尽管遵循了许多其他答案中概述的所有步骤,您可能需要撤销并重新创建您的代码签名证书,如下所示:

https://developer.apple.com/library/ios/qa/qa1886/_index.html

如果有开发pod,从模拟器中删除应用程序,从pod中安装-> clean ->再次运行…