IOS 微信

原文: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

原文地址:https://www.cnblogs.com/SimonGao/p/4560923.html