由于官网排版有点乱,这里简单总结一下。Swift 5.1集成和使用友盟分享主要包含以下三个步骤:
步骤一:这里以使用微信分享为例,使用 Cocoapods 进行自动集成友盟分享组件
Podfile添加如下代码:
# umeng
pod 'UMCCommon'
pod 'UMCShare/Social/ReducedWeChat'
运行 pod install集成后,打开桥接头文件,添加以下代码:
#import <UMCommon/UMCommon.h>
#import <UMShare/UMSocialManager.h>
#import <UMShare/UMShare.h>
步骤二: 第三方平台配置
- 配置SSO白名单
<key>LSApplicationQueriesSchemes</key>
<array>
<string>wechat</string>
<string>weixin</string>
</array>
2.配置URL Scheme
通过向项目中的info.plist文件中加入URL types可使用第三方平台所注册的appkey信息向系统注册你的app,当跳转到第三方应用授权或分享后,可直接跳转回你的app。
步骤三:部分关键代码示例:
extension AppDelegate {
///注册友盟
func configUMeng() {
UMConfigure.setLogEnabled(true)
UMConfigure.initWithAppkey(Configs.UMengConfig.Appkey, channel: Configs.UMengConfig.AppChannel)
/* 设置微信的appKey和appSecret */
let manager = UMSocialManager.default()
manager?.setPlaform(.wechatSession, appKey: Configs.WXConfig.AppID, appSecret: Configs.WXConfig.AppSecret, redirectURL: "http://mobile.umeng.com/social")
}
}
///调用分享
UMSocialManager.default().share(to: .wechatSession, messageObject: messageObject, currentViewController: self) { (data, error) in
if ((error) != nil) {
}else{
}
}
集成后,可以直接调用上面的方法测试一下,再根据错误提示来修改。如果没有走步骤2,分享时会报错 UMSocialPlatformErrorDomain Code=2008 "(null)" useInfo = "应用未安装"。