iOS 微信分享

微信官方接入指南
微信分享官方文档

使用步骤

  1. 官方开发平台注册应用,一般3天左右通过

  2. pod安装SDK pod WechatOpenSDK

  3. 在Xcode中,选择你的工程设置项,选中“TARGETS”一栏,在“info”标签栏的“URL type“添加“URL scheme”为你所注册的应用程序id


    URL type添加在微信开发平台注册的AppKey
  4. 实现相关方法和遵守协议

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
 {
    添加  APPID 是你在微信平台注册的程序里的
    [WXApi registerApp:appId];
    
    return YES;
}

-(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 
{
}

这是我简单封装了一下微信分享的SDK SFWeChatShareManager使用简单方便
分享网页链接的使用

/**
 分享网页

 @param title 标题
 @param description 描述
 @param thumbImage 缩略图
 @param webpageUrl 链接
 @param type 分享类型 0:聊天界面 1:朋友圈 2:收藏
 */
+ (void)shareToWechatWithWebTitle:(NSString *)title
                      description:(NSString *)description
                       thumbImage:(UIImage *)thumbImage
                       webpageUrl:(NSString *)webpageUrl
                             type:(NSUInteger)type
{
    WXMediaMessage *message = [WXMediaMessage message];
    message.title = title;
    message.description = description;
    [message setThumbImage:thumbImage];

    WXWebpageObject *webpageObject = [WXWebpageObject object];
    webpageObject.webpageUrl = webpageUrl;
    message.mediaObject = webpageObject;

    [self sendToWechatWithBText:NO message:message scene:type];
}

/**
 * 发送请求给微信
 * bText: 发送的消息类型
 * message: 多媒体消息结构体
 * scene: 分享的类型场景
 **/
+ (void)sendToWechatWithBText:(BOOL)bText message:(WXMediaMessage *)message scene:(NSUInteger)scene
{
    SendMessageToWXReq *req = [[SendMessageToWXReq alloc]init];
    req.bText = bText;
    req.message = message;
    req.scene = (int)scene;

    [WXApi sendReq:req];
}

文件中还封装了分享图片、视频、文字、音乐,就不一一介绍了。可下载下来直接拖入工程中使用
demo链接:https://github.com/gzc453645620/CodeData/tree/master/WeChatShare

注意:
  • 缩略图大小不能超过32K
  • 我们的项目中有两个部门的业务都用到了微信,但是appid不一样所以每次调用微信功能的时候都registerApp一次,因为如果在appDelegate注册两次的话,后者会把前者覆盖。
  • 在注册registerApp之后再调用isWXAppInstalled否则会一直返回NO
    isWXAppInstalled 返回NO
    还有一种情况也会返回NO
    需要在在info.plist中添加LSApplicationQueriesSchemes
    WXApi isWXAppInstalled

参考资料

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容