1. TARGETS - Info - URL Types
identifier -> weixin
URL Schemes -> 应用id
2.在AppDelegate.h 引入头文件 - #import "WXApi.h"
定义
{ enum WXScene _scene; }
3.在AppDelegate.m中
- (id)init{ if(self = [super init]){ _scene = WXSceneSession; } return self; } -(void) changeScene:(NSInteger)scene { _scene = scene; } - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 其它代码 // 向微信注册应用ID [WXApi registerApp:@"wx1432f1d44b2f2696"]; } #pragma mark - //重写AppDelegate的handleOpenURL和openURL方法 - (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 { if([req isKindOfClass:[GetMessageFromWXReq class]]) { // 微信请求App提供内容, 需要app提供内容后使用sendRsp返回 NSString *strTitle = [NSString stringWithFormat:@"微信请求App提供内容"]; NSString *strMsg = @"微信请求App提供内容,App要调用sendResp:GetMessageFromWXResp返回给微信"; UIAlertView *alert = [[UIAlertView alloc] initWithTitle:strTitle message:strMsg delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; alert.tag = 1000; [alert show]; [alert release]; } else if([req isKindOfClass:[ShowMessageFromWXReq class]]) { ShowMessageFromWXReq* temp = (ShowMessageFromWXReq*)req; WXMediaMessage *msg = temp.message; //显示微信传过来的内容 WXAppExtendObject *obj = msg.mediaObject; NSString *strTitle = [NSString stringWithFormat:@"微信请求App显示内容"]; NSString *strMsg = [NSString stringWithFormat:@"标题:%@ \n内容:%@ \n附带信息:%@ \n缩略图:%u bytes\n\n", msg.title, msg.description, obj.extInfo, msg.thumbData.length]; UIAlertView *alert = [[UIAlertView alloc] initWithTitle:strTitle message:strMsg delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; [alert show]; [alert release]; } else if([req isKindOfClass:[LaunchFromWXReq class]]) { //从微信启动App NSString *strTitle = [NSString stringWithFormat:@"从微信启动"]; NSString *strMsg = @"这是从微信启动的消息"; UIAlertView *alert = [[UIAlertView alloc] initWithTitle:strTitle message:strMsg delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; [alert show]; [alert release]; } } -(void) onResp:(BaseResp*)resp { if([resp isKindOfClass:[SendMessageToWXResp class]]) { NSString *strTitle = [NSString stringWithFormat:@"发送媒体消息结果"]; NSString *strMsg = [NSString stringWithFormat:@"errcode:%d", resp.errCode]; UIAlertView *alert = [[UIAlertView alloc] initWithTitle:strTitle message:strMsg delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; [alert show]; [alert release]; } } - (void) sendTextContent { SendMessageToWXReq* req = [[[SendMessageToWXReq alloc] init]autorelease]; req.text = @"这里写你要分享的内容。"; req.bText = YES; req.scene = _scene; [WXApi sendReq:req]; }
4.在你控制器里点击按钮方法里
SendMessageToWXReq* req = [[[SendMessageToWXReq alloc] init]autorelease]; req.text = @"李伟宾: 这是我做的测试!http://mobilebj.cn"; req.bText = YES; req.scene = WXSceneSession; //发送到会话 [WXApi sendReq:req]; break; case 2: //微信朋友圈 NSLog(@"微信朋友圈"); SendMessageToWXReq* req2 = [[[SendMessageToWXReq alloc] init]autorelease]; req2.text = @"李伟宾: 这是我做的测试!http://mobilebj.cn"; req2.bText = YES; req2.scene = WXSceneTimeline; //发送到朋友圈 [WXApi sendReq:req2];
原文地址:http://blog.csdn.net/dylan_lwb_/article/details/40653091