通过微信进行分享是现在很流行的功能,接下来就让我们学习一下如何实现微信分享的功能。

下载SDK

到微信开放平台下载SDK,下载后解压出来有四个文件,分别为:

  • libWeChatSDK.a
  • read_me.txt
  • WXApi.h
  • WXApiObject.h

将整个文件夹拖入到项目中。

修改项目设置

往项目中增加以下四个Linked Frameworks and Libraries

  • libc++.dylib
  • SystemConfiguration.framework
  • libsqlite3.0.dylib
  • libz.dylib

如果不添加的话,可能会出现编译错误!

进入Build Settings -> Swift Compiler - Code Generation,将Objective-C Bridging Header的值设置为SDKExport/WXApi.h

接下来我们就可以调用微信的API啦!

注册API

使用微信分享的API,首先在AppDelegate的代码中进行注册:

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        WXApi.registerApp("xd930ea5d5a258f4f", withDescription: "天码营微信Demo")
        return true
    }
}

传入的字符串是appid,是在微信开放平台上申请的,这里随便填一个字符串对调试没有影响。

发送文本信息

分享的场景有好友、朋友圈和收藏,定义在WXScene这个枚举中,可以看WXApi.h中的定义:

enum WXScene {
    WXSceneSession  = 0,        /**< 聊天界面    */
    WXSceneTimeline = 1,        /**< 朋友圈      */
    WXSceneFavorite = 2,        /**< 收藏       */
};

在这个demo中,我们通过一个SegmentedControl来设置分享的场景:

class ViewController: UIViewController, WXApiDelegate, UIAlertViewDelegate {
    
    var scene = WXSceneSession.value
    
    @IBAction func changeScene(sender: UISegmentedControl) {
        switch sender.selectedSegmentIndex {
        case 0: scene = WXSceneSession.value
        case 1: scene = WXSceneTimeline.value
        case 2: scene = WXSceneFavorite.value
        default: break
        }
    }
}

下面我们可以发送最简单的文本信息了:

@IBAction func sendTextContent(sender: AnyObject) {
    let req = SendMessageToWXReq()
    req.bText = true
    req.text = "天码营秉承通过持续创新,让技术学习更加高效和便捷的使命,致力于打造一个专业化的教育服务平台,提供创新的工具和服务,聚合专业的师资和内容,让学员、老师乃至全产业链从中受益。"
    req.scene = Int32(scene)
    
    WXApi.sendReq(req)
}

登录发表评论 注册

反馈意见