免费开源的iOS开发学习平台

友盟 U-Share SDK:1-使用前准备

友盟社会化组件 U-Share ,可以让移动应用快速具备社会化分享、登录、评论、喜欢等功能,并提供实时、全面的社会化数据统计分析服务。本章节给大家介绍使用友盟iOS社会化组件SDKv6.1.1,实现第三方分享和登录。友盟官网

1、进入项目前准备

  • 开发前准备的基本流程

  • 注册友盟账号,选择U-Share SDK,点击“立即使用”。

  • 进入应用管理界面,根据要求申请一个iOS移动应用。

成功后我们会得到一个AppKey,稍后要用到。

  • 申请我们需要授权登录分享的第三方平台账号,此处我们只申请新浪微博、QQ平台应用,参考 第三方账号申请及绑定步骤。通过在各平台创建应用获得我们需要的数据:

微博:AppKey、AppSecret、授权回调页填写的URL

QQ:AppKey

  • 进入SDK下载界面后,勾选所需的第三方平台,勾选“SDK集成文档”,点击下载。

  • 下载成功后将U-Share SDK核心目录拖入项目中。可参照U-Share SDK官方文档iOS集成文档的集成步骤,集成SDK。

2、添加项目配置

  • 在Other Linker Flags加入-ObjC

  • 在项目中添加第三方平台相应的依赖库。

配置第三方平台URL Scheme时的格式

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

 <key>NSAppTransportSecurity</key>
    <dict>
        <!-- 配置允许 http的任意网络Begin-->
        <key>NSAllowsArbitraryLoads</key>
        <true/>
        <!-- 配置允许 http的任意网络End-->
        <key>NSExceptionDomains</key>
        <dict>
            <!-- U-Share必须配置的HTTP白名单-->
            <key>log.umsns.com</key>
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
                <true/>
                <key>NSTemporaryExceptionMinimumTLSVersion</key>
                <string>TLSv1.1</string>
            </dict>
            <key>sns.whalecloud.com</key>
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
                <true/>
                <key>NSTemporaryExceptionMinimumTLSVersion</key>
                <string>TLSv1.1</string>
            </dict>
            <!-- U-Share-->
            <!-- 集成微信、QQ、Qzone、腾讯微博授权对应的HTTP白名单-->
            <key>qq.com</key>
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
                <true/>
                <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                <false/>
            </dict>
            <!-- 腾讯授权-->
            <!-- 集成新浪微博对应的HTTP白名单-->
            <key>sina.com.cn</key>
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
                <true/>
                <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                <false/>
            </dict>
            <key>sinaimg.cn</key>
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
                <true/>
                <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                <false/>
            </dict>
            <key>sinajs.cn</key>
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
                <true/>
                <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                <false/>
            </dict>
            <key>sina.cn</key>
            <dict>
                <!-- 适配iOS10 -->
                <key>NSExceptionMinimumTLSVersion</key>
                <string>TLSv1.0</string>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                <false/>
            </dict>
            <key>weibo.cn</key>
            <dict>
                <!-- 适配iOS10 -->
                <key>NSExceptionMinimumTLSVersion</key>
                <string>TLSv1.0</string>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                <false/>
            </dict>
            <key>weibo.com</key>
            <dict>
                <!-- 适配iOS10 -->
                <key>NSExceptionMinimumTLSVersion</key>
                <string>TLSv1.0</string>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
                <true/>
                <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                <false/>
            </dict>
            <!-- 新浪微博-->
        </dict>
    </dict>

应用跳转设置(SSO等),同HTTPS传输安全设置。

<key>LSApplicationQueriesSchemes</key>
    <array>      
        <!-- 新浪微博 URL Scheme 白名单-->
        <string>sinaweibohd</string>
        <string>sinaweibo</string>
        <string>sinaweibosso</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>
        <!-- pinterest URL Scheme 白名单-->
        <string>pinterestsdk.v1</string>
    </array>