• iOS


    我仅仅做了文字和图片分享功能大笑


    1. TARGETS - Info - URL Types 

    identifier -> weixin

    URL Schemes ->  应用id


    2.在AppDelegate.h 引入头文件 

    #import "WXApi.h"
    {
    /**
     *      WXSceneSession   分享到会话
     *      WXSceneTimeline  分享到朋友圈
     *      WXSceneFavorite  分享到我的收藏
     */
        enum WXScene _scene;
    }

    
    
    - (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:@"xxooxoxoxoxoxoxo"];
    }
    
    #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];
    }
    
    
    onReq 和 onResp 能够不写
    -(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:@"标题:%@ 
    内容:%@ 
    附带信息:%@ 
    缩略图:%u bytes
    
    ", 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];
        }
    }
    
    


    4.这是我写好的在微信会话和朋友圈分享文字或者图片的方法

    直接调用就能够, 也能够按需求整到一起

    #pragma mark - 微信, 朋友圈分享
    #pragma mark 文字分享
    - (void)sharedByWeChatWithText:(NSString *)WeChatMessage sceneType:(int)sceneType
    {
        SendMessageToWXReq *req = [[[SendMessageToWXReq alloc] init]autorelease];
        req.text  = WeChatMessage;
        req.bText = YES;
        req.scene = sceneType;
        [WXApi sendReq:req];
    }
    
    #pragma mark 图片分享
    - (void)sharedByWeChatWithImage:(NSString *)imageName sceneType:(int)sceneType
    {
        WXMediaMessage *message = [WXMediaMessage message];
        [message setThumbImage:[UIImage imageNamed:imageName]];
        
        WXImageObject *ext = [WXImageObject object];
        NSString *filePath = [[NSBundle mainBundle] pathForResource:imageName ofType:@"png"];
        ext.imageData  = [NSData dataWithContentsOfFile:filePath];
        UIImage *image = [UIImage imageWithData:ext.imageData];
        ext.imageData  = UIImagePNGRepresentation(image);
        
        message.mediaObject = ext;
        
        SendMessageToWXReq *req = [[[SendMessageToWXReq alloc] init]autorelease];
        req.bText   = NO;
        req.message = message;
        req.scene   = sceneType;
        
        [WXApi sendReq:req];
    }
    

    
    
  • 相关阅读:
    团队作业7
    团队作业五
    团队作业四
    团队作业3
    团队作业调研
    团队作业 团队组织方式讨论
    团队成员介绍
    iOS大神博客列表
    iOS JSBridge实现
    「节日换肤」通用技术方案__iOS端实现
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/7100228.html
Copyright © 2020-2023  润新知