如何在iOS SDK中创build一个伞架?
我想在iOS SDK中创build一个伞形框架。 我的要求是:
我有一个名为“框架A”的框架,我想创build另一个名为“框架B”的框架。 我想将“框架A”作为子框架添加到“框架B”中,用户只需在其项目中导入“框架B”即可同时使用“框架A”和“框架B”。 换句话说,“框架B”将作为“框架A”的包装。 我通过以下关于框架创作的链接从苹果公司读出:
https://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/FrameworkAnatomy.html
但它并没有揭示创build一个伞架的方式。
请build议一步一步的方法来创build一个伞架。
我们都知道,创造伞架是受到苹果公司高度的阻挠。 但苹果也表示可以通过Xcode。 https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/CreationGuidelines.html#//apple_ref/doc/uid/20002254-BAJHGGGA
我在Xcode 5.1上通过这些简单的方法实现了创build伞架。 我们只需要做一些特殊的configuration来把子框架和伞形框架连接起来。 这是我的做法:
1)从这里描述的方法在Xcode 5.1上安装真正的Static iOS Framework
: – https://github.com/kstenerud/iOS-Universal-Framework 。
现在,可以使用Xcode中的新选项创build“静态iOS框架”。
2)创build一个Static iOS Framework
,并将Target-> Build Settings-> Architectures-> Architectures
设置更改为标准体系结构。 这将创build具有所有标准体系结构的框架。
3)调整Target-> Build Phase-> Copy Headers
公共标题文件。 我们可以在这里设置头文件的可视性。
4)在Target->Build Phase -> Link Binary With Libraries
链接子框架到伞框架。 根据我们的使用情况,我们可能还需要链接其他标准框架。
5)如果需要的话,我们可能还需要在Target-> Build Phase-> Copy Bundle Resources
添加包资源。
6)我们可能还需要添加-ObjC
到Target-> Build Settings->Linking-> Other Linker Flag
,因为我们可能需要加载一个大的子框架,有很多类别加载或需要加载额外的框架。
7)使用Target-> Build Phases-> +-> New Copy File Build Phase
添加Copy File
。
8)改变它的目的地为Frameworks
并在那里添加SubFramework.framework。 这会将SubFramework复制到Umbrella Framework。
9)演示我在UmbrellaFramework类中添加了两个演示方法。 一个用来演示伞框架方法调用和一个用于调用子框架方法的框架。
10)从Menu->Product->Archive
存档中selectiOS Device
并存档UmbrellaFramework项目。 这将创build我们的伞架,就这些了。
11)现在是时候创build一个新的演示项目,并将其与UmbrellaFramework链接。
12)只需导入UmbrellaFramework标题并调用两个方法。 它会在日志窗口中显示Hello消息。
要创build一个包含子框架的基于Swift的Umbrella框架,您可以按照这里写下的分步指南: 总括框架