Git Product home page Git Product logo

sharesdk-for-ios's Introduction

ShareSDK For iOS

文档语言 : 中文 | English

概述

ShareSDK是一个完全免费的社会化分享组件,为移动端的iOS/Android App提供社会化功能。本组件是iOS组件,提供简单轻巧的接口,能快速实现第三方登录、获取用户信息、社会化平台分享,获取好友等功能。本组件支持国内外超过四十个主流社交平台。 集成本组件将大大缩短开发者的开发时间。同时还提供的专业的后台统计等丰富的扩展功能,助力App的推广运营。


当前版本更新(4.4.17)

1.升级facebook V16.10

当前版本更新(4.4.13)

更新说明:

1.开放google+ 对外token字段 2.修复 telegram 空格分享问题 3.修复 Youtube 无法分享的问题 4.修复 twitter 授权问题

当前版本更新(4.4.6)

更新说明:

1.修复google+新用户授权异常问题

当前版本更新(4.4.5)

更新说明:

1.修复messenger,whatsapp分享bug

当前版本更新(4.4.4)

更新说明:

1.修复Facebook首次分享不成功的bug

当前版本更新(4.4.3)

更新说明: 1.修复facebook,钉钉,evernote,Youtube,Telegram,LinkedIn,VK平台分享异常问题 2.修复5G网络报错问题 3.snapchat,抖音,kakao,微信,qq,facebook,钉钉,企业微信等第三方SDK更新

当前版本更新(4.4.2)

更新说明: 1.Line文字分享改为新的接口 2.Tumblr新增分享链接、音频、视频 3.Reddit新增分享图片

当前版本更新(4.4.1)

更新说明: 1.钉钉SDK更新,新增支持APP授权 2.Tik TokSDK更新,新增支持授权功能 3.新增支持分享图片、链接到抖音IM 4.微信授权新增state校验(以时间戳的形式设置state),防止被第三方伪造信息 5.口令分享功能问题修复

当前版本更新(4.4.0)

更新说明:

  1. 修复多个海外平台已知问题
  2. 升级微信、QQ、新浪微博等平台分享功能

当前版本更新(4.3.17)

更新说明:

  1. Facebook SDK升级为最新版本9.0
  2. Facebook Messenger分享添加SDK分享,依赖于Facebook SDK
  3. 修复部分bug

当前版本更新(4.3.16)

更新说明:

  1. Facebook SDK升级为最新版本8.2
  2. 默认关闭视频分享功能,给视频分享功能新增开关控制
  3. 修复部分bug

更多版本更新说明

当前版本更新(4.3.15)

更新说明:

  1. Facebook、Twitter、LinkedIn等平台新增系统分享接口
  2. 授权页面新增页面加载进度条
  3. 修复已知bug

更多版本更新说明

当前版本更新(4.3.11)

更新说明:

  1. 新增TikTok平台
  2. 对其他平台优化

更多版本更新说明


一、获取AppKey

如何在我们的官网注册应用得到appkey,请点击 链接 看里面的操作步骤。

二、快速集成

下面是使用Cocoapods集成方式,另一种通过官方下载相关Framework直接集成 下载地址。 ShareSDK支持使用Cocoapods集成,请按需在Podfile文件中添加以下语句:


# ============================== START ShareSDK ==============================
# 主模块(必须)
pod 'mob_sharesdk'
 
 
# UI模块(非必须,需要用到ShareSDK提供的分享菜单栏和分享编辑页面需要以下1行)
pod 'mob_sharesdk/ShareSDKUI'
 
 
# 平台SDK模块(对照一下平台,需要的加上。如果只需要QQ、微信、新浪微博,只需要以下3行)
pod 'mob_sharesdk/ShareSDKPlatforms/QQ'
pod 'mob_sharesdk/ShareSDKPlatforms/SinaWeibo'
#(微信sdk不带支付的命令)
pod 'mob_sharesdk/ShareSDKPlatforms/WeChat'   
#(微信sdk带支付的命令,和上面不带支付的不能共存,只能选择一个
# pod 'mob_sharesdk/ShareSDKPlatforms/WeChatFull')
 
# 平台SDK模块其他平台,按需添加
pod 'mob_sharesdk/ShareSDKPlatforms/RenRen'
pod 'mob_sharesdk/ShareSDKPlatforms/AliPaySocial'
pod 'mob_sharesdk/ShareSDKPlatforms/Kakao'
pod 'mob_sharesdk/ShareSDKPlatforms/Yixin'
pod 'mob_sharesdk/ShareSDKPlatforms/Facebook'
pod 'mob_sharesdk/ShareSDKPlatforms/Messenger'
pod 'mob_sharesdk/ShareSDKPlatforms/Copy'
pod 'mob_sharesdk/ShareSDKPlatforms/Evernote'
pod 'mob_sharesdk/ShareSDKPlatforms/GooglePlus'
pod 'mob_sharesdk/ShareSDKPlatforms/Instagram'
pod 'mob_sharesdk/ShareSDKPlatforms/Instapaper'
pod 'mob_sharesdk/ShareSDKPlatforms/Line'
pod 'mob_sharesdk/ShareSDKPlatforms/Mail'
pod 'mob_sharesdk/ShareSDKPlatforms/SMS'
pod 'mob_sharesdk/ShareSDKPlatforms/WhatsApp'
pod 'mob_sharesdk/ShareSDKPlatforms/MeiPai'
pod 'mob_sharesdk/ShareSDKPlatforms/DingTalk'
pod 'mob_sharesdk/ShareSDKPlatforms/YouTube'
pod 'mob_sharesdk/ShareSDKPlatforms/Twitter'
pod 'mob_sharesdk/ShareSDKPlatforms/Dropbox'
pod 'mob_sharesdk/ShareSDKPlatforms/DingTalk'
pod 'mob_sharesdk/ShareSDKPlatforms/CMCC'
pod 'mob_sharesdk/ShareSDKPlatforms/Telegram'
pod 'mob_sharesdk/ShareSDKPlatforms/Reddit'
pod 'mob_sharesdk/ShareSDKPlatforms/DouBan'
pod 'mob_sharesdk/ShareSDKPlatforms/Flickr'
pod 'mob_sharesdk/ShareSDKPlatforms/KaiXin'
pod 'mob_sharesdk/ShareSDKPlatforms/LinkedIn'
pod 'mob_sharesdk/ShareSDKPlatforms/MingDao'
pod 'mob_sharesdk/ShareSDKPlatforms/Pinterest'
pod 'mob_sharesdk/ShareSDKPlatforms/Pocket'
pod 'mob_sharesdk/ShareSDKPlatforms/Print'
pod 'mob_sharesdk/ShareSDKPlatforms/TencentWeibo'
pod 'mob_sharesdk/ShareSDKPlatforms/Tumblr'
pod 'mob_sharesdk/ShareSDKPlatforms/VKontakte'
pod 'mob_sharesdk/ShareSDKPlatforms/YouDaoNote'
pod 'mob_sharesdk/ShareSDKPlatforms/ESurfing'
pod 'mob_sharesdk/ShareSDKPlatforms/FacebookAccount'
pod 'mob_sharesdk/ShareSDKPlatforms/Douyin'
pod 'mob_sharesdk/ShareSDKPlatforms/TikTok'
 
# 使用配置文件分享模块(非必需)
pod 'mob_sharesdk/ShareSDKConfigFile'
 
 
# 扩展模块(在调用可以弹出我们UI分享方法的时候是必需的)
pod 'mob_sharesdk/ShareSDKExtension'

# ============================== END ShareSDK ==============================



三、在使用pod集成过程中以下为可能出现的问题及解决方案

如果搜索不到我们的这个mob_sharesdk时:
1、请先进行:pod setup
2、再清空一下搜索索引,让pod重建索引
rm ~/Library/Caches/CocoaPods/search_index.json
注意:之前的命令写法之后会慢慢废弃,建议都使用这个新的命令写法

CocoaPods的介绍和使用,可以参考:网页链接
如果安装过程中遇到问题,可以参考:网页链接
如果pod更新比较慢的话,可以在后面加源,需要集成的命令写法 点击此处

四、项目中配置及如何使用ShareSDK

第一步:设置ShareSDK的Appkey并初始化对应的第三方社交平台

在项目工程的Info.plist 中如图增加 MOBAppkey 和 MOBAppSecret 两个字段
在 MOBAppkey中 设置ShareSDK的appKey,如果尚未在ShareSDK官网注册过App,请移步到登录后台进行应用注册 也可以点击链接看里面的操作步骤。

友情提示:如果您同时多个MOBSDK产品 在info.plist中的设置一次就可以了。

打开*AppDelegate.m(*代表你的工程名字)导入头文件

#import <ShareSDK/ShareSDK.h>

在- (BOOL)application: didFinishLaunchingWithOptions:方法中调用registerApp方法来初始化SDK并且初始化第三方平台(各社交平台申请AppKey的网址及申请流程汇总)

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [ShareSDK registPlatforms:^(SSDKRegister *platformsRegister) {
        //QQ
        [platformsRegister setupQQWithAppId:@"100371282" appkey:@"aed9b0303e3ed1e27bae87c33761161d"];
        
        //微信
        [platformsRegister setupWeChatWithAppId:@"wx617c77c82218ea2c" appSecret:@"c7253e5289986cf4c4c74d1ccc185fb1"];
        
        //新浪
        [platformsRegister setupSinaWeiboWithAppkey:@"568898243" appSecret:@"38a4f8204cc784f81f9f0daaf31e02e3" redirectUrl:@"http://www.sharesdk.cn"];
        
        //Facebook
        [platformsRegister setupFacebookWithAppkey:@"1412473428822331" appSecret:@"a42f4f3f867dc947b9ed6020c2e93558" displayName:@"shareSDK"];
        
        //Twitter
        [platformsRegister setupTwitterWithKey:@"viOnkeLpHBKs6KXV7MPpeGyzE" secret:@"NJEglQUy2rqZ9Io9FcAU9p17omFqbORknUpRrCDOK46aAbIiey" redirectUrl:@"http://mob.com"];
        //Instagram
        [platformsRegister setupInstagramWithClientId:@"ff68e3216b4f4f989121aa1c2962d058" clientSecret:@"1b2e82f110264869b3505c3fe34e31a1" redirectUrl:@"http://sharesdk.cn"];
        
        //钉钉
        [platformsRegister setupDingTalkWithAppId:@"dingoabcwtuab76wy0kyzo"];
        
        //支付宝
        [platformsRegister setupAliSocialWithAppId:@"2017062107540437"];
        
        //豆瓣
        [platformsRegister setupDouBanWithApikey:@"02e2cbe5ca06de5908a863b15e149b0b" appSecret:@"9f1e7b4f71304f2f" redirectUrl:@"http://www.sharesdk.cn"];
        
        //Dropbox
        [platformsRegister setupDropboxWithAppKey:@"us514wslpfojbxc" appSecret:@"w0nmp4os3ngo1ja" redirectUrl:@"http://localhost"];
        
        //易信
        [platformsRegister setupYiXinByAppId:@"yx0d9a9f9088ea44d78680f3274da1765f" appSecret:@"1a5bd421ae089c3" redirectUrl:@"https://open.yixin.im/resource/oauth2_callback.html"];
        //Flickr
        [platformsRegister setupFlickrWithApiKey:@"cbed81d4a1bc7417693ab7865e354717" apiSecret:@"4c490343869091f2"];
        
        //Instapaper
        [platformsRegister setupInstapaperWithConsumerKey:@"4rDJORmcOcSAZL1YpqGHRI605xUvrLbOhkJ07yO0wWrYrc61FA" consumerSecret:@"GNr1GespOQbrm8nvd7rlUsyRQsIo3boIbMguAl9gfpdL0aKZWe"];
        
        //Line
        [platformsRegister setupLineAuthType:SSDKAuthorizeTypeBoth];
        
        //YinXiang
        [platformsRegister setupEvernoteByConsumerKey:@"46131514-6903" consumerSecret:@"08d7a6f3afcc888a" sandbox:YES];
        
        //Evernote
        [platformsRegister setupEvernoteByConsumerKey:@"46131514-6903" consumerSecret:@"08d7a6f3afcc888a" sandbox:YES];
        
        //kakao
        [platformsRegister setupKaKaoWithAppkey:@"9c17eb03317e0e627ec95a400f5785fb" restApiKey:@"802e551a5048c3172fc1dedaaf40fcf1" redirectUrl:@"http://www.mob.com/oauth"];
        
        //VKontakte
        [platformsRegister setupVKontakteWithApplicationId:@"5312801" secretKey:@"ZHG2wGymmNUCRLG2r6CY" authType:SSDKAuthorizeTypeBoth];
        
        //YouTube
        [platformsRegister setupYouTubeWithClientId:@"906418427202-jinnbqal1niq4s8isbg2ofsqc5ddkcgr.apps.googleusercontent.com" clientSecret:@"" redirectUrl:@"http://localhost"];
        
        //美拍
        [platformsRegister setupMeiPaiWithAppkey:@"1089867639"];
        
        //腾讯微博
        [platformsRegister setupTencentWeiboWithAppkey:@"801307650" appSecret:@"ae36f4ee3946e1cbb98d6965b0b2ff5c" redirectUrl:@"http://www.sharesdk.cn"];
        
        //人人网
        [platformsRegister setupRenRenWithAppId:@"226427" appKey:@"fc5b8aed373c4c27a05b712acba0f8c3" secretKey:@"f29df781abdd4f49beca5a2194676ca4" authType:SSDKAuthorizeTypeBoth];
        
        //CMCC
        [platformsRegister setupCMCCByAppId:@"300011862498" appKey:@"38D9CA1CC280C5F207E2C343745D4A4B" displayUI:YES];
        
        //有道云笔记
        [platformsRegister setupYouDaoNoteWithConsumerKey:@"dcde25dca105bcc36884ed4534dab940" consumerSecret:@"d98217b4020e7f1874263795f44838fe" oauthCallback:@"http://www.sharesdk.cn/"];
        
        //明道
        [platformsRegister setupMingDaoByAppKey:@"97230F25CA5C" appSecret:@"A5DC29AF7C5A5851F28E903AE9EAC0" redirectUrl:@"http://mob.com"];
        
        //开心网
        [platformsRegister setupKaiXinByApiKey:@"358443394194887cee81ff5890870c7c" secretKey:@"da32179d859c016169f66d90b6db2a23" redirectUrl:@"http://www.sharesdk.cn/"];
        
        //Google+
        [platformsRegister setupGooglePlusByClientID:@"351114257251-isfr7cnt5gop930krntpf246d9ofv8j5.apps.googleusercontent.com" clientSecret:@"" redirectUrl:@"http://localhost"];
        
        //Pinterest
        [platformsRegister setupPinterestByClientId:@"4987008320438021391"];
        
        //Pocket
        [platformsRegister setupPocketWithConsumerKey:@"11496-de7c8c5eb25b2c9fcdc2b627" redirectUrl:@"pocketapp1234"];
        
        //LinkedIn
        [platformsRegister setupLinkedInByApiKey:@"46kic3zr7s4n" secretKey:@"RWw6WRl9YJOcdWsj" redirectUrl:@"http://baidu.com"];
        
        //Instapaper
        [platformsRegister setupInstapaperWithConsumerKey:@"4rDJORmcOcSAZL1YpqGHRI605xUvrLbOhkJ07yO0wWrYrc61FA" consumerSecret:@"GNr1GespOQbrm8nvd7rlUsyRQsIo3boIbMguAl9gfpdL0aKZWe"];
        
        //Tumblr
        [platformsRegister setupTumblrByConsumerKey:@"2QUXqO9fcgGdtGG1FcvML6ZunIQzAEL8xY6hIaxdJnDti2DYwM" consumerSecret:@"3Rt0sPFj7u2g39mEVB3IBpOzKnM3JnTtxX2bao2JKk4VV1gtNo" redirectUrl:@"http://sharesdk.cn"];
        
        //SMS
        [platformsRegister setupSMSOpenCountryList:NO];
        
        //Telegram
        [platformsRegister setupTelegramByBotToken:@"600852601:AAElp9J93JiYevLocDIEYPhEYulnMFuB_nQ" botDomain:@"http://127.0.0.1"];
        
        //Reddit
        [platformsRegister setupRedditByAppKey:@"ObzXn50T7Cg0Xw" redirectUri:@"https://www.mob.com/reddit_callback"];
        
        //ESurfing(天翼)
        [platformsRegister setupESurfingByAppKey:@"8148612606" appSecret:@"mCltrhUqwshFa86egDTs0491ibaAulKA" appName:@"shareSDK"];
    }];
    return YES;
}

第二步:添加实现代码 打开需要集成分享功能的视图源码,把如下代码复制并粘贴到你要分享的位置,例如到响应分享按钮的方法中。并且修改相应的参数即可。

1.需要在分享的试图中导入的头文件

#import <ShareSDK/ShareSDK.h>
#import <ShareSDKUI/ShareSDK+SSUI.h>

2.调用构造分享参数接口和分享的接口

由于苹果审核政策需求,对于那些需要客户端分享的平台,例如微信,QQ,QQ空间等,我们的分享菜单的方法里已经处理,没有安装客户端是不会在分享菜单上显示的,只有安装了才会显示。

// 使用ShareSDK提供的分享菜单
    //1、创建分享参数
    NSArray* imageArray = @[[UIImage imageNamed:@"shareImg.png"]];
    //(注意:图片可以是UIImage对象,名称必须要传正确,如果要分享网络图片,可以这样传iamge参数 images:@[@"http://mob.com/Assets/images/logo.png?v=20150320"])
    NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
    [shareParams SSDKSetupShareParamsByText:@"分享内容"
                                     images:imageArray
                                        url:[NSURL URLWithString:@"http://mob.com"]
                                      title:@"分享标题"
                                       type:SSDKContentTypeAuto];
    //2、分享(可以弹出我们的分享菜单和编辑界面)
    //大家请注意:4.1.2版本之前(不包含) 调用此方法使用SDK提供的分享菜单
    [ShareSDK showShareActionSheet:nil //要显示菜单的视图, iPad版中此参数作为弹出菜单的参照视图,只有传这个才可以弹出我们的分享菜单,可以传分享的按钮对象或者自己创建小的view 对象,iPhone可以传nil不会影响
                             items:nil
                       shareParams:shareParams
               onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) {
                   switch (state) {
                       case SSDKResponseStateSuccess:
                       {
                           UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"分享成功"
                                                                               message:nil
                                                                              delegate:nil
                                                                     cancelButtonTitle:@"确定"
                                                                     otherButtonTitles:nil];
                           [alertView show];
                           break;
                       }
                       case SSDKResponseStateFail:
                       {
                           UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"分享失败"
                                                                           message:[NSString stringWithFormat:@"%@",error]
                                                                          delegate:nil
                                                                 cancelButtonTitle:@"OK"
                                                                 otherButtonTitles:nil, nil];
                           [alert show];
                           break;
                       }
                       default:
                           break;
                   }
               }];
    
    //大家请注意:4.1.2版本开始因为UI重构了下,所以这个弹出分享菜单的接口有点改变,如果集成的是4.1.2以及以后版本,如下调用:
    [ShareSDK showShareActionSheet:nil
                       customItems:nil
                       shareParams:shareParams
                sheetConfiguration:nil
                    onStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) {
                        switch (state) { 
                            case SSDKResponseStateSuccess:
                            {
                                UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"分享成功"
                                                                                    message:nil
                                                                                   delegate:nil
                                                                          cancelButtonTitle:@"确定"
                                                                          otherButtonTitles:nil];
                                [alertView show];
                                break;
                            }
                            case SSDKResponseStateFail:
                            {
                                UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"分享失败"
                                                                                message:[NSString stringWithFormat:@"%@",error]
                                                                               delegate:nil
                                                                      cancelButtonTitle:@"OK"
                                                                      otherButtonTitles:nil, nil];
                                [alert show];
                                break;
                            }
                            default:
                                break;
                        }
                    }];
                    
// 用户自定义菜单后分享某个平台
    //1、创建分享参数
    NSArray* imageArray = @[[UIImage imageNamed:@"shareImg.png"]];
    //(注意:图片可以是UIImage对象,名称必须要传正确,如果要分享网络图片,可以这样传iamge参数 images:@[@"http://mob.com/Assets/images/logo.png?v=20150320"])
    NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
    [shareParams SSDKSetupShareParamsByText:@"分享内容"
                                     images:imageArray
                                        url:[NSURL URLWithString:@"http://mob.com"]
                                      title:@"分享标题"
                                       type:SSDKContentTypeAuto];
    //2、分享
    SSDKPlatformType platformType = SSDKPlatformTypeSinaWeibo;//分享平台 如:新浪微博
    [ShareSDK share:platformType
         parameters:shareParams
     onStateChanged:^(SSDKResponseState state, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error) {
         switch (state) {
             case SSDKResponseStateSuccess:
             {
                 UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"分享成功"
                                                                     message:nil
                                                                    delegate:nil
                                                           cancelButtonTitle:@"确定"
                                                           otherButtonTitles:nil];
                 [alertView show];
                 break;
             }
             case SSDKResponseStateFail:
             {
                 UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"分享失败"
                                                                 message:[NSString stringWithFormat:@"%@",error]
                                                                delegate:nil
                                                       cancelButtonTitle:@"OK"
                                                       otherButtonTitles:nil, nil];
                 [alert show];
                 break;
             }
             default:
                 break;
         }
     }];    
                                       

注意 上面方法只是举例,版本更新或许会有所变动,具体请参考Framework包中API及Demo使用更加详细

编译并运行后,点击分享按钮就成功发送到社交平台的话说明你已经基本集成成功了。但是,为了使您的用户有更好的分享体验,以及您的应用有更多的分享量,更好地在社交平台上传播,我们建议您参考“进阶功能”的指引进行SSO(免登录)和更多社交平台的设置。

第三步:注意一般情况下使用第三方SDK需要配置相关平台URL Schemes以及白名单

白名单配置:
根据自身项目配置分享/授权平台来添加白名单,如项目中使用了微博、新浪、QQ分享只需添加与之相关的值,下图是因为ShareSDK提供的Demo,它集成了所有平台。

URL Schemes 配置:
可选:支持微信所需的相关配置及代码 在微信开放平台http://open.weixin.qq.com注册应用并取得应用的AppID,然后打开下图位置,在URL Types中添加微信AppID

打开***AppDelegate.m**(*代表你的工程名字)文件,导入微信SDK的头文件并初始化:

#import <ShareSDK/ShareSDK.h>
 
[ShareSDK registPlatforms:^(SSDKRegister *platformsRegister) {
    //微信
    [platformsRegister setupWeChatWithAppId:@"wx617c77c82218ea2c" appSecret:@"c7253e5289986cf4c4c74d1ccc185fb1"];
}];

可选:支持QQ所需的相关配置及代码 登录腾讯开放平台(http://open.qq.com/ )注册成为开发者并登记应用取得AppId,然后打开下图位置,在URL Types中添加QQ的AppID,其格式为:”QQ” + AppId的16进制(如果appId转换的16进制数不够8位则在前面补0,如转换的是:5FB8B52,则最终填入为:QQ05FB8B52 注意:转换后的字母要大写) 转换16进制的方法:echo ‘ibase=10;obase=16;801312852’ |bc,其中801312852为QQ的AppID,见下图

然后打开工程中的 *AppDelegate.m (*代表你的工程名字)文件,导入QQSDK的头文件并初始化:

#import <ShareSDK/ShareSDK.h>

[ShareSDK registPlatforms:^(SSDKRegister *platformsRegister) {
    //QQ
    [platformsRegister setupQQWithAppId:@"100371282" appkey:@"aed9b0303e3ed1e27bae87c33761161d"];
}];

可选:配置新浪微博、Facebook的SSO 登录新浪微博和facebook的开放平台,获取AppID 。新浪微博的url scheme的设置格式为wb+Appkey(这个appkey是在微博上注册应用得到的appkey),facebook的设置格式为fb+AppID(这个appid是在facebook上注册应用得到的appkey)。具体参考下图:

附:目前的新浪微博SDK需要在项目的Build Settings中的Other Linker Flags添加”-ObjC”,如果不配置有可能会崩溃。步骤如下:

当新浪微博需要客户端分享或者增加关注微博的功能,需要打开工程中的***AppDelegate.m**(*代表你的工程名字)文件,导入新浪微博SDK的头文件并初始化:

#import <ShareSDK/ShareSDK.h>

[ShareSDK registPlatforms:^(SSDKRegister *platformsRegister) {
    //新浪
    [platformsRegister setupSinaWeiboWithAppkey:@"568898243" appSecret:@"38a4f8204cc784f81f9f0daaf31e02e3" redirectUrl:@"http://www.sharesdk.cn"];
}];

sharesdk-for-ios's People

Contributors

dangerousdon avatar gz-mob avatar jinghuangliu avatar kengeee avatar moblarry avatar o2space avatar vhbvb avatar vimfung avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sharesdk-for-ios's Issues

Error Domain=NSPOSIXErrorDomain Code=13

[NetworkInfo] Signal strength query returned error: Error Domain=NSPOSIXErrorDomain Code=13 "Permission denied", descriptor: <CTServiceDescriptor 0x281d90e40, domain=1, instance=1>

这个错误应该是ShareSDK抛出的吧。我在没有加入这个之前,没有这个错误。

微信登录失败

sdk版本 4.3.11 跳转微信登录 提示: bundleID 校验不通过, iOS 12.1.2。。微信 7.0.18

MOBFoundation not found

Use pod isntall shareSDK
Podfile

    pod 'ShareSDK2', '~> 2.12.5'
    pod 'ShareSDK2/Connection/QQ'
    pod 'ShareSDK2/Connection/QZone'
    pod 'ShareSDK2/Connection/SinaWeibo'
    pod 'ShareSDK2/Connection/WeChat'
    pod 'ShareSDK2/Extend/QQConnectSDK'
    pod 'ShareSDK2/Extend/WeChatSDK'
    pod 'ShareSDK2/UI/Flat'

error

  "_OBJC_CLASS_$_MOBFAdService", referenced from:


      objc-class-ref in ShareSDK


  "_OBJC_CLASS_$_MOBFApplication", referenced from:


      objc-class-ref in ShareSDKCoreService


  "_OBJC_CLASS_$_MOBFDataService", referenced from:


      objc-class-ref in ShareSDK


  "_OBJC_CLASS_$_MOBFDevice", referenced from:


      objc-class-ref in QZoneConnection


      objc-class-ref in ShareSDK


      objc-class-ref in ShareSDKFlatShareViewUI


      objc-class-ref in SinaWeiboConnection


      objc-class-ref in WeChatConnection


  "_OBJC_CLASS_$_MOBFErrorMsg", referenced from:


      objc-class-ref in ShareSDK


      objc-class-ref in ShareSDKCoreService


  "_OBJC_CLASS_$_MOBFErrorReport", referenced from:


      objc-class-ref in ShareSDK


      objc-class-ref in ShareSDKCoreService


  "_OBJC_CLASS_$_MOBFImage", referenced from:


      objc-class-ref in SinaWeiboConnection


  "_OBJC_CLASS_$_MOBFJson", referenced from:


      objc-class-ref in ShareSDKCoreService


  "_OBJC_CLASS_$_MOBFViewController", referenced from:


      objc-class-ref in ShareSDK


ld: symbol(s) not found for architecture x86_64


clang: error: linker command failed with exit code 1 (use -v to see invocation)



LineSDK iOS 9 crash

LineSDK只支持ios10 _kSecAttrKeyTypeECSECPrimeRandom symbol not found, 能否支持ios9?

Not work my project

你好 我正在尝试与iOS集成,但仍然遇到问题,请与我联系。
导入同时使用SDK和依赖项框架完成,但未显示ShareSDK。
您是否为迦太基使用了其他框架,并且由于依赖性问题而没有出现?

使用QQApiImageArrayForQZoneObject分享图片到QQ空间不成功

我使用TencentOpenAPI.framework SDK V3.1。

    UIImage *image = [UIImage imageNamed:@"testImage"];
    NSData *imageData = UIImageJPEGRepresentation(image, 0.7);
    NSArray *array = @[imageData];
    QQApiImageArrayForQZoneObject *img = [QQApiImageArrayForQZoneObject objectWithimageDataArray:array title:@"分享图片到QQ空间"];
    SendMessageToQQReq *req = [SendMessageToQQReq reqWithContent:img];
    QQApiSendResultCode sentCode = [QQApiInterface SendReqToQZone:req];

代码执行以后, sendCode所报的错误码是:10002。但是我的手机QQ版本已经更行到最新了,还是报这个错误,求大神给出解答!!!

QQ分享成功不回调问题,求解决。

  • (BOOL)handleOpenURL:(NSURL *)url
    {
    [QQApiInterface handleOpenURL:url delegate:self]
    .....
    }

//但onResp不回调

  • (void)onResp:(QQBaseResp *)resp
    {
    }

有没有人遇到相同的问题。

iOS10.3.3和NSTimer冲突

iOS11系统没有问题,iOS10.3.3系统有一个诡异的bug:
分享之后,调用该计时器方法。 userInfo 参数有值时候会崩溃,没有值时候不会崩溃!

  • (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(nullable id)userInfo repeats:(BOOL)yesOrNo;

请修改你们的文档!!!

真心让你们的文档感动到哭!
安装ShareSDKUI的时候,你们用的Extension不应该是版本一致的吗???怎么成了pod 'ShareSDK3/ShareSDKExtension' 不应该是 mob_sharesdk/ShareSDKExtension!!!
ShareSDK3难道跟你们的mob_sharesdk版本兼容的???

pod install 报警告 http

[!] 'mob_sharesdk' uses the unencrypted 'http' protocol to transfer the Pod. Please be sure you're in a safe network with only trusted hosts. Otherwise, please reach out to the library author to notify them of this security issue.

分享小程序 有时候调不起来微信

/**
v4.1.2 为微信小程序分享增加

@param title 标题
@param description 详细说明
@param webpageUrl 网址(6.5.6以下版本微信会自动转化为分享链接 必填)
@param path 跳转到页面路径
@param thumbImage 缩略图 , 旧版微信客户端(6.5.8及以下版本)小程序类型消息卡片使用小图卡片样式 要求图片数据小于32k
@param hdThumbImage 高清缩略图,建议长宽比是 5:4 ,6.5.9及以上版本微信客户端小程序类型分享使用 要求图片数据小于128k
@param userName 小程序的userName (必填)
@param withShareTicket 是否使用带 shareTicket 的转发
@param type 分享小程序的版本(0-正式,1-开发,2-体验)
@param platformSubType 分享自平台 微信小程序暂只支持 SSDKPlatformSubTypeWechatSession(微信好友分享)
*/

  • (void)SSDKSetupWeChatMiniProgramShareParamsByTitle:(NSString *)title
    description:(NSString *)description
    webpageUrl:(NSURL *)webpageUrl
    path:(NSString *)path
    thumbImage:(id)thumbImage
    hdThumbImage:(id)hdThumbImage
    userName:(NSString *)userName
    withShareTicket:(BOOL)withShareTicket
    miniProgramType:(NSUInteger)type
    forPlatformSubType:(SSDKPlatformType)platformSubType;

图片都是按上面给的, 有的图片可以完成分享!但是有点图片调不起微信

求教,苹果登录如何获取 userName

用 flutter 插件 sharesdk_plugin: 1.2.4 接通了,
第一次苹果登录也能拿到 fullName,进而自己拼成 userName,
但第二次再去登录时,或者我不知道的原因,fullName 返回了空对象。

是我还要用 token 解析获取之类的吗,还是我插件使用还有问题。
如果是前者,能否插件集成呀。还请大佬们指点。

shareSDK 分享失败 200300,使用shareSDK里的 微信的原生API 可以分享

[ShareSDK showShareActionSheet:nil
customItems:nil
shareParams:shareParams
sheetConfiguration:nil
onStateChanged:^(SSDKResponseState state,
SSDKPlatformType platformType,
NSDictionary *userData, SSDKContentEntity *contentEntity,
NSError *error, BOOL end)
{

}];

Error Domain=ShareSDKErrorDomain Code=200300 "(null)" UserInfo={SEL=registerApp:universalLink:, error_code=200300}

Kakaotalk typo issue (rawData -> rawata) #38

When i try to social login with kakaotalk, and call to GetUserInfo.
i received NULL message.

i debugged few miniutes, i found some typo issue.

(rawData -> rawata)
/ShareSDK/Editor/SDK/ShareSDK/Support/Required/ShareSDK.bundle/ScriptCore/platforms/Kakao.js

And I used the following code temporarily to solve the issue.

NSDictionary* rawData = [user rawData];

// FOR KAKAOTALK TYPO ISSUE TEMPORARY FIX
if(rawData == nil) rawData = [[user dictionaryValue] objectForKey:@"rawata"];

NSMutableDictionary *userData = rawData.mutableCopy;
userData[@"credential"] = [[user credential] rawData];
resultDict[@"res"] = userData;

please check.

UIWebView问题

4.3.2 版本更新 UIWebView 改 WKWebView以后, 这些模块中还有使用 UIWebView

./Pods/MOBFoundation/MOBFoundation/MOBFoundation.framework/Headers/MOBFJSContext.h:- (instancetype)initWithWebView:(UIWebView *)webview;
Binary file ./Pods/MOBFoundation/MOBFoundation/MOBFoundation.framework/MOBFoundation matches
Binary file ./Pods/mob_sharesdk/ShareSDK/Support/PlatformSDK/SinaWeiboSDK/libWeiboSDK.a matches
Binary file ./Pods/mob_sharesdk/ShareSDK/Support/PlatformSDK/WeChatSDK/libWeChatSDK.a matches

NSErrorFailingURLStringKey=http://api.share.mob.com:80/log4

NSErrorFailingURLStringKey=http://api.share.mob.com:80/log4, NSErrorFailingURLKey=http://api.share.mob.com:80/log4, _kCFStreamErrorDomainKey=1} [-1001]
TIC Read Status [14:0x281914600]: 1:60
HTTP load failed (error code: -1001 [1:60])
finished with error - code: -1001
load failed with error Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={_kCFStreamErrorCodeKey=60, NSUnderlyingError=0x28228d650 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={NSErrorPeerAddressKey=<CFData 0x280f3c820 [0x25e6455f0]>{length = 16, capacity = 16, bytes = 0x100200500e11612d0000000000000000}, _kCFStreamErrorCodeKey=60, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask .<1>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalDataTask .<1>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=http://api.share.mob.com:80/log4, NSErrorFailingURLKey=http://api.share.mob.com:80/log4, _kCFStreamErrorDomainKey=1} [-1001]
Could not load IOSurface for time string. Rendering locally instead.

Need check hd thumb Image size function

SSDKSetupWeChatMiniProgramShareParams need a hd thumb image, but SSDKImage can only check thumb image size which is limit to 32k, so it's good idea to support check hd thumb image.

hdThumbImage | 高清缩略图,建议长宽比是 5:4 ,6.5.9及以上版本微信客户端小程序类型分享使用 要求图片数据小于128k

无法唤醒起微信

之前项目一直用的ShareSdk,这次直接把SDK换掉了,换成mob_sharesdk,但是在唤醒起微信时无效,咋解决??

[email protected]

★- 现在加入金都下载资讯端及签到就可领取88RMB体验金,一起成就财富的梦想!
★- 新會員註冊未存款立即贈送100元,只需充值58元,刺激无穷!!
★- 金都国际现在入款10元起即可获得18元礼金,赢满100元即可出款!还有机会参与抢红包活动哟 单个红包最高可获得8888元!请通过专属链接注册即可参与优惠→→→http://url.uk.net/09m8q
★- 新会员存款,前三次入款可赠送高达8888元,无上限。
★- 好高 好高,超高入款优惠来了,只需在公司用公司入款,就可以赠送1.3%的优惠哟
★- 多达百款电子游艺活动以及最高2.O%反水比例,无限畅想 无限Higher
ESID:RC

Xcode 4.6.3, ios sdk 6.1, shareSDK_v2.2.3 缺少符号文件

Undefined symbols for architecture i386:
"OBJC_CLASS$_CTTelephonyNetworkInfo", referenced from:
objc-class-ref in TencentOpenAPI(MTAHelper.o)
"_sqlite3_close", referenced from:
-[MTAStore closeDB] in TencentOpenAPI(MTAStore.o)
"_sqlite3_exec", referenced from:
-[MTAStore updateDatabase:] in TencentOpenAPI(MTAStore.o)
_execute_query in TencentOpenAPI(MTAStore.o)
_execute_update in TencentOpenAPI(MTAStore.o)
"_sqlite3_free", referenced from:
-[MTAStore updateDatabase:] in TencentOpenAPI(MTAStore.o)
_execute_query in TencentOpenAPI(MTAStore.o)
_execute_update in TencentOpenAPI(MTAStore.o)
"_sqlite3_open", referenced from:
-[MTAStore getDB] in TencentOpenAPI(MTAStore.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.