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