在iOS开发中,社交分享已经是一个常见的功能。当我们需要快速集成多个平台的分享时,一般会选择一些第三方的分享平台,例如友盟分享。
友盟分享经过多年的发展,现在推出了新版SDK6.1。相比之前的版本,新版友盟在使用方法上更加方便简洁了。但由于改动较大(文件、方法等都有了改动),以前版本的很多使用方法都不能用了,调用方法就有所不同了。
下面就跟大家分享一些在集成和调用时可能遇到或要注意的问题。
1、在我们选择友盟的集成方式后(手动集成或通过Cocoapods集成)。有可能会碰到这样的问题:
使用Cocoapods时被提醒搜索不到友盟的文件。很抱歉的告诉你,你Cocoapods的镜像gem源很有可能是过期了。你需要更换gem源:
gem sources –removehttps://ruby.taobao.org/
gem source -ahttps://gems.ruby-china.org
2、集成之后编译不通过。
这种情况下很大可能是在手动集成时少加入了某些分享平台所需的依赖库。
当在检查完毕后发现并没有少任何依赖库,或者你是Cocoapods集成的但是就是编译不过,这是怎么回事呢?
还有一种可能就是: bitcode设置问题,自后Xcode7.0后项目默认就打开了bitcode设置。然而如果项目链接了第三方二进制的库或者框架(这边指友盟),这个框架又恰好没有包含bitcode的东西(这个东西是啥可自行百度),就会导致项目编译不成功。解决方法就是到你项目的Build Settings搜索一下bitcode,把这货设置成NO再编译,如下图:
设置bitcode3.集成后切记要设置友盟的Appkey和第三方平台的URL Scheme:
设置友盟和第三方平台key如上图在AppDelegate的didFinishLaunchingWithOptions方法中做好友盟的初始化工作。其中友盟的Appkey为友盟账号中申请的应用key。其他第三方的appKey和appSecret为你到对应开放平台申请的应用信息中的key和secret(部分第三方平台只有key)。
设置第三方URL Schemes如上图在Info下方添加URL Types设置对应的第三方URL Schemes。这里一定注意要按照官方文档说的格式来设置。如果设置错误将导致分享之后无法跳回自己应用。格式如下:
友盟提供的URL Schemes格式4.官方文档所提及的适配iOS9,iOS10。要设置为了跳转所需的第三方白名单,而且如果你用的还是HTTP不是HTTPS那么还要设置HTTP白名单。设置详情官方文档中有详细说明,这边就不多啰嗦了。
做完上述工作就可以开始使用友盟SDK调用分享面板,并且根据自己需要来设置分享内容。在这以最常见的链接分享为例。(具体参照官方文档第三方平台分享)
显示出友盟的平台选择面板创建分享内容
5.最后提醒iOS友盟使用者,如果你的应用是要做上线appStore的那么一定要记得设置预定义平台。预定义平台就是判断用户是否安装了相应的第三方应用,如果没有就隐藏。在分享面板上将不进行显示。
先导入相应的头文件 设置预定义平台特别要注意的是官方文档明确提到这必须在调用分享面板之前进行设置,而且传入的平台必须是合法并且是core模块已经检测到的已经存在的平台,不然会被过滤掉(此条款是上线appStore审核的条件,开发者必须注意)。
以上就是本人对新版本友盟做的一些小细节分享,希望可以帮到在使用友盟SDK的你。详细内容还是要请仔细参照官方SDK文档。
谢谢~
网友评论
UMSocialMessageObject *messageObj = [UMSocialMessageObject messageObject];
UMShareWebpageObject *shareObject = [UMShareWebpageObject shareObjectWithTitle:_shareTitle descr:_shareText thumImage:_image];
shareObject.webpageUrl = _url;
messageObj.shareObject = shareObject;