我正在创建一个模块化的开源库。假设该项目中包含15个.m
个文件。
我应该(1)像Venmo iOS SDK(Cocoa Touch静态库)一样发布它,或者(2)像JSONKit那样发布它(只是源代码)?
答案 0 :(得分:1)
作为源代码发布意味着您和您的开发人员在新架构出现时没有问题。构建为armv6的静态库今天无法与最新的Xcode一起使用。
关于源代码发布的一个警告,因为你不知道它添加的项目将具有哪些构建设置,你需要做额外的工作以确保它尽可能没有警告地构建,即使对于迂腐警告。
答案 1 :(得分:0)
我更喜欢框架而不是静态库。如果您最终需要动态链接,则更容易在框架包中发布资源。如果它的纯C和库依赖关系保证在那里那么它可能没问题。但总的来说,我试图避免静态链接,除非我知道目标操作系统在部署时具有该二进制文件的确切依赖关系。
使用在运行时需要的端点(针对该确切平台编译但具有相同外部接口)加载动态库比使用直接编译为外部依赖项的静态库失败更容易在目标平台上不存在。
也许我很疯狂,但这就是我在C,C ++或obj C中所做的一切。只是我的意见。