当前位置: 首页 > 知识库问答 >
问题:

DYLD:未为框架内的框架加载库

姜彬郁
2023-03-14

我正在尝试嵌入一个使用另一个框架的框架,这个框架在模拟器中工作得很好,但在iOS设备上会崩溃:

DYLD:未加载库:@rpath/framework.framework/frameworkB引用自:/private/var/mobile/containers/bundle/application/b072cd7c-8595-4AE4-a506-26832a0f4402/frameworktest.app/frameworks/frameworka原因:找不到映像

这是我在Xcode中的结构:

  • FrameworkTest.xCodeProj(应用程序项目)
    • frameworka.xcodeproj(Cocoa Touch Framework)
      • frameworkb.xcodeproj(Cocoa Touch Framework)

      这在模拟器中工作得很好,但在设备上却不起作用。

      这个结构看起来有点奇怪,但我在开发应用程序时正在开发框架,这就是为什么我想在我的应用程序项目中添加框架项目的原因。

      我已经把项目上传到了GitHub上让你看看,如果你需要仔细看看的话。(在AppDelegate.m文件中调用类A

      为什么这在iOS模拟器中起作用而在设备上不起作用?我怎样才能让它在设备上工作呢?

      编辑:

      正如simonthumper在注释中所建议的,我还尝试将frameworkb.framework添加到copy files中,作为FrameworkA构建阶段的框架目标,但这在控制台中给出了以下错误:

      DYLD:未加载库:@rpath/frameworkb.frameworkb/frameworkb引用自:/private/var/mobile/containers/bundle/application/2a38a2bc-9cd7-4af6-9e50-42c16d92d6b2/frameworktest.app/frameworks/frameworka.framework/frameworka原因:找不到合适得映像.是否发现:/private/var/mobile/containers/bundle/application/2a38a2bc-9CD7-4AF6-9E50-42C16d92d6b2/frameworktest.app/framework.framework/frameworkb:mmap()错误1,地址=0x10012c000,size=0x00008000 segment=__text在segment::map()映射

共有1个答案

方建明
2023-03-14

我与苹果公司联系了这个问题,并找到了解决我问题的方法。苹果的技术支持明确表示,我需要将frameworkb.xcodeproj添加到我的应用程序项目中,因此我的项目结构是:

  • FrameworkTest.xCodeProj(应用程序项目)
    • frameworka.xcodeproj(Cocoa Touch Framework)
      • frameworkb.xcodeproj(Cocoa Touch Framework)

      这解决了我的问题,并使其在iOS设备上运行成为可能。

      如果构建在发布时崩溃:撤销您的企业分发证书并创建一个新的证书来解决问题。一旦我这么做了它就完美无缺了。

 类似资料:
  • 问题内容: 此崩溃一直是一个阻止问题,我使用以下步骤来重现该问题: 创建一个Cocoa Touch Framework项目 添加一个快速文件和一个类 Dog 建立设备框架 在Swift中创建一个单视图应用程序 将框架导入应用程序项目 从ViewController中的框架实例化swift类 在设备上构建并运行应用 该应用立即在启动时崩溃,这是控制台日志: 我尝试在iOS 7.1和8.0设备上构建,

  • 我正在为OSGi(又名Eclipse Gemini Blueprint)工作到Spring。

  • 问题内容: 这个问题以前在这里,也在这里被问过。但是,该解决方案无法解决我的问题。 原始错误是,当我尝试时,我得到: 追溯(最近一次通话):文件“ /”,“用户/XX/anaconda/lib/python2.7/site- packages/matplotlib/pyplot.py”中的行1,位于_backend_mod,new_figure_manager, draw_if_interacti

  • 许多的 PHP 开发者都使用框架,而不是重新造轮子来构建 Web 应用。框架抽象了许多底层常用的逻辑,并提供了有益又简便的方法來完成常见的任务。 你并不一定要在每个项目中都使用框架。有时候原生的 PHP 才是正确的选择,但如果你需要一个框架,那么有如下三种主要类型: 微型框架 全栈框架 组件框架 微型框架基本上是一个封装的路由,用来转发 HTTP 请求至一个闭包,控制器,或方法等等,尽可能地加快开

  • 问题内容: 我正在尝试从我正在编写的iOS 8框架(在Swift中)加载图像。我正在使用Xcode 6 Beta 6 如果图像存储在我的框架中,则此代码不起作用(即加载图像): 如果映像存储在主机应用程序(使用框架)中,则将正确加载映像(从框架内的代码)。 我可以看到该阶段包含了框架。 我还将故事板文件用作框架中的资源。并正确加载。 我尝试重命名框架的Images.xcassets以避免与主机应用

  • 是否可以在JavaFX中制作相同的内部帧?