gpt4 book ai didi

ios - 如何在 iOS SDK 中创建一个伞形框架?

转载 作者:IT王子 更新时间:2023-10-29 08:03:02 25 4
gpt4 key购买 nike

我想在 iOS SDK 中创建一个伞式框架。我的要求是:

我有一个名为“框架 A”的框架,我想创建另一个名为“框架 B”的框架。我想将“Framework A”作为子框架添加到“Framework B”中,用户只需在他们的项目中导入“Framework B”即可同时使用“Framework A”和“Framework B”。换句话说,“框架 B”将作为“框架 A”的包装器。我通过以下链接阅读了有关框架创建的 Apple:

https://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/FrameworkAnatomy.html

但它没有公开创建伞式框架的方法。

请建议逐步方法来创建一个伞式框架。

最佳答案

我们都知道,Apple 极力反对创建伞式框架。但苹果也表示可以通过 Xcode 实现。 https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/CreationGuidelines.html#//apple_ref/doc/uid/20002254-BAJHGGGA

我在 Xcode 5.1 上通过这些简单的方法实现了创建伞形框架。我们只需要处理一些特殊的配置,将子框架链接到伞形框架。这是我的方法:-

  1. 使用此处描述的方法在 Xcode 5.1 上安装真正的 Static iOS Framework:- https://github.com/kstenerud/iOS-Universal-Framework .

现在可以使用 Xcode 中的新选项创建“静态 iOS 框架”。

enter image description here

  1. 创建一个 Static iOS Framework 并将 Target-> Build Settings-> Architectures-> Architectures 设置更改为 Standard architectures。这将创建具有所有标准架构的框架。

enter image description here

  1. Target-> Build Phase-> Copy Headers 中调整公共(public)头文件。我们可以在这里设置头文件可见性。

enter image description here

  1. Target->Build Phase -> Link Binary With Libraries 中将 SubFramework 链接到 UmbrellaFramework。根据我们的用途,我们可能还需要链接其他标准框架。

enter image description here enter image description here

  1. 如果需要,我们可能还需要在Target->Build Phase->Copy Bundle Resources中添加Bundle Resources。

enter image description here

  1. 我们可能还需要将 -ObjC 添加到 Target->Build Settings->Linking->Other Linker Flag,因为我们可能需要加载一个大型子框架,其中有许多类别需要加载或还需要加载其他框架。

enter image description here

  1. 使用 Target->Build Phases-> +-> New Copy File Build Phase 添加Copy File

enter image description here

  1. 将它的目标更改为 Frameworks 并在那里添加 SubFramework.framework。这会将 SubFramework 复制到 Umbrella Framework。

enter image description here enter image description here

  1. 对于演示,我在 UmbrellaFramework 类中添加了两个演示方法。一个用于演示伞形框架方法调用,一个用于调用子框架方法。

enter image description here enter image description here

  1. 选择 iOS Device 并从 Menu->Product->Archive 中存档 UmbrellaFramework 项目。这将创建我们的伞式框架,仅此而已。

enter image description here

  1. 现在是时候创建一个新的演示项目,并将其与 UmbrellaFramework 链接了。

enter image description here

  1. 只需导入 UmbrellaFramework header 并调用这两个方法。它将在日志窗口中显示 Hello 消息。

enter image description here

关于ios - 如何在 iOS SDK 中创建一个伞形框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27484997/

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