gpt4 book ai didi

ios - 迪尔德 : Library not loaded for a Framework within a Framework

转载 作者:技术小花猫 更新时间:2023-10-29 11:00:42 25 4
gpt4 key购买 nike

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

dyld: Library not loaded: @rpath/FrameworkB.framework/FrameworkB Referenced from: /private/var/mobile/Containers/Bundle/Application/B072CD7C-8595-4AE4-A506-26832A0F4402/FrameworkTest.app/Frameworks/FrameworkA.framework/FrameworkA Reason: image not found

这是我在 Xcode 中的结构:

  • FrameworkTest.xcodeproj(应用项目)
    • FrameworkA.xcodeproj(Cocoa Touch 框架)
      • FrameworkB.xcodeproj( cocoa touch 框架)

应用程序 (FrameworkTest) 使用来自 FrameworkA 的类 A(嵌入在 FrameworkTest 应用程序中)。 A 类使用 FrameworkB 中的类 B(在 FrameworkA 中链接)。

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

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

我已经上传了 project on GitHub供您查看,如果您需要仔细查看。 (类A在AppDelegate.m文件中被调用)

为什么这在 iOS 模拟器而不是设备上有效?我怎样才能让它在设备上运行?

编辑:

正如 simonthumper 在评论中建议的那样,我还尝试将 FrameworkB.framework 添加到 Copy Files 作为 FrameworkA 构建阶段中的框架目标,但这给了我这个控制台错误:

dyld: Library not loaded: @rpath/FrameworkB.framework/FrameworkB Referenced from: /private/var/mobile/Containers/Bundle/Application/2A38A2BC-9CD7-4AF6-9E50-42C16D92D6B2/FrameworkTest.app/Frameworks/FrameworkA.framework/FrameworkA Reason: no suitable image found. Did find: /private/var/mobile/Containers/Bundle/Application/2A38A2BC-9CD7-4AF6-9E50-42C16D92D6B2/FrameworkTest.app/Frameworks/FrameworkA.framework/Frameworks/FrameworkB.framework/FrameworkB: mmap() error 1 at address=0x10012C000, size=0x00008000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/2A38A2BC-9CD7-4AF6-9E50-42C16D92D6B2/FrameworkTest.app/Frameworks/FrameworkA.framework/Frameworks/FrameworkB.framework/FrameworkB

最佳答案

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

  • FrameworkTest.xcodeproj(应用项目)
    • FrameworkA.xcodeproj(Cocoa Touch 框架)
      • FrameworkB.xcodeproj( cocoa touch 框架)
    • FrameworkB.xcodeproj(Cocoa Touch 框架)

完成此操作后,应用程序项目可以包含 FrameworkB.framework 作为嵌入式库: FrameworkTest.xcodeproj build phases

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

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

关于ios - 迪尔德 : Library not loaded for a Framework within a Framework,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28740268/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com