640X60广告位招租 qq245909083

使用Swift在iOS中微信分享功能的实现

分享时间:2019-10-11 244 热度℃
通过微信进行分享是现在很流行的功能,接下来就让我们学习一下如何实现微信分享的功能。

下载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)
}
返回顶部