我必须承认,随着iOS 8的发布,我对iOS中的动态和静态框架有些困惑。
我正在寻找一种分发我创建的库的方法,并且我需要支持iOS 7及更高版本。(注意:这将是专有框架。我无法使用可可豆荚,也无法分发源代码)。这是我已经知道的:
- iOS 8引入了适用于iOS的“嵌入式框架”,但据我所知,它们不适用于iOS 7,仅适用于iOS 8及更高版本。
- 我可以选择将我的库分发为静态库(.a文件),也可以分发标头。我知道这是处理这种情况的常用方法,但是我想找到比这更简单的方法(如果可能的话,还要捆绑一些资源)。
- 我还发现iOS 7不支持动态.framework库(仅静态),因为它不支持动态链接。但是iOS 8以及静态链接都可以。
这是我对这些信息的疑问:
- 我看到我可以通过将Mach-O类型更改为“静态库”来创建一个.framework目标并将其设为静态。这足以支持iOS 7而不会出现任何问题,并且还可以将我的库作为.framework bundle?如果是,为什么Internet上的许多资源表明,iOS 8中的“嵌入式框架”这么重要呢?
- 是否需要像我对其他任何应用程序所做的那样对.framework进行代码签名?
- 如果我需要在.framework文件中包含其他资源(如核心数据或图像)怎么办?我需要为此制作一个单独的.bundle文件吗?