Cocoa Touch框架和Cocoa Touch静态库的区别

27

对于Cocoa Touch框架和Cocoa Touch静态库,有什么评论吗?

你能像静态库一样分发框架而不提供源代码吗?

1个回答

25
Cocoa Touch框架支持在Xcode 6中添加,主要是为了支持iOS 8和Mac OS 10.10中的应用扩展App Extensions。 应用程序扩展必须构建为Cocoa Touch框架。
与静态库相比,框架需要较少的手动设置工作,尽管CocoaPods在很大程度上解决了这些痛点。
通常情况下,框架可以 - 并且默认情况下会 - 在构建目标中没有源代码的情况下进行构建。 通常只有头文件在目标中。 因此,您可以创建和共享仅二进制的框架。

3
Cocoa Touch静态库有什么(不)优点?框架就像C#中的动态库一样,如果多个应用程序需要使用和调用它,则仅加载一次;而静态库则会在每次应用程序调用时都被加载一次。 - János
10
一个 Cocoa Touch 静态库无法包含 Swift 代码。如果你正在开发一个 Swift 库,你必须使用框架(framework)。 - simeon
从实际角度来看,框架仅支持iOS 8及以上版本,而静态库可以“一路回到”iOS 6,这是使用Xcode 7构建Xcode项目的最远距离。如果您需要支持iOS 8之前的版本,则应考虑使用Cocoa Touch静态库并使用Objective-C编写代码。 - Niraj

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接