贴上Facebook官方接入文档链接:
https://developers.facebook.com/docs/facebook-login/ios
看了下接入文档,第一步导入就遇到了坑😈
坑1:通过Swift Package导入SDK之前没有用过Swift Package这个工具,用了一下,发现这个工具其实和Android Studio的SDK Manager是一样一样滴。按照接入文档,把库的GitHub url填写进去,导入了几次都没有成功,报错信息这样的:
还有这样的(加载不出版本号):
试了十几遍没有拉下来,想想应该是墙的问题,可是用浏览器是可以访问Google的,那么应该是xcode没有走代理,接着搜下怎么给xcode挂代理,照着网上的方法试了好几种,还是没有成功。后来静下心来想了想,为什么不用cocoaPod或者直接把framework下载下来直接加到工程里面呢?按照我们中台化的思想,所有sdk最好统一接入方式,之前接入的admob就是pod导入的方式,还是用pod吧。
使用pod,需要知道pod 什么库,在官网接入文档找了半天,也没找到,干脆不找了,打开Swift Package给的连接https://github.com/facebook/facebook-ios-sdk
大胆猜想FBSDKLoginKit就是我们要找的,Podfile写进去,试了一下,果然成功了\(^o^)/
坑2:Undefined symbol: __swift_FORCE_LOAD_$_swiftDataDetection引入之后,编译一下,出现100多个报错,看很多报错都带swift字眼,搜了下解决方案,也很简单,新建一个空的Swift文件,重新编译一下就没了,试了下也确实可行,真坑啊,oc的代码,导入一个库,还得加个swift的文件才能编译过,呵呵哒o(* ̄︶ ̄*)o
坑3:Unity2018升级21版本之后,Pod导入的库,头文件无法引用FB登录18版本已经接入完毕,21版本接入之后,头文件引入报错
21版本的Unity导出的xcode工程结构有一定变化,主要是多了下面这个
pod引入指定的target需要指定 UnityFramework而不是原来的Unity-iPhone
坑4:GooglePlay商店下载的游戏,登录FB报错:invalid key hash开发过程中,在开发环境下和release版本跑都是ok的,从商店下载的怎么就不能登录了了?下包解压包,看了下秘钥散列,和我们之前的包的开发散列进行了对比,确实不一样。查阅了网上资料,原来上传到Google商店之后,包会被重新签名,这个也比较好处理,把商店下载包的秘钥散列配置到后台就行,不用重新提审,呵呵哒呵呵哒。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)