相关疑难解决方法(0)

如何在另一个框架内添加框架(Umbrella Framework)

我使用以下教程构建了一个框架.

我也有这个框架.

我正在尝试在我的内部实现第二个框架,从我在Apple文档中读到的结果框架被称为"伞框架".

我在框架中使用拖放添加了第二个框架,并验证它是否在"Link Binary With Libraries"中.

在我尝试在我的框架的一个类中进行下一次导入之后:

#import <CrashReporter/CrashReporter.h>
Run Code Online (Sandbox Code Playgroud)

我收到错误,因为导入的框架不可见.

另外我看过stackoverflow帖子: 如何在iOS SDK中创建一个伞形框架?

更新

有没有人试图为iOS提取PLCrashReporter类并将其集成到一个项目中?

你可以在这里找到我的尝试.

frameworks ios

43
推荐指数
4
解决办法
3万
查看次数

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

我试图嵌入一个使用另一个框架的框架,这在模拟器中运行得很好,但它在iOS设备上崩溃:

dyld:未加载库:@ rpath/FrameworkB.framework/FrameworkB参考自:/private/var/mobile/Containers/Bundle/Application/B072CD7C-8595-4AE4-A506-26832A0F4402/FrameworkTest.app/Frameworks/FrameworkA.framework/ FrameworkA原因:找不到图像

这是我在Xcode中的结构:

  • FrameworkTest.xcodeproj(应用程序项目)
    • FrameworkA.xcodeproj(Cocoa Touch Framework)
      • FrameworkB.xcodeproj(Cocoa Touch Framework)

应用程序(FrameworkTest)使用FrameworkA中的一个类A(嵌入在FrameworkTest应用程序中).该类A使用BFrameworkB中的类(在FrameworkA中链接).

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

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

我已经在GitHub上传了这个项目供你查看,如果你需要仔细看看.(该类A在AppDelegate.m文件中调用)

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

编辑:

作为simonthumper暗示的意见,我也尝试添加FrameworkB.frameworkCopy Files为框架,构建阶段的FrameworkA目的地,但是,让我在控制台此错误:

dyld:未加载库:@ rpath/FrameworkB.framework/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/Frameworks/FrameworkA.framework/Frameworks/FrameworkB.framework/FrameworkB:mmap()错误1 at地址= 0x10012C000,大小= 0x00008000段= __ TEXT in Segment :: map()映射/private/var/mobile/Containers/Bundle/Application/2A38A2BC-9CD7-4AF6-9E50-42C16D92D6B2/FrameworkTest.app/Frameworks/FrameworkA.framework /Frameworks/FrameworkB.framework/FrameworkB

xcode objective-c ios ios8

10
推荐指数
2
解决办法
3928
查看次数

标签 统计

ios ×2

frameworks ×1

ios8 ×1

objective-c ×1

xcode ×1