Latest 0.0.5
Homepage https://github.com/GagSquad/SocialSDK
License WTFPL
Platforms ios 8.0, requires ARC
Authors ,

SocialSDK

Version
Platform
Carthage Compatible
build

简介: 实现 Sina WeChat QQ 登录和分享功能

所用第三方SDK版本

SocialSDK QQ(SDK) Sina(SDK) WeChat(SDK)
0.0.3 3.1.3 3.1.4 1.7.5
0.0.4 3.2.1 3.1.4 1.7.7
0.0.5 3.3.3 3.1.4 1.8.2

1. SDK功能

平台 分享 登录 支付
Sina ×
QQ ×
Wechat ×

2.分享渠道支持

渠道 纯文本 单图 普通链接 音频链接 视频链接
Sina
QQ
Qzone
WechatSession
WechatTimeLine

Renderings

纯文本、单图、URL、音频链接、视频链接分享

  SocialSDK_R
  SocialSDK_R
  SocialSDK_R
  SocialSDK_R
  SocialSDK_R

微博登录

  SocialSDK_R

平台集成

1. SocialSDK集成

2. SocialSDK各平台配置

3. 调用SocialSDK


Installation

CocoaPods

编写podfile分为是否使用了use_frameworks!两种情况

1.如果没使用use_frameworks!

pod 'SocialSDK'

2.使用了use_frameworks!

pod 'SocialSDK_UF'
pod 'SocialSDK_R'

手动集成介绍

直接拖动Classes文件到自己的项目中,添加Resources中的资源文件(推荐使用CocoaPods)。

SocialSDK各平台配置

Sina平台配置

WeChat平台配置

QQ平台配置

  • 1、 添加URL Schemes
  • 格式"tencent"+QQ的appID + "QQ"+QQ的appID转换成十六进制(不足8位前面补0) 在线转换十六进制
  • 例如: appID:100424468 –> tencent100424468 QQ05fc5b14
  • SocialSDK_R
  • 2、适配iOS9+系统

iOS9+适配

1. HTTPS传输 在info.plist中加入安全域名白名单(右键info.plist用source code打开)

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>sina.cn</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
            <key>NSExceptionMinimumTLSVersion</key>
            <string>TLSv1.0</string>
        </dict>
        <key>weibo.cn</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
            <key>NSExceptionMinimumTLSVersion</key>
            <string>TLSv1.0</string>
        </dict>
        <key>weibo.com</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSExceptionMinimumTLSVersion</key>
            <string>TLSv1.0</string>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
        <key>sinaimg.cn</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
            <true/>
              <key>NSExceptionMinimumTLSVersion</key>
            <string>TLSv1.0</string>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
        <key>sinajs.cn</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSExceptionMinimumTLSVersion</key>
            <string>TLSv1.0</string>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
        <key>sina.com.cn</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSExceptionMinimumTLSVersion</key>
            <string>TLSv1.0</string>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
    </dict>
</dict>

2.配置ApplicationQueriesSchemes(应用间跳转)

<key>LSApplicationQueriesSchemes</key>
<array>
    <!-- 微信 URL Scheme 白名单-->
    <string>wechat</string>
    <string>weixin</string>

    <!-- 新浪微博 URL Scheme 白名单-->
    <string>sinaweibohd</string>
    <string>sinaweibo</string>
    <string>weibosdk</string>
    <string>weibosdk2.5</string>

    <!-- QQ、Qzone URL Scheme 白名单-->
    <string>mqqapi</string>
    <string>mqq</string>
    <string>mqqOpensdkSSoLogin</string>
    <string>mqqconnect</string>
    <string>mqqopensdkdataline</string>
    <string>mqqopensdkgrouptribeshare</string>
    <string>mqqopensdkfriend</string>
    <string>mqqopensdkapi</string>
    <string>mqqopensdkapiV2</string>
    <string>mqqopensdkapiV3</string>
    <string>mqqopensdkapiV4</string>
    <string>mqzoneopensdk</string>
    <string>wtloginmqq</string>
    <string>wtloginmqq2</string>
    <string>mqqwpa</string>
    <string>mqzone</string>
    <string>mqzonev2</string>
    <string>mqzoneshare</string>
    <string>wtloginqzone</string>
    <string>mqzonewx</string>
    <string>mqzoneopensdkapiV2</string>
    <string>mqzoneopensdkapi19</string>
    <string>mqzoneopensdkapi</string>
    <string>mqqbrowser</string>
    <string>mttbrowser</string>
</array>

初始化配置

AppDelegate.m 中做如下配置

   #import "GSPlatformParamConfigManager.h"
   #import "GSSocialManager.h"

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{
    [[GSPlatformParamConfigManager share] addSinaPlatformConfigAppKey:@"" redirectURI:@""];
    [[GSPlatformParamConfigManager share] addQQPlatformConfigAppID:@""];
    [[GSPlatformParamConfigManager share] addWeChatPlatformConfigAppID:@"" secret:@""];
    return YES;
}

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
    BOOL res = [[GSSocialManager share] handleOpenURL:url];
    if (!res) {
        //做其他SDK回调处理
    }
    return res;
}

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
    BOOL res = [[GSSocialManager share] handleOpenURL:url];
    if (!res) {
        //做其他SDK回调处理
    }
    return res;
}

第三方平台登录

#import "GSSelectView.h"
#import "GSShareChannelType.h"
#import "GSLoginManager.h"
      [GSSelectView showShareViewWithChannels:@[
                                              @(GSShareChannelTypeSina),
                                              @(GSShareChannelTypeQQ),
                                              @(GSShareChannelTypeQzone),
                                              @(GSShareChannelTypeWechatSession)
                                              ] completionBlock:^(BOOL isCancel, GSLogoReourcesType reourcesType) {
                                                  if (isCancel) {

                                                  } else {
                                                      id<GSLoginProtocol> login = [[GSLoginManager share] getShareProtocolWithChannelType:[GSLoginManager getShareChannelTypeWithLogoReourcesType:reourcesType]];
                                                      [login setLoginCompletionBlock:^(id<GSLoginResultProtocol> result) {

                                                      }];
                                                      [login doLogin];
                                                  }
    }];

第三方平台分享

#import "GSSelectView.h"
#import "GSShareChannelType.h"
#import "GSShareManager.h"
    [GSSelectView showShareViewWithChannels:@[
                                              @(GSShareChannelTypeSina),
                                              @(GSShareChannelTypeQQ),
                                              @(GSShareChannelTypeQzone),
                                              @(GSShareChannelTypeWechatSession)
                                              ] completionBlock:^(BOOL isCancel, GSLogoReourcesType reourcesType) {
                                                  if (isCancel) {

                                                  } else {
                                                      id<GSShareProtocol> share = [[GSShareManager share] getShareProtocolWithChannelType:[GSShareManager getShareChannelTypeWithLogoReourcesType:reourcesType]];
                                                      [share shareSimpleText:@"good day"];
                                                      [share setShareCompletionBlock:^(id<GSShareResultProtocol> result) {

                                                      }];
                                                  }
    }];

联系方式

QQ:470058952

我的微信:

SocialSDK_R

License

SocialSDK is under WTFPL. You can do what the fuck you want with SocialSDK. See LICENSE file for more info.

Latest podspec

{
    "name": "SocialSDK_R",
    "version": "0.0.5",
    "summary": "SocialSDK_R SDK for iOS",
    "homepage": "https://github.com/GagSquad/SocialSDK",
    "authors": {
        "[email protected]": "https://github.com/itlijunjie",
        "LVJIALIN": "https://github.com/LVJIALIN"
    },
    "license": {
        "type": "WTFPL",
        "file": "LICENSE"
    },
    "platforms": {
        "ios": "8.0"
    },
    "source": {
        "git": "https://github.com/GagSquad/SocialSDK.git",
        "tag": "0.0.5"
    },
    "requires_arc": true,
    "default_subspecs": [
        "WeiboSDK_R",
        "SocialSDK_R"
    ],
    "subspecs": [
        {
            "name": "WeiboSDK_R",
            "resources": "SDK/libWeiboSDK/WeiboSDK.bundle"
        },
        {
            "name": "SocialSDK_R",
            "resources": "SocialSDK/Rrources/GSSocialSDKResources.bundle"
        }
    ]
}

Pin It on Pinterest

Share This