今天使用pod update的时候,遇到了几个问题,记录分享一下:
1.pod查不到最新内容:
使用高德的SDK,因之前高德SDK含有JSPatch,苹果审核不允许通过,高德官网说
针对此,高德开放平台提供了不含JS-Patch的开发包,供开发者下载和使用。
为了您的应用顺利通过苹果商店审核,请您尽快更新高德iOS Foundation SDK至V1.3.4版本。如有使用iOS 定位 SDK,请一并升级到V2.3.0版本。
我直接升级或者搜索时,最高版本是1.3.2。发现pod update完之后依然不是1.3.4。然后看了一下高德给的提示:
pod repo update #用于保证本地地图相关SDK为最新版
pod install
要先 repo update 更新一下本地仓库,然后在install 或者 update。这下这个算搞定了。
2.ShareSDK无法更新
问了下客服,客服给了个连接,说跟以前更新不一样了,需要单独写下路径参考链接
因为国外的服务器国内连着太慢,选用了国内的,直接复制粘贴的。
但我写完之后,总是报错说文件有冲突,其中冲突的文件就是ShareSDK和SMSSDK中用到的文件,主要是那个MobFundation。我们用的带广告标示的MobFundation_IDFA,明明Podfile中只有MobFundation_IDFA没有MobFundation,但pod分析依赖后,依然添加了MobFundation依赖。我们同时用来shareSDK的分享和短信,而这两个框架只能选择其一。所以就一直报错,工程中pod相关的内容删了好多次都没用。
后来才发现,直接复制粘贴的并不符合要求。例子上的 https://git.oschina.net/MobClub/ShareSDK-for-iOS.git
是不带IDFA的,而我的项目是需要带IDFA版本的,所以依赖总是不对。找到原因之后,换成https://git.oschina.net/MobClub/ShareSDK-for-iOS-Spec.git
之后,总算正常了。
因此使用ShareSDK和SMSSDK时,一定要注意带不带IDFA,所选用的源是不一样的。
3.删除项目的pod文件
彻底删除项目中与pod相关的内容
- 先编辑Podfile,把里面要导入的内容全部删除,更新一遍。
- 再删除文件下与pod相关的所有文件,还有创建的space工程。project还是要留下的,别删错了。
- 打开project,删除目录中与pod相关的文件,并在编译设置删除与pod相关的文件。
需要时再重新创建。使用pod init 创建Podfile文件,然后编辑需要pod的第三方库,然后使用 install或者update更新就好了。