IOS9 最新的分享(QQ、WeiXin、WeiBo)代码书写不超过10行

          《 IOS9  最新的分享(QQ、WeiXin、WeiBo)代码书写不超过10行 》

           特点:代码简单,分享类型多。(音乐、视频、新闻、收藏。。。。)。

           IOS9 以后,IOS APP 的开发分享,发生了很大改变。例如:分享时,网络要进行配置、导入的框架也有所变化、增加了白名单,等。这些新的变化导致,本来就不好做的分享变的更加难了。现在,本人就对分享进行了优化,让新学者能够快速的使用上 ios9 的分享。

第一步:我们看效果。

IOS9 最新的分享(QQ、WeiXin、WeiBo)代码书写不超过10行_第1张图片IOS9 最新的分享(QQ、WeiXin、WeiBo)代码书写不超过10行_第2张图片

IOS9 最新的分享(QQ、WeiXin、WeiBo)代码书写不超过10行_第3张图片IOS9 最新的分享(QQ、WeiXin、WeiBo)代码书写不超过10行_第4张图片

IOS9 最新的分享(QQ、WeiXin、WeiBo)代码书写不超过10行_第5张图片IOS9 最新的分享(QQ、WeiXin、WeiBo)代码书写不超过10行_第6张图片

第二部:我们介绍如何快速,集成。导入必要的框架。如下:


IOS9 最新的分享(QQ、WeiXin、WeiBo)代码书写不超过10行_第7张图片


第三步:修改info.plist.的内容。

         1、 添加这个字段。(因为 IOS6 以后,在项目生成的时候就不带了)。

IOS9 最新的分享(QQ、WeiXin、WeiBo)代码书写不超过10行_第8张图片

          2、设置网络(如果,你只是单独建一个工程,否者,不需要这一步)。

IOS9 最新的分享(QQ、WeiXin、WeiBo)代码书写不超过10行_第9张图片

        3、添加白名单(有好多种,尽可能的添加)。

IOS9 最新的分享(QQ、WeiXin、WeiBo)代码书写不超过10行_第10张图片

          4、修改链接路径。

IOS9 最新的分享(QQ、WeiXin、WeiBo)代码书写不超过10行_第11张图片

        5、添加 URL Type 。

IOS9 最新的分享(QQ、WeiXin、WeiBo)代码书写不超过10行_第12张图片

第四步:关键的代码缩写。

       QQ: 关键代码。

       1、使用代码

       

// 发起qq 分享

-(void)QQ_Send:(NSInteger)Index QQ_Type:(QQ_ShareType)Type{

    ZSJ_QQ_Share * Share = [ZSJ_QQ_ShareZSJShareSdk:QQ_APPID];

    if ([Share ZSJExamine]) {

        // 分享的标题

        Share.QQ_Title = _SourcesArray[Index][@"title"];

        // 描述

        Share.QQ_Describe = _SourcesArray[Index][@"miaoshu"];

        // 分享网址

        Share.QQ_Url = _SourcesArray[Index][@"url"];

        // 分享的图片

        Share.QQ_ShareImage = [UIImageimageNamed:[NSStringstringWithFormat:@"%@",_SourcesArray[Index][@"image"]]];

        //初始化

        [Share ZSJSendApiNewsObject:Type];

    }else{

        NSLog(@"你没有安装QQ");

    }


}


2、隐藏代码。

// 结构消息的发送

-(void)ZSJSendApiNewsObject:(QQ_ShareType)Type{

    QQApiNewsObject * ApiNewsObjec = nil ;

    // 信息体的创建

    if (self.QQ_ShareImage) {

        NSData * QQ_Data = UIImageJPEGRepresentation(self.QQ_ShareImage,0.5);

          ApiNewsObjec = [[QQApiNewsObjectalloc]initWithURL:[NSURLURLWithString:_QQ_Url]title:_QQ_Titledescription:_QQ_DescribepreviewImageData:QQ_Data targetContentType:QQApiURLTargetTypeNews];

    }elseif (self.QQ_ShareImageUrl.length){

        ApiNewsObjec = [[QQApiNewsObjectalloc]initWithURL:[NSURLURLWithString:_QQ_Url]title:_QQ_Titledescription:_QQ_DescribepreviewImageURL:[NSURLURLWithString:_QQ_ShareImageUrl]targetContentType:QQApiURLTargetTypeNews];

    }

    //创建发送平台

    SendMessageToQQReq * QQReq = [SendMessageToQQReqreqWithContent:ApiNewsObjec];

    // 调用发送体,开始发送

    [self sendObject:Typetager:QQReq];

}


    微信:关键代码。
    1、调用代码。

// 微信 分享

-(void)WeiXin_Send:(NSInteger)Index QQ_Type:(enumWXScene)Type{

    ZSJ_WeiXin_Share * Share = [ZSJ_WeiXin_ShareZSJShareSdk:WeiXin_APPID];

    if ([Share ZSJExamine]) {

        // 分享的标题

        Share.WeiXin_Title = _SourcesArray[Index][@"title"];

        // 描述

        Share.WeiXin_Describe =_SourcesArray[Index][@"miaoshu"];

        // 分享网址

        Share.WeiXin_Url = _SourcesArray[Index][@"url"];

        // 分享的图片

        Share.WeiXin_ShareImage = [UIImageimageNamed:[NSStringstringWithFormat:@"%@",_SourcesArray[Index][@"image"]]];

        //初始化

        [Share ZSJSendWebpageObject:Type];

    }else{

        NSLog(@"你没有安装QQ");

    }


}


2、隐藏代码。

-(void)ZSJSendWebpageObject:(enumWXScene)Scene{

   

    // 创建消息体对象

    WXMediaMessage * MediaMessage = [WXMediaMessagemessage];

    // 标题

    MediaMessage.title = _WeiXin_Title;

    // 描述

    MediaMessage.description =_WeiXin_Describe;

    // 图像

    [MediaMessage setThumbImage:_WeiXin_ShareImage];

    // 创建网络对象

    WXWebpageObject * WebpageObjec = [WXWebpageObjectobject];

    // 分享网址

    WebpageObjec.webpageUrl = _WeiXin_Url;

    // 对象的装载

    MediaMessage.mediaObject = WebpageObjec;

    [self SendWeiXin:MediaMessageScene:Scene];

}


-(void)SendWeiXin:(WXMediaMessage*)MediaMessage Scene:(enumWXScene)Scene{

    // 创建发射架

    SendMessageToWXReq * MessageToWXReq = [[SendMessageToWXReqalloc]init];

    // 是文本还是多媒体

    MessageToWXReq.bText = NO;

    // 消息信息对象

    MessageToWXReq.message = MediaMessage ;

    // 分享的场景

    MessageToWXReq.scene = Scene;

    // 发起分享

    [WXApi sendReq:MessageToWXReq];

}


微博:关键代码。
 1、代用代码。

// 微博分享

-(void)WeiBo_Send:(NSInteger)Index QQ_Type:(ObjectType)Type{

    ZSJ_WeiBo_Share * Share = [ZSJ_WeiBo_ShareZSJShareSdk:WeiBo_APPID];

    if ([Share ZSJExamine]) {

        //回调网址

        Share.WeiBo_RedirectURI =WeiBo_RedirectURI_STR;

        // 分享的标题

        Share.WeiBo_Title = _SourcesArray[Index][@"title"];

        // 描述

        Share.WeiBo_Describe = _SourcesArray[Index][@"miaoshu"];

        // 分享网址

        Share.WeiBo_Url = _SourcesArray[Index][@"url"];

        // 分享的图片

        Share.WeiBo_ShareImage = [UIImageimageNamed:[NSStringstringWithFormat:@"%@",_SourcesArray[Index][@"image"]]];

        //拼接串

        Share.WeiBo_CHFD = @"&";

        // 媒体标记

        Share.WeiBo_ObjectID = @"ZSJ";

        //初始化

        [Share ZSJSendObject:Type];

    }else{

        NSLog(@"你没有安装QQ");

    }

}

  2、隐藏代码。


// 创建发送对象

-(void)ZSJSendObject:(ObjectType)ObjectType{

    //创建认证对象

    WBAuthorizeRequest * AuthorizeRequest = [WBAuthorizeRequestrequest];

    // 授权回调网址

    AuthorizeRequest.redirectURI =_WeiBo_RedirectURI;

    //scope

    AuthorizeRequest.scope = _WeiBo_Scope;

    // 构建分享的对象

    WBSendMessageToWeiboRequest * ToWeiboRequest = [WBSendMessageToWeiboRequestrequestWithMessage:[selfmakeMessageObjec:ObjectType]];

    ToWeiboRequest.userInfo =@{@"ShareMessageFrom":@"SendMessageToWeiboViewController",

                                @"Other_Info_1": [NSNumbernumberWithInt:123],

                                @"Other_Info_2":@[@"obj1", @"obj2"],

                                @"Other_Info_3":@{@"key1": @"obj1", @"key2": @"obj2"}};

    // 创建发送对象

    [WeiboSDK sendRequest:ToWeiboRequest];

}



第五部:AppDelete里面的关键代码是。

-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{

    if ([[urlabsoluteString] hasPrefix:@"tencent"]) {

        return [TencentOAuth HandleOpenURL:url];


    }elseif ([[url absoluteString]hasPrefix:@"wb"]){

        return [WeiboSDKhandleOpenURL:url delegate:self];

    }

    return NO;

}

// 注意这个必须实现。

- (void)didReceiveWeiboResponse:(WBBaseResponse *)response

{

    NSLog(@"微博分享成功");

    

}


-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{

    if ([[urlabsoluteString] hasPrefix:@"tencent"]) {

        return [TencentOAuth HandleOpenURL:url];

        

    }elseif ([[url absoluteString]hasPrefix:@"wb"]){

        return [WeiboSDKhandleOpenURL:url delegate:self];

    }

    return NO;

}



下载地址:https://github.com/zhoushuangjian/ZSJShareSDK


你可能感兴趣的:(分享,白名单,微信分享,QQ分享,新浪分享)