1
dorentus 2014-04-03 23:13:38 +08:00 1
应该是没啥好方法,最好的方法就是不用这个 libA.a
|
2
pright 2014-04-03 23:16:26 +08:00
这命名也太长了
|
3
qdvictory 2014-04-03 23:19:15 +08:00 via iPhone 1
直接重名的可能性不大,估计是liba.a同样编译了afnetworking,何不尝试去掉自己的afnetworking改用liba的
|
5
njuxjy OP @qdvictory 用lipo和ar查看了libA.a的内部结果,发现木有自带AFNetworking,因此怀疑他仅仅用了相同变量名而已。。
|
8
jimneylee 2014-04-04 09:37:24 +08:00 1
名字虽长,其实就是前面两个字母巧合,老外命名规范,所以巧合几率确实比较大的,换作我们国内开发者(包括我:)),即使前面都是AF,后面的命名五花八门,绝对不会重复。吐槽下。
不过这个问题确实很尴尬,我也遇到过,老早之前因为要加renren分享,静态库添加到Three20工程中集成发生冲突,发现他们竟然把SBJSon库打到他们静态库,而且两个SBJson版本不一样,蛋疼,只能修改Three20源码兼容,再后来看的不顺眼果断在分享功能去掉renren分享。。。 |
9
delphiqin 2014-04-04 11:41:47 +08:00
AFNetworking 你不是有源码么,用 refactor->rename 把 AFNetworking 里的 AFNetworkingReachabilityDidChangeNotification 改个名不行么
|
11
krafttuc 2014-04-04 13:44:42 +08:00 1
暂时无解,除非你把AFNetworking对外暴露的常量和接口前再加前缀。__不是好的实践__
此外,这个静态库的作者确实没做好,没有考虑到库的client也会用AFNetworking。在自己的库里引入第三方库,就应当在第三方库前加自己的前缀。 |