# GUNION SHARE SDK 开发手册 for iOS

# 导入头文件

#import <GShare/GHomeShareManager.h>
1

# 在Appdelegate中添加函数

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    [[GHomeShareManager sharedManager] gShareHandleOpenURL:url];
    return [[GHomeAPI sharedGHome] application:application openURL:url sourceApplication:sourceApplication annotation:annotation];
}

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {
    [[GHomeShareManager sharedManager] gShareHandleOpenUniversalLink:userActivity];
    return [[GHomeAPI sharedGHome] application:application continueUserActivity:userActivity restorationHandler:restorationHandler];
}
1
2
3
4
5
6
7
8
9

# 配置三方参数

各平台的appid和universal link 配置,请参考下面的官方文档:

微信配置说明 (opens new window)

微博配置说明 (opens new window)

QQ配置说明 (opens new window)

在Info.plist下加入下面的权限配置

Privacy - Microphone Usage Description  "录制视频"
Privacy - Photo Library Additions Usage Description 本应用需要访问你的“相册” 分享保存图
1
2

# 初始化分享

// QQ平台
[[GHomeShareManager sharedManager] gShareSetupQQWithAppId:@"xxx" universalLinks:@"xxx"];
// 微信平台
[[GHomeShareManager sharedManager] gShareSetupWechatWithAppId:@"xxx" universalLinks:@"xxx"];
// 微博平台
[[GHomeShareManager sharedManager] gShareSetupWeiboWithAppId:@"xxx" universalLinks:@"xxx"];
1
2
3
4
5
6

# 第三方平台分享

方法在GHomeShareManager类中 //使用 [GHomeShareManager sharedManager]调用以下方法

/**
* @param platform    分享的平台 微信 0 
                                                            微信朋友圈 1 
                                                            QQ好友平台 2 
                                                            QQ_PLATFORM 3 
                                                            新浪微博 4 
                                                            弹出选择平台UI 5
*       Text      分享的文字
*       userData      用户数据 选填 用不到可以传 0
*             shareResult   block回调,分享结果
*             title    标题
*             desc    描述
*             imageData    图片数据 类型是NSData
*             vedioURL    分享视频时候视频的URL地址
*             audioURL    分享音频时候音频的URL地址
*             webURL      分享网站时候网站的URL地址
*/

//分享文字
- (void)gShareTextWithPlatform:(int) platform Text:(NSString *) text userData:(NSInteger) userData shareResult: (GShareResult) shareResult;

//分享图片
- (void)gShareImageWithPlatform:(int) platform title:(NSString *) title desc:(NSString *) desc imageData:(NSData *)imageData userData:(NSInteger) userData shareResult: (GShareResult) shareResult;

//分享视频
- (void)gShareVideoWithPlatform:(int) platform title:(NSString *) title desc:(NSString *) desc imageData:(NSData *)imageData videoURL:(NSString *) videoURL userData:(NSInteger) userData shareResult: (GShareResult) shareResult;

//分享音频
- (void)gShareAudioWithPlatform:(int) platform title:(NSString *) title desc:(NSString *) desc imageData:(NSData *)imageData audioURL:(NSString *) audioURL userData:(NSInteger) userData shareResult: (GShareResult) shareResult;

//分享网站
- (void)gShareWebWithPlatform:(int) platform title:(NSString *) title desc:(NSString *) desc imageData:(NSData *)imageData webURL:(NSString *) webURL userData:(NSInteger) userData shareResult: (GShareResult) shareResult;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

调用示例(其他可参考demo)

[[GHomeShareManager sharedManager] gShareTextWithPlatform:nPlatformType Text:@"这是文字分享" userData:12345 shareResult:^(int nPlatformType, int nErrCode, NSString * _Nonnull pszErrMsg, NSInteger lUserData) {
                    //分享结果
}];
1
2
3

# 系统分享

方法在GHomeShareManager类中 //使用 [GHomeShareManager sharedManager]调用以下方法

/**
* @param vc    UIViewController 用来弹出系统分享
*       Text      分享的文字
*       userData      用户数据 选填 用不到可以传 0
*             shareResult   block回调,分享结果
*             desc    描述
*             iamgePaths    图片 图片地址的数组
*             videoPath    分享视频时候视频的路径
*             audioPath    分享音频时候音频的路径
*             url       分享网站时候网站的URL地址
*/
//分享文字
- (void)gSystemShareTextWithViewController:(UIViewController *) vc Text:(NSString *) text userData:(NSInteger) userData shareResult: (GShareResult) shareResult;

//分享图片
- (void)gSystemShareImageWithViewController:(UIViewController *) vc iamgePaths:(NSArray *)paths userData:(NSInteger) userData shareResult: (GShareResult) shareResult;

//分享视频
- (void)gSystemShareVideoWithViewController:(UIViewController *) vc videoPath:(NSString *)path userData:(NSInteger) userData shareResult: (GShareResult) shareResult;

//分享音频
- (void)gSystemShareAudioWithViewController:(UIViewController *) vc audioPath:(NSString *)path userData:(NSInteger) userData shareResult: (GShareResult) shareResult;

//分享网站
- (void)gSystemShareWebWithViewController:(UIViewController *) vc url:(NSString *)url desc:(NSString *)desc imagePath:(NSString *)path userData:(NSInteger) userData shareResult: (GShareResult) shareResult;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

调用示例(其他可参考demo)

[[GHomeShareManager sharedManager] gSystemShareTextWithViewController:self Text:@"这是文字分享" userData:12345 shareResult:^(int nPlatformType, int nErrCode, NSString * _Nonnull pszErrMsg, NSInteger lUserData) {
                //分享结果
                }];
1
2
3

# 录屏功能

方法在GHomeShareManager类中 //使用 [GHomeShareManager sharedManager]调用分享

//录屏初始化
- (void)gShareInitRecordService;
//开始录屏
- (BOOL)gShareStartRecordingCompleteResultCallback:(GRecordResult)recordResult;
//结束录屏
- (void)gShareStopRecord;
//获取录屏状态
- (NSInteger)gShareGetRecordStauts;
//结束录屏并分享
- (void)gShareStopRecordingAndShareWithViewController:(UIViewController *)vc shareResult:(GShareResult)shareResult;
1
2
3
4
5
6
7
8
9
10
Last Updated: 2024/1/17 11:42:21