相关疑难解决方法(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万
查看次数

为什么伞形框架不鼓励?

我想分发框架A.框架A依赖于框架B.我希望我的框架的用户只需要包含框架A,但仍然具有对框架B的编程访问权限.

Apple使用"Umbrella Frameworks"的概念一直这样做,但是文档中有这个主题:

不要创建伞框架

虽然可以使用Xcode创建伞形框架,但对大多数开发人员来说这样做是不必要的,不建议这样做.Apple使用伞形框架来掩盖操作系统中库之间的一些相互依赖关系.几乎在所有情况下,您都应该能够将代码包含在单个标准框架包中.或者,如果您的代码足够模块化,您可以创建多个框架,但在这种情况下,模块之间的依赖关系将是最小的或不存在的,并且不应该保证为它们创建保护伞.

为什么这种做法不鼓励?是什么使它成为Apple相互依赖框架问题的良好解决方案,而不是我的?

macos cocoa objective-c

40
推荐指数
2
解决办法
8366
查看次数

伞框架

我已经创建了一个框架,其中插入了第二个框架,即所谓的"伞形框架".当我在测试应用程序中插入框架(嵌入式二进制文件和链接的框架和库,两者)都无法构建应用程序时,我收到以下错误:

ld: framework not found 'embeddedInMyFramework' for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

比在嵌入式二进制文件和链接框架和库中添加该框架(embeddedInMyFramework)并尝试构建比工作正常.稍后从嵌入式二进制文件和链接的框架和库中删除该框架,仍然可以正常工作.有人可以帮我解决这个问题,不确定当我第一次向嵌入式二进制文件添加框架时会发生什么,以及如何解决这个问题(如果不添加嵌入式二进制文件,它可以以某种方式工作)

frameworks ios swift

11
推荐指数
2
解决办法
7991
查看次数

标签 统计

frameworks ×2

ios ×2

cocoa ×1

macos ×1

objective-c ×1

swift ×1