如果我的静态库使用AFNetworking并且客户端项目也在使用它,则AFNetworking中定义的常量似乎会发生冲突,从而导致客户端项目无法构建(重复符号错误)。这样的事情通常如何解决?框架创建者应该做些什么来避免这种情况?
答案 0 :(得分:0)
尝试此链接中的方法:
http://blog.sigmapoint.pl/avoiding-dependency-collisions-in-ios-static-library-managed-by-cocoapods/
他描述为:
使用带前缀符号构建库 - 在我看来是最好的方法。我们 想在最终的.a文件中为所有符号添加前缀 例如AFHTTPSessionManager成为 SIGMAPOINT_AFHTTPSessionManager。您的依赖版本不是 连接到开发人员使用的版本,不会发生冲突。该 唯一的缺点是更大的输出文件,因为当有人使用 相同的库最终文件将包含相同的符号:一次 前缀,一旦没有前缀。但整个构建过程将起作用 顺利无误。这是我们将要研究的解决方案 在本文中进一步。
此工具可能有所帮助