gpt4 book ai didi

构建需要 Apple 框架的自定义框架的 Cocoa 最佳实践

转载 作者:行者123 更新时间:2023-12-03 16:15:07 29 4
gpt4 key购买 nike

假设我有一个包含十几个类和类别的自定义框架。它们都继承/扩展了标准 cocoa 类。因此,我的框架在编译期间链接到

我的问题是,如果我添加一个需要 的类,推荐的打包方式是什么?

1) 如果我只是将类添加到框架中,并导入 QuartzCore,则框架的任何使用者也必须导入 QuartzCore。

2) 如果我将类移动到另一个框架中,任何使用者都必须导入我的框架以及 QuartzCore 才能获得完整的功能。第一个框架中的类不能使用第二个框架。

3) 有没有办法做 #ifdef#endif 或类似的事情,然后弱链接 QuartzCore 框架,以便 Cocoa 标准类和 QuartzCore 依赖类都在一个框架中,但消费者没有将 QuartzCore 添加到他们的项目中?如果理想情况下 QuartzCore 不存在,则类/类别根本无法供运行时使用。

最佳答案

就我个人而言,我会选择#1。无论如何,几乎任何重要的应用程序都应该链接到 QuartzCore。

您可以将框架弱链接到您的框架。从您链接到的框架中删除 QuartzCore,然后将参数“-weak_framework QuartzCore”添加到“其他链接器标志”。

有关弱链接的完整文档位于 Xcode 中。有一个名为“Apple Frameworks 的弱链接”的指南。

关于构建需要 Apple 框架的自定义框架的 Cocoa 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6935080/

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