首先依照对应的文档获得对应的key

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    [WXApi registerApp:@"wxd930ea5d5a258f4f" withDescription:@"demo 2.0"];

    return YES;

}

然后配置对应的url  types

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

注冊想你得到的appkey

之后在点击分享的target事件中加入须要的分享信息和链接

if ( [WXApi isWXAppInstalled]) {//isWXAppInstalled推断是否手机上面有微信

    // 读取图片

    NSData  *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:imageUrl]];

    UIImage *imageNew=[UIImage imageWithData:data];

    if (!data || [imageUrl isEqualToString:@""]||!imageUrl) {

        imageNew = [UIImage imageNamed:@"AM_Logo_Share"];

    }

    imageNew = [self scaleToSize:imageNew size:CGSizeMake(imageNew.size.width*0.9, imageNew.size.height*0.9)];

    data= UIImageJPEGRepresentation(imageNew,1);//调整图片大小的,这个是自己的图片有些大

    if ([data length]> 30*1024) {

        data= UIImageJPEGRepresentation(imageNew,0.1);

    }

    WXMediaMessage *message = [WXMediaMessage message];

    message.title = title;                      分享的tittle

    message.description =des;            分享的详情

    [message setThumbData:data];     分享的图片

    

    WXWebpageObject *ext = [WXWebpageObject object];

    ext.webpageUrl = link;                link是分享的链接

    

    message.mediaObject = ext;

    SendMessageToWXReq* req = [[SendMessageToWXReq alloc] init];

    req.bText = NO;

    req.message = message;

    if (type == WeiXin) { //微信好友               推断是分享到朋友圈还是分享到好友

        req.scene = WXSceneSession;

    }else if (type == WXFriends){//朋友圈

        req.scene = WXSceneTimeline;

    }else{

        

    }

    

    [WXApi sendReq:req];

    

}else{

    NSLog(@"还没安装微信");  //以下的是,假设没有微信,提示下在微信或者取消

    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:@"您还没有安装微信" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"下载安装微信", nil];

    [alertView show];

 }

}





- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex

{

    switch (buttonIndex) {

        case 0:

            

            break;

        case 1:

            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[WXApi getWXAppInstallUrl]]];

            break;

        default:

            break;

    }

}

//这是自己调整图片大小的方法

- (UIImage *)scaleToSize:(UIImage *)img size:(CGSize)size{

    UIGraphicsBeginImageContext(size);

    [img drawInRect:CGRectMake(0, 0, size.width, size.height)];

    UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return scaledImage;

}

之后还要跳转对应第三方app的处理

在APPdelegate里面增加两个方法

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url

{

//凝视的是假设有多个分享,比方qq ,微博等   而WeChatKey,SinaKey 这些是对应的请求得到的appkey

//    if([url.scheme isEqualToString:WeChatKey])

//    {

//        return [WXApi handleOpenURL:url delegate:self];

//    }else if([url.scheme isEqualToString:[NSString stringWithFormat:@"wb%@",SinaKey]])

//    {

//        return [WeiboSDK handleOpenURL:url delegate:self];

//        

//    }else

//    {

//        return [TencentOAuth HandleOpenURL:url];

//    }

    return  [WXApi handleOpenURL:url delegate:self];

}



- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

{

    BOOL isSuc = [WXApi handleOpenURL:url delegate:self];

    return  isSuc;

}

假设要知道你分享的成功和失败,则须要调用

-(void) onReq:(BaseReq*)req

{



}

-(void) onResp:(BaseResp*)resp

{

}

这两个方法,在这两个方法内做对应的处理

ios 微信开发的更多相关文章

  1. 改进:js修改iOS微信浏览器的title

    问题简介 前端入门没多久,可能连入门也不算,最近网上流行各自书籍改名,什么<前端开发,从入门到放弃>,<Android开发,从入门到改行>之类的,程序员真是个爱自嘲的群体,但我 ...

  2. 微信开发之移动手机WEB页面(HTML5)Javascript实现一键拨号及短信发送功能

    在做一个微信的微网站中的一个便民服务电话功能的应用,用到移动web页面中列出的电话号码,点击需要实现调用通讯录,网页一键拨号的拨打电话功能. 如果需要在移动浏览器中实现拨打电话,发送email,美国服 ...

  3. 微信开发那点事(No.001)

    MXS&Vincene  ─╄OvЁ  &0000024─╄OvЁ  MXS&Vincene MXS&Vincene  ─╄OvЁ:今天很残酷,明天更残酷,后天很美好, ...

  4. [微信开发利器]微信内移动前端开发抓包调试工具fiddler使用教程

    [微信开发利器]微信内移动前端开发抓包调试工具fiddler使用教程   在朋友圈看到一款疯转的H5小游戏,想要copy,什么?只能在微信里打开?小样,图样图森破,限制了oauth.微信浏览器内打开, ...

  5. HTML5网页录音和上传到服务器,支持PC、Android,支持IOS微信

    准备做一个网页版聊天界面,表情啊.图片啊.上传文件啊都应该要有,视频就算了,语音还是要的. 本文记录的是在网页上用GitHub上的Recorder进行在线录音和上传到服务器,前几天升了一下级,以后有时 ...

  6. iOS视频流开发(1)—视频基本概念

    iOS视频流开发(1)-视频基本概念 手机比PC的优势除了便携外,她最重要特点就是可以快速方便的创作多媒体作品.照片分享,语音输入,视频录制,地理位置.一个成功的手机APP从产品形态上都有这其中的一项 ...

  7. 微信开发(一)基于Wx-java的微信分享功能

    最近在做微信服务号开发,简单总结一下,便于自己学习积累和分享给大家: 环境介绍: Spring+ Spring MVC +Mybatis 开发语言: JAVA 微信公众平台的开发中,微信只公布了一个基 ...

  8. [置顶] Django 微信开发(一)——环境搭建

    Django 微信开发(一)——环境搭建 随着移动互联网时代的到来,微信——一个改变着我们生活的产品悄悄走近了我们的生活.我们不得不觉得自己很幸运,自己能在这个世界上遇到像QQ.微博.微信这样优秀的产 ...

  9. iOS微信支付集成

    概述 iOS微信支付集成 详细 代码下载:http://www.demodashi.com/demo/10735.html 支付宝和微信都是业界的老大哥,相信大家都有所觉得文档.SDK都是各种坑吧(纯 ...

随机推荐

  1. java面试笔试总结(一)--亲生经历的面试题

    说明:本文只是自己的一些心得体会,答案也是自己写的,正确与否,还需考证 java笔试题    1java笔试题1 启动3个线程打印递增的数字, 线程1先打印1,2,3,4,5, 然后是线程2打印6,7 ...

  2. SSL协议的握手过程(摘录)

    SSL协议的握手过程 为了便于更好的认识和理解 SSL 协议,这里着重介绍 SSL 协议的握手协议.SSL 协议既用到了公钥加密技术(非对称加密)又用到了对称加密技术,SSL对传输内容的加密是采用的对 ...

  3. TWinHttp之二

    TWinHttp之二 function EncodeParams(strings: TStrings): SockString;var i: Integer; S: string;begin for ...

  4. meteor学习-- #一 安装meteor快速使用

    下载安装 curl https://install.meteor.com/ | sh meteor会自动下载mongodb和其他需要依赖的库,不需要手动安装. 如果是Windows 的用户,请使用 m ...

  5. C#接收xmlrpc接口返回哈希表格式

    C#在调用xmlrpc接口时返回的是int值就可以直接获取,最近在调用一个接口是获取一个账号记录的详细信息,xmlrpc接口返回的是一个哈希值. 所以直接用int或者Hashtable 来获取返回值执 ...

  6. axios踩坑记录+拦截器使用+vue cli代理跨域proxy+webpack打包部署到服务器

    1.小小的提一下vue cli脚手架前端调后端数据接口时候的本地代理跨域问题,如我在本地localhost访问接口http://40.00.100.100:3002/是要跨域的,相当于浏览器设置了一道 ...

  7. 【云计算】Docker build解决父镜像层级关系过多问题:Cannot create container with more than 127 parents

    docker export 8a6e92c71a77 > malakas.tzr.gz cat malakas.tzr.gz|docker import - /nscloud/malakas:1 ...

  8. HTTP状态码具体解释

    HTTP状态码(HTTP Status Code)是用以表示网页serverHTTP响应状态的3位数字代码.它由 RFC 2616 规范定义的,并得到RFC 2518.RFC 2817.RFC 229 ...

  9. Js和html相结合的方式

    目录  TOC \o "1-3" \h \z \u js和html相结合的方式. PAGEREF _Toc455386178 \h 1 08D0C9EA79F9BACE118C82 ...

  10. java中,静态代码块static的简单简介

    直接上代码,更直观,包括一些解释: /** * 类初始化时,首先加载静态代码块, * 注意:所有静态代码块都会在方法之前执行,不管放置的位置:但是静态代码块按照顺序执行 * 再次执行调用的方法 */ ...