微信朋友圈api使用

来源:互联网 发布:json 特殊字符大括号 编辑:程序博客网 时间:2024/04/30 04:44

1、去微信开发公共开发平台注册个应用(获取APPid)

2、把微信api导入工程中(这三个文件 libWeChatSDK.a 、 WXApiObject.h、 WXApi.h)

3、导入相关的库文件(官方文档有详细信息)编译出错的话检查导入libc++.dylib这个库没有

4、在appdelegate文件中导入#import “wxapi.h”文件

5、程序注册(以下几个方法在appdelegate中实现的几个方法)

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    // Override point for customization after application launch.      BOOL success = [WXApi registerApp:APPID];    if (success) {        NSLog(@"成功");    }else{        UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"分享不成功" delegate:self cancelButtonTitle:@"cancel" otherButtonTitles:@"ok", nil];        [alert show];    }    return YES;}

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{    return [WXApi handleOpenURL:url delegate:self];}- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{    return [WXApi handleOpenURL:url delegate:self];}- (void)onReq:(BaseReq *)req{    }- (void)onResp:(BaseResp *)resp{    if ([resp isKindOfClass:[SendMessageToWXResp class]]) {        NSString *message = nil;        switch (resp.errCode) {            case 0:                message = @"分享成功";                break;                case -1:                message = @"分享失败";                            default:                break;        }        UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:message delegate:self cancelButtonTitle:@"cancel" otherButtonTitles:@"ok", nil];        [alert show];    }}

6、在需要实现分享的地方创建
- (IBAction)goShare:(id)sender{  //如果为纯文本信息的话,执行第一个if语句的判断    if (originalImage == nil) {//        [self showAlertWithTitle:@"提示" message:@"目前还没有照片"];        _scene = WXSceneTimeline;        SendMessageToWXReq *req = [[SendMessageToWXReq alloc]init];        req.text = @"这个相机怎么样";        req.bText = YES;        req.scene = _scene;        [WXApi sendReq:req];        return;    }    _scene = WXSceneTimeline;    if (![WXApi isWXAppInstalled]) {        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"请先安装微信客户端再进行分享" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];        [alert show];        return;    }else if (![WXApi isWXAppSupportApi]){        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"您的微信客户端版本太低,请先升级后再进行分享" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];        [alert show];        return;    } //分享图片的话用这个 WXMediaMessage *message = [WXMediaMessage message];   //生成缩略图(缩略图的要求小于32k)    UIImage *changeimage = [self scaleImage:originalImage toScale:0.1];        [message setThumbImage:changeimage];        NSData *imagedata = UIImageJPEGRepresentation(originalImage, 1);    WXImageObject *ext = [WXImageObject object];    ext.imageData = imagedata;        message.description = @"这是一个微信分享";    message.mediaObject = ext;    message.mediaTagName = @"WECHAT_TAG_JUMP_APP";    message.messageExt = @"这是第三方带的测试字段";    message.messageAction = @"<action>dotalist</action>";        SendMessageToWXReq* req = [[SendMessageToWXReq alloc] init];    req.bText = NO;    req.text = @"这个相机怎么样";    req.message = message;    req.scene = _scene;        [WXApi sendReq:req];}
//生成缩略图方法
- (UIImage *)scaleImage:(UIImage *)image toScale:(float)scaleSize{    UIGraphicsBeginImageContext(CGSizeMake(image.size.width*scaleSize,image.size.height*scaleSize));    [image drawInRect:CGRectMake(0, 0, image.size.width * scaleSize, image.size.height *scaleSize)];    UIImage *scaledImage = UIGraphicsGetImageFromCurrentImageContext();                                UIGraphicsEndImageContext();    return scaledImage;    }

这是一个基本的微信分享操作

0 0
原创粉丝点击