leancloud / leancloud-social-ios

LeanCloud 社交登录组件,轻松加入 QQ、微博、微信登录
https://leancloud.cn/docs/sns.html
159 stars 50 forks source link

why not support AFNetWorking 3.0.4 #39

Closed baxsad closed 7 years ago

baxsad commented 8 years ago
zymxxxs commented 8 years ago

我也遇到这个问题了,我们的网络层是针对AF3.0做的封装,但是Social是依赖2.0的,有点难搞。我目前把AF3.0文件名都给改了一遍暂时替代一下。

tang3w commented 8 years ago

我们考虑去掉网络库依赖。

zymxxxs commented 8 years ago

刚刚尝试用pod package的方式,这样子就会避免引用冲突的问题,突然发现依赖中有ibAVOSCloud.a,不能通过验证。= =、

tang3w commented 8 years ago

@zymxxx 旧版本的 AVOSCloud 是通过静态库的方式发布的,可能 CocoaPods 不允许这种情况。可以将 LeanCloudSocial.podspec 中的 AVOSCloud 版本号指定为 3.4.0-beta 尝试一下,新版是通过源码集成的。

另外,pod package 如何避免引用冲突呢?Xcode 在链接过程中不会发现错误吗?

zymxxxs commented 8 years ago

cocoapods-packager有一个好处是对依赖的第三方库进行重命名以解决库类命名冲突的问题。

https://github.com/CocoaPods/cocoapods-packager

tang3w commented 8 years ago

@zymxxx 感谢提供信息。

zymxxxs commented 8 years ago

@tang3w 刚刚看了下AVOSCloud的源码,typedef AVHTTPClient AFHTTPClient;也是一种解决方式,get到了。

另外,这两天我研究了LeanCloud开放的相关Demo,发现贵团队在pods template的使用上有很多巧妙之处,学到了很多东西,表示感谢。 最后,LeanCloud团队是否有一些公开的SDK开发资料,外链,可以提供学习下吗?

tang3w commented 8 years ago

你好,很高兴能帮到你。很遗憾暂时还没有相关资料。欢迎鉴定源码。

另外,我尝试了 pod package 还有些问题。一方面是 non-static 符号无法做 name mangling,另一方面无法生成 dependencies 的 public header。

我们稍后会提供一个临时的 framework。

zymxxxs commented 8 years ago

@tang3w 是的,我将AVOSCloud 版本号指定为3.4.0-beta进行package的时候也遇到了non-static符号无法做name managing,对于无法生成dependencies的public header的问题,应该看具体需求吧,我这边暂时不需要(不排除以后需要的可能)。目前来看,贵团队的这种做法应该算是比较全面和可行性高的。继续研究ing

谢谢。

tang3w commented 8 years ago

做了一个临时版本,解决了 AFNetworking 的依赖冲突。可以这样指定临时版本:

pod 'LeanCloudSocial', :podspec => 'https://dn-lhzo7z96.qbox.me/1469179619802'
ChenYilong commented 7 years ago

1.0.0-beta 已经发布,相关PR见:https://github.com/leancloud/leancloud-social-ios/pull/53