【发布时间】:2016-10-17 15:20:40
【问题描述】:
我正在构建一个 iOS 可可触摸静态库。它依赖于第三方框架。我是否必须将框架与我的应用程序一起提供?
我猜测静态库的定义意味着输出 .a 文件应该已经具有包含框架的必要部分,因此我不必单独提供框架。这是真的吗?
【问题讨论】:
标签: ios xcode frameworks
我正在构建一个 iOS 可可触摸静态库。它依赖于第三方框架。我是否必须将框架与我的应用程序一起提供?
我猜测静态库的定义意味着输出 .a 文件应该已经具有包含框架的必要部分,因此我不必单独提供框架。这是真的吗?
【问题讨论】:
标签: ios xcode frameworks
当您“发布”您的应用程序时,xcode 会创建一个 .ipa 文件,其中所有内容都捆绑在一起,因此您不必做任何额外的事情......
尽管根据我的理解,您的实际问题是当您在应用程序中包含第三方静态库并且该静态库使用其他框架时,您是否需要在您的应用程序中包含这些库?
如果这是问题,那么答案是肯定的,假设您的 .a 静态库依赖于 AFNetworking framework(a popular third party framework) 或/并且需要苹果公司的 CoreLocation.framework,然后在您的应用设置中
Build Phases -> Link Library With Libraries 您需要导入静态库使用的那些框架,然后当您构建应用并将其“运送”到应用商店时,xcode 会处理它(捆绑)它。所以你不必担心。
替代解决方案: 你也可以只添加第三方框架的源代码,当你构建你的 .a 框架时,所有东西都捆绑在一起。如果你这样做,你需要确保类名和方法名是唯一的。
【讨论】:
你在做类似 cocoapod 的东西吗?因为那时,您可以在 podspec 中将其指定为适当的依赖项。否则,您可以包含有关包含第三方框架或将其捆绑到自己中的说明。
【讨论】: