日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Swift - 发送消息(文本,图片,文件等)给微信好友或分享到朋友圈

發布時間:2025/3/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Swift - 发送消息(文本,图片,文件等)给微信好友或分享到朋友圈 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

通過調用微信提供的API接口,我們可以很方便的在應用中發送消息給微信好友,或者分享到朋友圈。在微信開發平臺(https://open.weixin.qq.com)里,提供了詳細的說明文檔和樣例。但由于提供的樣例是使用Objective-C寫的,所以這邊我寫了個Swift版的樣例。


1,實現的功能 (1)可以發送各種類型的消息給好友,也可以分享到朋友圈 (2)發送的內容類型包括:純文本,圖片,鏈接,音樂,視頻,gif表情,非gif表情,文件
2,效果圖如下 ??
??

3,注意事項: (1)該樣例必須連接手機進行真機調試 (2)還需要到微信開發平臺注冊應用id,下面代碼里會用到(如果不注冊,隨便起個id來調試也沒什么問題,就是收到消息下方會顯示“未審核應用”)
4,詳細步驟 (1)首先把微信SDK資源庫拖入到項目中來(整個Resources文件夾)

(2)引入WXApi.h這個頭文件

(3)編寫代碼


--- AppDelegate.swift ---

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { ????var window: UIWindow? ????func application(application: UIApplication, ????????didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { ????????// 注冊app(這里隨便取個名字) ????????WXApi.registerApp("hangge_appid") ????????return true ????} ????func applicationWillResignActive(application: UIApplication) { ????} ????func applicationDidEnterBackground(application: UIApplication) { ????} ????func applicationWillEnterForeground(application: UIApplication) { ????} ????func applicationDidBecomeActive(application: UIApplication) { ????} ????func applicationWillTerminate(application: UIApplication) { ????} }


--- ViewController.swift ---

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 import UIKit class ViewController: UIViewController { ????//發送給好友還是朋友圈(默認好友) ????var _scene = WXSceneSession.value ????? ????override func viewDidLoad() { ????????super.viewDidLoad() ????} ????? ????override func didReceiveMemoryWarning() { ????????super.didReceiveMemoryWarning() ????} ????? ????//切換發送給好友還是朋友圈 ????@IBAction func changeScene(sender: UISegmentedControl) { ????????if sender.selectedSegmentIndex == 0 { ????????????_scene = WXSceneSession.value ????????}else{ ????????????_scene = WXSceneTimeline.value ????????} ????} ????? ????//發送純文本 ????@IBAction func sendTextContent(sender: AnyObject) { ????????var req = SendMessageToWXReq() ????????req.bText = true ????????req.text = "hangge.com 做最好的開發者知識平臺。" ????????req.scene = _scene ????????WXApi.sendReq(req) ????} ????? ????//發送圖片 ????@IBAction func sendImageContent(sender: AnyObject) { ????????var message =? WXMediaMessage() ????????? ????????//發送的圖片 ????????var filePath =? NSBundle.mainBundle().pathForResource("image", ofType: "jpg") ????????var image = UIImage(contentsOfFile:filePath!) ????????var imageObject =? WXImageObject() ????????imageObject.imageData = UIImagePNGRepresentation(image) ????????message.mediaObject = imageObject ????????? ????????//圖片縮略圖 ????????var width = 240.0 as CGFloat ????????var height = width*image!.size.height/image!.size.width ????????UIGraphicsBeginImageContext(CGSizeMake(width, height)) ????????image!.drawInRect(CGRectMake(0, 0, width, height)) ????????message.setThumbImage(UIGraphicsGetImageFromCurrentImageContext()) ????????UIGraphicsEndImageContext() ????????? ????????var req =? SendMessageToWXReq() ????????req.bText = false ????????req.message = message ????????req.scene = _scene ????????WXApi.sendReq(req) ????} ????? ????//發送鏈接 ????@IBAction func sendLinkContent(sender: AnyObject) { ????????var message =? WXMediaMessage() ????????? ????????message.title = "歡迎訪問 hangge.com" ????????message.description = "做最好的開發者知識平臺。分享各種編程開發經驗。" ????????message.setThumbImage(UIImage(named:"apple.png")) ????????? ????????var ext =? WXWebpageObject() ????????ext.webpageUrl = "http://hangge.com" ????????message.mediaObject = ext ????????? ????????var req =? SendMessageToWXReq() ????????req.bText = false ????????req.message = message ????????req.scene = _scene ????????WXApi.sendReq(req) ????} ????? ????//發送音樂 ????@IBAction func sendMusicContent(sender: AnyObject) { ????????var message =? WXMediaMessage() ????????? ????????message.title = "一無所有" ????????message.description = "崔健" ????????message.setThumbImage(UIImage(named:"apple.png")) ????????? ????????var ext =? WXMusicObject() ????????ext.musicUrl = "http://y.qq.com/i/song.html#p=7B22736F6E675F4E616D65223A22E4B880E697A0E68980E69C89222C22736F6E675F5761704C69766555524C223A22687474703A2F2F74736D7573696334382E74632E71712E636F6D2F586B30305156342F4141414130414141414E5430577532394D7A59344D7A63774D4C6735586A4C517747335A50676F47443864704151526643473444442F4E653765776B617A733D2F31303130333334372E6D34613F7569643D3233343734363930373526616D703B63743D3026616D703B636869643D30222C22736F6E675F5769666955524C223A22687474703A2F2F73747265616D31342E71716D757369632E71712E636F6D2F33303130333334372E6D7033222C226E657454797065223A2277696669222C22736F6E675F416C62756D223A22E4B880E697A0E68980E69C89222C22736F6E675F4944223A3130333334372C22736F6E675F54797065223A312C22736F6E675F53696E676572223A22E5B494E581A5222C22736F6E675F576170446F776E4C6F616455524C223A22687474703A2F2F74736D757369633132382E74632E71712E636F6D2F586C464E4D313574414141416A41414141477A4C36445039536A457A525467304E7A38774E446E752B6473483833344843756B5041576B6D48316C4A434E626F4D34394E4E7A754450444A647A7A45304F513D3D2F33303130333334372E6D70333F7569643D3233343734363930373526616D703B63743D3026616D703B636869643D3026616D703B73747265616D5F706F733D35227D" ????????ext.musicDataUrl = "http://stream20.qqmusic.qq.com/32464723.mp3" ????????message.mediaObject = ext ????????? ????????var req =? SendMessageToWXReq() ????????req.bText = false ????????req.message = message ????????req.scene = _scene ????????WXApi.sendReq(req) ????} ????? ????//發送視頻 ????@IBAction func sendVideoContent(sender: AnyObject) { ????????var message =? WXMediaMessage() ????????message.title = "喬布斯訪談" ????????message.description = "餓著肚皮,傻逼著。" ????????message.setThumbImage(UIImage(named:"apple.png")) ????????? ????????var ext =? WXVideoObject() ????????ext.videoUrl = "http://v.youku.com/v_show/id_XNTUxNDY1NDY4.html" ????????message.mediaObject = ext ????????? ????????var req =? SendMessageToWXReq() ????????req.bText = false ????????req.message = message ????????req.scene = _scene ????????WXApi.sendReq(req) ????} ????? ????//發送非gif格式的表情 ????@IBAction func sendNonGifContent(sender: AnyObject) { ????????var message =? WXMediaMessage() ????????message.setThumbImage(UIImage(named:"res5thumb.png")) ????????? ????????var ext =? WXEmoticonObject() ????????var filePath = NSBundle.mainBundle().pathForResource("res5", ofType: "jpg") ????????ext.emoticonData = NSData(contentsOfFile:filePath!) ????????message.mediaObject = ext ????????? ????????var req =? SendMessageToWXReq() ????????req.bText = false ????????req.message = message ????????req.scene = _scene ????????WXApi.sendReq(req) ????} ????? ????//發送gif格式的表情 ????@IBAction func sendGifContent(sender: AnyObject) { ????????var message =? WXMediaMessage() ????????message.setThumbImage(UIImage(named:"res6thumb.png")) ????????? ????????var ext =? WXEmoticonObject() ????????var filePath = NSBundle.mainBundle().pathForResource("res6", ofType: "gif") ????????ext.emoticonData = NSData(contentsOfFile:filePath!) ????????message.mediaObject = ext ????????? ????????var req =? SendMessageToWXReq() ????????req.bText = false ????????req.message = message ????????req.scene = _scene ????????WXApi.sendReq(req) ????} ????? ????//發送文件 ????@IBAction func sendFileContent(sender: AnyObject) { ????????var message =? WXMediaMessage() ????????message.title = "ML.pdf" ????????message.description = "Pro CoreData" ????????message.setThumbImage(UIImage(named:"apple.png")) ????????? ????????var ext =? WXFileObject() ????????ext.fileExtension = "pdf" ????????var filePath = NSBundle.mainBundle().pathForResource("ML", ofType: "pdf") ????????ext.fileData = NSData(contentsOfFile:filePath!) ????????message.mediaObject = ext ????????? ????????var req =? SendMessageToWXReq() ????????req.bText = false ????????req.message = message ????????req.scene = _scene ????????WXApi.sendReq(req) ????} }


5,源碼下載:WeiXinShare.zip

轉載于:https://www.cnblogs.com/Free-Thinker/p/4843326.html

總結

以上是生活随笔為你收集整理的Swift - 发送消息(文本,图片,文件等)给微信好友或分享到朋友圈的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 自拍偷拍导航 | 成人国产 | 亚洲天堂社区 | 亚洲 国产 欧美 日韩 | 成年激情网 | 成人午夜在线观看 | 波多野吉衣视频在线观看 | 国产又黄又猛又粗又爽 | 国产精品19乱码一区二区三区 | 在线一区二区三区四区 | 好男人www| 一区二区乱码 | xxxxwww国产 | 亚洲成人精品一区 | 国产婷婷一区二区 | 久久中文精品 | 狠狠地日| 朝鲜美女黑毛bbw | 亚洲欧美另类在线 | 日本视频网站在线观看 | 日韩视频免费观看高清完整版在线观看 | 米奇7777狠狠狠狠视频 | 国产99久久久欧美黑人 | 亚洲精品一区二区三区四区 | 在线观看高清视频 | 免费黄色在线视频 | 丰满少妇一区二区三区专区 | 精品少妇人妻av免费久久洗澡 | 九热在线视频 | 国产探花在线精品一区二区 | 欧美一区三区二区在线观看 | 久久综合一本 | 九色精品视频 | 亚洲精品一区二区三区中文字幕 | 午夜av成人 | 亚洲精品视频在线观看视频 | 波多野结衣啪啪 | 中文高清av | 亚洲视频一区二区三区 | 日本国产在线观看 | 蜜臀aⅴ国产精品久久久国产老师 | 播色网 | 国产免费一区二区三区在线播放 | 久久久久人妻精品色欧美 | 青娱乐在线播放 | 亚洲精品久久久久久动漫器材一区 | 艳母在线视频 | 欧美a级在线 | 麻豆综合| 星空大象mv高清在线观看免费 | 亚洲欧洲另类 | 性xxxx欧美老肥妇牲乱 | 91高清免费| 香蕉av网 | 国产伦理精品 | 不卡在线一区 | 国模视频一区二区 | www久久久天天com | 男女视频在线观看免费 | 欧美日在线 | 观看av | 日韩在线一 | 丰满人妻熟女aⅴ一区 | 国产精品偷伦视频免费看 | 日本一本久久 | 97久久综合| 一女三黑人理论片在线 | 97人人插| 一级视频黄色 | 农村妇女毛片精品久久久 | 久久一二三区 | 日韩av无码中文字幕 | 久在操| 四季av日韩精品一区 | 日本aⅴ在线 | 99ri视频| 三级大片在线观看 | 97影院手机版| 亚色av | 精品人伦一区二区三区蜜桃网站 | 97视频入口 | 欧美乱妇视频 | 91插插插影库永久免费 | 人妻少妇精品中文字幕av蜜桃 | 免费一级一片 | 免费a大片 | 亚洲国产精品无码观看久久 | 亚洲操一操 | 欧美日韩天堂 | 四虎在线影视 | 成人短视频在线免费观看 | 国产精品一区二区视频 | 成全世界免费高清观看 | 久久久久亚洲av无码专区首jn | av一区不卡 | 老妇女av| 一级片一级 | 中文字幕在线网址 | 在线第一页 |