IOS 微信

时间:2015-06-08 16:31:13   收藏:0   阅读:265

原文:http://blog.csdn.net/ysy441088327/article/details/8441608

按照常例,列一些网址先:

微信开放平台首页: http://open.weixin.qq.com

微信 iOS SDK 官方下载地址: http://open.weixin.qq.com/download/sdk/wechat_sdk_ios.zip

微信 分享好友API调用官方使用教程: http://open.weixin.qq.com/document/gettingstart/ios/?lang=zh_CN

 

目前来说:微信开放平台主要提供两个API:

1:将信息分享给微信好友

2:将信息直接分享至朋友圈

 

其实官方教程已经非常详细了,我也是按照官方的一步步来得以实现,

那为什么写这篇教程? 有一个最主要的目的是,减少没必要的时间开销,以及一些官方教程上面提到的一些盲区.

开始:

将数据分享给好友总共5个步骤,注意:不要乱了顺序:

1:在工程Plist文件中添加一个 URL type  "URL scheme”为你所注册的应用程序id,既AppID

2:引入头文件,在接口处声明要实现的委托.

3:将申请的AppID 注册, 这个方法不调用,是无法启动微信客户端的.

 

[WXApi registerApp:WeiXinAppID]
  

4:在AppDelegate中实现如下委托来接收来自微信客户端的回调响应:

 

 

-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation  
{  
    //如果涉及其他应用交互,请做如下判断,例如:还可能和新浪微博进行交互  
    if ([url.scheme isEqualToString:WeiXinAppID]) {  
        return [WXApi handleOpenURL:url delegate:self];  
    }else  
    {  
        return YES;  
    }  
}  

 


5:通过调用如下方法及参数 来 立刻显示微信客户端

 

 

SendMessageToWXReq *sendMsg = [[SendMessageToWXReq alloc] init];  
sendMsg.text =  @"123";  
sendMsg.bText = YES;  
[WXApi sendReq:sendMsg];  

 


6:当微信界面的返回按钮被点击时,微信客户端会回调之前启用自己的应用,此处触发通用的UIApplicationDelegate 代理,也就是第四点.

 

当执行  [WXApi handleOpenURL:url delegate:self] 以后 触发微信API自带的委托:

 

-(void)onResp:(BaseResp *)resp  
{  
    NSLog(@"%@",resp);  
    NSLog(@"errStr %@",[resp errStr]);  
    NSLog(@"errCode %d",[resp errCode]);  
    NSLog(@"type %d",[resp type]);  
}  

 

自此,整个应用与微信客户端交互就结束了.

如果微信的SDK在工作空间的环境下使用 并在工程配置文件的 Other Linker Flags 中设置了  -all_load 

那么会真机编译时产生编译错误,也不知道是到底是什么文件出了问题,那么这时 就不要使用-all_load了,  使用  -force_load

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!