iOS 微信分享 WeChat share

準備工作
a. 添加微信 SDK 去官網下載自己根據步驟一步一步配置
https://open.weixin.qq.com/cgi-bin/index?t=home/index&lang=zh_CN
b. pod 'WechatOpenSDK'
建議使用 pod 原因你懂的

pch 文件中添加

 #import <WXApi.h>

APPDelegate.m 文件中

首先遵守   <WXApiDelegate>

然后在
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    添加  APPID 是你在微信平臺注冊的程序里的
    [WXApi registerApp:appId enableMTA:false];
    
    return YES;
}
95CFBF39-2955-431B-B19E-2FD346E8FA05.png
添加重寫
-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
    
    return [WXApi handleOpenURL:url delegate:self];
}

-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
    
    return [WXApi handleOpenURL:url delegate:self];
}



-(void)onReq:(BaseReq *)req {
    
    
}
// 從微信分享過后點擊返回應用的時候調用
- (void)onResp:(BaseResp *)resp {
    
    //把返回的類型轉換成與發送時相對于的返回類型,這里為SendMessageToWXResp
    SendMessageToWXResp *sendResp = (SendMessageToWXResp *)resp;
    
    //使用UIAlertView 顯示回調信息
    NSString *str = [NSString stringWithFormat:@"%d",sendResp.errCode];
    UIAlertView *alertview = [[UIAlertView alloc] initWithTitle:@"回調信息" message:str delegate:self cancelButtonTitle:@"確認" otherButtonTitles:nil, nil];
    [alertview show];
/*  WXSuccess           = 0,    /**< 成功    */
    WXErrCodeCommon     = -1,   /**< 普通錯誤類型    */
    WXErrCodeUserCancel = -2,   /**< 用戶點擊取消并返回    */
    WXErrCodeSentFail   = -3,   /**< 發送失敗    */
    WXErrCodeAuthDeny   = -4,   /**< 授權失敗    */
    WXErrCodeUnsupport  = -5,   /**< 微信不支持    */
*/
}

設置從微信返回 你的 APP


2D868594-8E34-4FE5-89AD-7FA9B63602A6.png

2 . 分享一個鏈接

static NSString *kLinkURL = @"http://www.lxweimin.com/u/c693e77d617c";

    static NSString *kLinkTitle = @"我簡書的主頁";
    static NSString *kLinkDescription = @"里面是一些自己總結的小知識點";
    
    SendMessageToWXReq *req1 = [[SendMessageToWXReq alloc]init];
    
// 是否是文檔
    req1.bText =  NO;

    //    WXSceneSession  = 0,        /**< 聊天界面    */
    //    WXSceneTimeline = 1,        /**< 朋友圈      */
    //    WXSceneFavorite = 2,
    
    
    req1.scene = WXSceneSession;
    
    //創建分享內容對象
    WXMediaMessage *urlMessage = [WXMediaMessage message];
    urlMessage.title = kLinkTitle;//分享標題
    urlMessage.description = kLinkDescription;//分享描述
    [urlMessage setThumbImage:[UIImage imageNamed:@"XXshar"]];//分享圖片,使用SDK的setThumbImage方法可壓縮圖片大小
    
    //創建多媒體對象
    WXWebpageObject *webObj = [WXWebpageObject object];
    webObj.webpageUrl = kLinkURL;//分享鏈接
    
    //完成發送對象實例
    urlMessage.mediaObject = webObj;
    req1.message = urlMessage;
    
    //發送分享信息
    [WXApi sendReq:req1];

分享音樂

SendMessageToWXReq *req1 = [[SendMessageToWXReq alloc]init];
    
// 是否是文檔
    req1.bText =  NO;

    //    WXSceneSession  = 0,        /**< 聊天界面    */
    //    WXSceneTimeline = 1,        /**< 朋友圈      */
    //    WXSceneFavorite = 2,
    
    
    req1.scene = WXSceneSession;
    
    //創建分享內容對象
    WXMediaMessage *urlMessage = [WXMediaMessage message];
    urlMessage.title = @"分享一首歌";//分享標題
    urlMessage.description = @"一首小歌,放松一下";//分享描述
    
    [urlMessage setThumbImage:[UIImage imageNamed:@"XXshar"]];//分享圖片,使用SDK的setThumbImage方法可壓縮圖片大小
    
    //創建多媒體對象
    
    static NSString *kLinkURL = @"http://bd.kuwo.cn/yinyue/718535?from=baidu";

    WXMusicObject *music = [WXMusicObject object];
    music.musicUrl = kLinkURL;//分享鏈接
    
    //完成發送對象實例
    urlMessage.mediaObject = music;
    req1.message = urlMessage;
    
    //發送分享信息
    [WXApi sendReq:req1];

分享視頻

   SendMessageToWXReq *req1 = [[SendMessageToWXReq alloc]init];
    
// 是否是文檔
    req1.bText =  NO;

    //    WXSceneSession  = 0,        /**< 聊天界面    */
    //    WXSceneTimeline = 1,        /**< 朋友圈      */
    //    WXSceneFavorite = 2,
    
    
    req1.scene = 0;
    
    //創建分享內容對象
    WXMediaMessage *urlMessage = [WXMediaMessage message];
    urlMessage.title = @"分享視頻";//分享標題
    urlMessage.description = @"小視頻";//分享描述
    
    [urlMessage setThumbImage:[UIImage imageNamed:@"XXshar"]];//分享圖片,使用SDK的setThumbImage方法可壓縮圖片大小
    
    //創建多媒體對象
    
    static NSString *kLinkURL = @"http://baidu.wasu.cn/kan/a9OrA?fr=v.baidu.com/browse";

     WXVideoObject *video = [WXVideoObject object];
    video.videoUrl = kLinkURL;//分享鏈接
    
    //完成發送對象實例
    urlMessage.mediaObject = video;
    req1.message = urlMessage;
    
    //發送分享信息
    [WXApi sendReq:req1];

分享圖片

 WXMediaMessage *message = [WXMediaMessage message];
    // 設置消息縮略圖的方法
    [message setThumbImage:[UIImage imageNamed:@"圖片.png"]];
    // 多媒體消息中包含的圖片數據對象
    WXImageObject *imageObject = [WXImageObject object];
    
    UIImage *image = [UIImage imageNamed:@"要分享的圖片名"];

    // 圖片真實數據內容
    
            NSData *data = UIImagePNGRepresentation(image);
    imageObject.imageData = data;
    // 多媒體數據對象,可以為WXImageObject,WXMusicObject,WXVideoObject,WXWebpageObject等。
    message.mediaObject = imageObject;
    
    SendMessageToWXReq *req = [[SendMessageToWXReq alloc] init];
    req.bText = NO;
    req.message = message;
    req.scene = WXSceneTimeline;// 分享到朋友圈
    [WXApi sendReq:req];

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • iOS支付 iOS支付分為兩類,第三方支付和應用內支付(內購)。 第三方支付包括:支付寶支付、微信支付、銀聯支付、...
    請輸入賬號名閱讀 6,308評論 3 22
  • 在我們應用開發中我們經常在自己的項目中使用到支付,下面我們來談談iOS這塊的支付;iOS支付主要分為兩類,第三方支...
    Hither閱讀 8,328評論 9 42
  • iOS支付 iOS支付分為兩類,第三方支付和應用內支付(內購)。 第三方支付包括:支付寶支付、微信支付、銀聯支付、...
    sillen閱讀 1,413評論 0 1
  • 這幾天,微博上那篇《老公每月給你11萬,但是不回家,你愿意嗎?》引發了廣大女性的討論,已婚的,未婚的,通通參與進來...
    可樂寶寶閱讀 428評論 1 1
  • 接上篇文章有前輩問,我就大膽說兩句。群里都是笑來的訂閱者,因為我了解不深入,略窺一斑,有意見盡管提。 如果是新技術...
    Aero小白閱讀 214評論 4 2