一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

苹果开发之腾讯官方SDK的配置及使用(分享到QQ空间、分享到好友)

时间:2016-03-03 编辑:简简单单 来源:一聚教程网

要实现信息分享到QQ空间或者发送消息给好友,我们可以借助第三方的SDK(比如:友盟、shareSDK)。也可以使用腾讯官方提供的SDK。本文介绍后者的配置和使用。
 
1,腾讯开放平台注册
(1)首先我们要在 腾讯开放平台(http://open.qq.com)上注册个账号。

(2)登陆后创建一个iOS应用,我们会得到一个APP ID,这个后面开发的时候要用到(应用没有提交审核没关系,不影响我们的测试使用)。

原文:Swift - 腾讯官方SDK的配置及使用(分享到QQ空间、分享到好友)


2,SDK下载与配置
(1)把iOS_SDK下载到本地,下载地址:http://wiki.open.qq.com/wiki/mobile/SDK下载
(2)将压缩包中的 TencentOpenApi_IOS_Bundle.bundle 和 TencentOpenAPI.framework 添加到项目中来
原文:Swift - 腾讯官方SDK的配置及使用(分享到QQ空间、分享到好友)

(3)在 Build Phases -> Link Binary With Libraries 中点击加号,添加如下依赖库到项目中来:libz.tbd、libstdc++.tbd、CoreTelephony.framework、libsqlite3.tbd、CoreGraphics.framework、SystemConfiguration.framework、libiconv.tbd、Security.framework。
原文:Swift - 腾讯官方SDK的配置及使用(分享到QQ空间、分享到好友)

(4)在Build Settings -> Linking配置区,给“Other Linker Flags”配置项添加属性值“-fobjc-arc”
原文:Swift - 腾讯官方SDK的配置及使用(分享到QQ空间、分享到好友)

(5)在 “info” -> “URL Types”中,新增一个URL Schemes。新的Schemes命名是:tencent + appid
原文:Swift - 腾讯官方SDK的配置及使用(分享到QQ空间、分享到好友)

(6)手工创建桥接头文件 bridge.h 来包含需要引用的Objective-C头文件,并设置到编译参数里。头文件内容如下


//TencentOpenapi
#import
#import
#import
#import
#import
#import

(7)重写 AppDelegate.swift 的两个方法


//重写openURL
func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject])
    -> Bool {
    return TencentOAuth.HandleOpenURL(url)
}
 
//重写handleOpenURL
func application(application: UIApplication, handleOpenURL url: NSURL) -> Bool {
    return TencentOAuth.HandleOpenURL(url)
}

(8)iOS 9系统策略更新,限制了http协议的访问。在“Info.plist”里增加如下代码:


NSAppTransportSecurity

    NSAllowsArbitraryLoads
   

3,初始化TencentOAuth

我们在发送消息前还要创建iOS SDK API数据对象 TencentOAuth 并初始化其 appid,本样例delegate可以设为空。


import UIKit
 
class ViewController: UIViewController{
    
    var _tencentOAuth:TencentOAuth!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        _tencentOAuth = TencentOAuth.init(appId: "1105212016", andDelegate: nil)
    }
    
    @IBAction func sendMessage(sender: AnyObject) {
        //消息分享相关代码
    }
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

4,分享到QQ好友和QQ空间
iOS SDK支持在用户安装了手机QQ时,会跳转到手机QQ进行分享(我们可以选择分享给QQ好友还是QQ空间等其他地方),否则调用浏览器页面进行分享。
分享完毕后会提示,继续留在QQ还是返回到原APP。
      原文:Swift - 腾讯官方SDK的配置及使用(分享到QQ空间、分享到好友)      原文:Swift - 腾讯官方SDK的配置及使用(分享到QQ空间、分享到好友)
      原文:Swift - 腾讯官方SDK的配置及使用(分享到QQ空间、分享到好友)      原文:Swift - 腾讯官方SDK的配置及使用(分享到QQ空间、分享到好友)

(1)纯文本分享:
      原文:Swift - 腾讯官方SDK的配置及使用(分享到QQ空间、分享到好友)      原文:Swift - 腾讯官方SDK的配置及使用(分享到QQ空间、分享到好友)

 

let txtObj = QQApiTextObject(text: "欢迎访问 111com.net ")
let req = SendMessageToQQReq(content: txtObj)
QQApiInterface.sendReq(req)

2)纯图片分享:

      原文:Swift - 腾讯官方SDK的配置及使用(分享到QQ空间、分享到好友)      原文:Swift - 腾讯官方SDK的配置及使用(分享到QQ空间、分享到好友)

let filePath =  NSBundle.mainBundle().pathForResource("logo", ofType: "png")
let imgData = NSData(contentsOfFile:filePath!)
let imgObj = QQApiImageObject(data: imgData, previewImageData: imgData,
    title: "111com.net ", description: "航歌 - 做最好的开发者知识平台")
let req = SendMessageToQQReq(content: imgObj)
QQApiInterface.sendReq(req)

3)新闻分享:

      原文:Swift - 腾讯官方SDK的配置及使用(分享到QQ空间、分享到好友)      原文:Swift - 腾讯官方SDK的配置及使用(分享到QQ空间、分享到好友)

let newsUrl = NSURL(string: "http://www.111com.net ")
let title = "新闻标题"
let description = "新闻描述"
let previewImageUrl = NSURL(string: "http://www.111com.net /blog/images/logo.png")
let newsObj = QQApiNewsObject(URL: newsUrl, title: title, description: description,
    previewImageURL: previewImageUrl, targetContentType: QQApiURLTargetTypeNews)
let req = SendMessageToQQReq(content: newsObj)
QQApiInterface.sendReq(req)

(4)音乐分享:

      原文:Swift - 腾讯官方SDK的配置及使用(分享到QQ空间、分享到好友)      原文:Swift - 腾讯官方SDK的配置及使用(分享到QQ空间、分享到好友)

let url = NSURL(string:
    "http://y.qq.com/i/song.html?songid=432451&source=mobileQQ%23wechat_redirect")
let title = "歌曲名:不要说话"
let descriotion = "专辑名:不想放手歌手名:陈奕迅"
let previewImageUrl = NSURL(string:
    "http://imgcache.qq.com/music/photo/mid_album_300/V/E/000J1pJ50cDCVE.jpg")
 
let audioObj = QQApiAudioObject(URL: url, title: title, description: descriotion,
    previewImageURL: previewImageUrl, targetContentType: QQApiURLTargetTypeAudio)
 
let req = SendMessageToQQReq(content: audioObj)
QQApiInterface.sendReq(req)

(5)视频分享:

      原文:Swift - 腾讯官方SDK的配置及使用(分享到QQ空间、分享到好友)      原文:Swift - 腾讯官方SDK的配置及使用(分享到QQ空间、分享到好友)

let url = NSURL(string: "http://v.qq.com/cover/5/53x6bbyb07ebl3s/n0013r8esy6.html")
let previewImageUrl = NSURL(string: "http://www.111com.net /blog/images/logo.png")
let videoObj = QQApiVideoObject(URL: url, title: "黑子的篮球", description: "第一季第一集",
    previewImageURL: previewImageUrl, targetContentType: QQApiURLTargetTypeVideo)
let req = SendMessageToQQReq(content: videoObj)
QQApiInterface.sendReq(req)

原文来自:http://www.hangge.com/blog/cache/detail_1070.html

热门栏目