目前分享功能支持新浪微博分享、QQ分享、微信分享,分享功能首先需要到各开放平台申请帐号,参考 文档

# 新浪微博分享

# 添加依赖库及资源

依赖库 系统库 依赖资源
liblibShare.a、libSinaShare.a、libWeiboSDK.a ImageIO.framework、libsqlite3.0.tbd WeiboSDK.bundle

# 工程配置

1.在 info.plist 中添加 sinaweibo 字段,填入自己帐号的信息,如下图

# 注意 SDK 3.2.0+ 必须按照下图填写

2.在工程的 info -> URL types 中添加配置,identifier 填写com.weibo,URL Schemes 填写wb[后面填写appkey],如下图所示

3.在 info.plist 添加 Schemes 白名单

# 注意 SDK 3.2.0+ 必须按照下图填写

配置Associated Domains(域名)

填写通用链接域名

# QQ分享

# 添加依赖库及资源

依赖库 系统库 依赖资源
liblibShare.a、libQQShare.a、TencentOpenAPI.framework

# 工程配置

1.在工程的 info -> URL types 中添加配置,identifier 填写tencentopenapi,URL Schemes 填写tencent[后面填写appid],如下图所示

2.在 info.plist 添加 Schemes 白名单

# 注意 SDK 3.2.0+ 必须按照下图填写

  1. 在 info.plist 中添加 qq 字段,填入自己帐号的信息

  1. 配置Associated Domains(域名)

填写通用链接域名

# 微信分享

# 添加依赖库及资源

依赖库 系统库 依赖资源
liblibShare.a、libweixinShare.a、libWeChatSDK.a libsqlite3.0.tbd、libz.tbd、CoreTelephony.framework、SystemConfiguration.framework

注意:SDK 中的

  • libWeChatSDK_pay.a 为带支付功能的微信SDK,支持微信分享、微信支付及微信授权登录功能
  • libWeChatSDK.a 为不带支付功能的SDK,仅支持微信分享和授权登录,不使用支付功能请添加此库,避免审核被拒
  • 不要同时添加到工程避免冲突

# 工程配置

1.在工程的 info -> URL types 中添加配置,identifier 填写weixin,URL Schemes 填写wx[后面填写appid],如下图所示

2.在 info.plist 添加 Schemes 白名单

3.配置Associated Domains(域名)

填写通用链接域名

4.在info.plist root 节点添加UniversalLinks字段,值和您在微信开放平台配置的一致,参考如下:(SDK 3.2.0版本以后 此项已废弃,仅保留字段,配置参数已经位置如步骤5所示)

5.在 info.plist 添加 weixin(3.2.0 以前为weixinoauth) 项,填写微信 appidUniversalLinks,值和您在微信开放平台配置的一致,参考如下:

6.在工程的 AppDelegate.m 系统通用链接回调方法中调用框架方法如下:

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray<id<UIUserActivityRestoring>> * __nullable restorableObjects))restorationHandler {
    [PDRCore handleSysEvent:PDRCoreSysEventContinueUserActivity withObject:userActivity];
    restorationHandler(nil);
    return YES;
}

注意 :所有分享都需要实现如下方法

在 AppDelegate.m 文件的系统回调方法中调用框架的方法如下

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
    [PDRCore handleSysEvent:PDRCoreSysEventOpenURL withObject:url];
    return YES;
}


- (BOOL)application:(UIApplication *)application openURL:(nonnull NSURL *)url options:(nonnull NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
    [PDRCore handleSysEvent:PDRCoreSysEventOpenURLWithOptions withObject:@[url,options]];
    return YES;
}