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