iOS开发-友盟分享(1)详解手机开发
1.集成友盟分享,需要先注册一个友盟账号,注册地址
友盟开发者平台官网 友盟集成文档
友盟sdk下载地址友盟sdk下载地址
2,成功下载sdk集成后,微信分享需要配置一下
新浪微博 之类到同样配置就行
3.整合完之后就开始上代码了
ShareManage.h
// Created by wxxu on 14/12/18. // Copyright (c) 2014年 archon. All rights reserved. // 分享管理 // 友盟APIKey #define UMeng_APIKey @ //友盟appKey #define WX_APP_KEY @ //微信appId #define WX_APP_SECRET @ //微信appSecret #define share_title @ //分享标题 #define share_content @ //分享内容 #define share_url @ //分享url #import Foundation/Foundation.h #import MessageUI/MessageUI.h @interface ShareManage : NSObject MFMessageComposeViewControllerDelegate + (ShareManage *)shareManage;- (void)shareConfig;/**微信分享**/ (void)wxShareWithViewControll:(UIViewController *)viewC;/**新浪微博分享**/- (void)wbShareWithViewControll:(UIViewController *)viewC;/**微信朋友圈分享**/- (void)wxpyqShareWithViewControll:(UIViewController *)viewC;/**短信分享**/- (void)smsShareWithViewControll:(UIViewController *)viewC;@end
// Created by wxxu on 14/12/18. // Copyright (c) 2014年 archon. All rights reserved. // 分享管理 #import ShareManage.h #import UMSocial.h #import UMSocialWechatHandler.h #import WXApi.h @implementation ShareManage { UIViewController *_viewC; } static ShareManage *shareManage; + (ShareManage *)shareManage { @synchronized(self) { if (shareManage == nil) { shareManage = [[self alloc] init]; } return shareManage; } } #pragma mark 注册友盟分享微信 (void)shareConfig { //设置友盟社会化组件appkey [UMSocialData setAppKey:UMeng_APIKey]; [UMSocialData openLog:YES]; //注册微信 [WXApi registerApp:WX_APP_KEY]; //设置图文分享 [UMSocialData defaultData].extConfig.wxMessageType = UMSocialWXMessageTypeWeb; } #pragma mark 微信分享 (void)wxShareWithViewControll:(UIViewController *)viewC { _viewC = viewC; [[UMSocialControllerService defaultControllerService] setShareText:share_content shareImage:nil socialUIDelegate:nil]; [UMSocialWechatHandler setWXAppId:WX_APP_KEY appSecret:WX_APP_SECRET url:share_url]; [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToWechatSession].snsClickHandler(viewC,[UMSocialControllerService defaultControllerService],YES); } #pragma mark 新浪微博分享 (void)wbShareWithViewControll:(UIViewController *)viewC { _viewC = viewC; [[UMSocialControllerService defaultControllerService] setShareText:share_content shareImage:nil socialUIDelegate:nil]; [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToSina].snsClickHandler(viewC,[UMSocialControllerService defaultControllerService],YES); } #pragma mark 微信朋友圈分享 (void)wxpyqShareWithViewControll:(UIViewController *)viewC { _viewC = viewC; [[UMSocialControllerService defaultControllerService] setShareText:share_content shareImage:nil socialUIDelegate:nil]; [UMSocialWechatHandler setWXAppId:WX_APP_KEY appSecret:WX_APP_SECRET url:share_url]; [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToWechatTimeline].snsClickHandler(viewC,[UMSocialControllerService defaultControllerService],YES); } #pragma mark 短信分享 (void)smsShareWithViewControll:(UIViewController *)viewC { _viewC = viewC; Class messageClass = (NSClassFromString(@ MFMessageComposeViewController )); if (messageClass != nil) { if ([messageClass canSendText]) { [self displaySMSComposerSheet]; } else { //@ 设备没有短信功能 } } else { //@ iOS版本过低,iOS4.0以上才支持程序内发送短信 } } #pragma mark 短信的代理方法 (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result{ [_viewC dismissViewControllerAnimated:YES completion:nil]; switch (result) { case MessageComposeResultCancelled: break; case MessageComposeResultSent: //@ 感谢您的分享! break; case MessageComposeResultFailed: break; default: break; } } (void)displaySMSComposerSheet { MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc] init]; picker.messageComposeDelegate = self; picker.navigationBar.tintColor = [UIColor blackColor]; // picker.recipients = [NSArray arrayWithObject:@ 10086 ]; picker.body = share_content; [_viewC presentViewController:picker animated:YES completion:nil]; } @end
之前使用过,shareSDK。到了新公司,新公司使用友盟。
友盟的挺简单的。特分享几个注意点
0、后来想到的,微博和友盟的绑定
友盟的使用是很简单,但是,友盟的网站好难用,有木有!!!啥思路
接着,吐槽。添加了一个新的应用,居然,在我的应用里找不到!但是,在这
可以找到,不过,第二天,就在我的应用找到了。
神逻辑呀!
1、QQ空间的分享。之前老是报错
2014-09-18 09:52:00.030 友盟快速[239:60b] 分享到QQ空间必须设置图片+文字消息 2014-09-18:09:52:00:034 -QQAPI- QQApi.m:300 param error:qzone not support type
在真机上的错误是,无法打开手机QQ。因为,分享到qq好友,可以,所以肯定不是无法打开手机QQ。
在网上找了许多,都没有直接说明这个问题的。给客服反映,客服木有反应(这点不如,shareSDK)。
一个半小时,有木有。问题。我早就解决了!
后来,看到,有个开发者说到,图片和文字为什么不能一起分享,题目和文字怎么分开。我想,是不是我分享的文字的原因,我只是写了“这是要分享的文字”。于是随手添加了N多无聊的文字。可以分享了。
2、QQ好友分享。只有链接
这个就是因为,你分享了图片。如果去掉图片,可以看到文字了。
3、设置QQ各种title
支持title设置的平台:QQ、QQ空间、微信、微信朋友圈
QQtitle设置方法: [UMSocialData defaultData].extConfig.qqData.title = @ QQtitle QQ空间title设置方法: [UMSocialData defaultData].extConfig.qzoneData.title = @ Qzonetitle 微信title设置方法: [UMSocialData defaultData].extConfig.wechatSessionData.title = @ 微信title 朋友圈title设置方法: [UMSocialData defaultData].extConfig.wechatTimelineData.title = @ 朋友圈title
4、关于QQ类,无法返回(不包括微信)
如果,你查看网页,给出的答案是,设置scheme。但是这样还是不行。其实,只要你去友盟的后台绑定一下,QQ空间APPkey绑定就可以类。十六进制那个。
最后,给大家个绝招。
如果,你某个功能实现不了。
使用友盟的账号试试。其实,直接用它的就好。
我有个功能实现不了,调试了一下午都不行。最后,用都绝招成功。只能说,这个账号不对。
做这个功能,主要是账号申请费劲,还不一定对,所以,绝招一定要用的!
6090.html
app程序应用开发手机开发无线开发移动端开发相关文章
- hbuilderx云打包ios签名的生成方法
- iOS 应用开发中的断点续传实践总结详解手机开发
- iOS图片无损拉伸详解手机开发
- iOS 移动动画简单实现详解手机开发
- IOS截取屏幕到文件中详解手机开发
- iOS开发中邮箱,电话号码,身份证,密码,昵称正则表达式验证详解手机开发
- iOS调用相机并且上传照片的方法详解手机开发
- IOS中修改图片的大小:修改分辨率和裁剪详解手机开发
- iOS发送邮件的代码详解手机开发
- [iOS]图片压缩&保存View为内容Img详解手机开发
- iOS 简单的音频操作代码详解手机开发
- iOS应用中网络等待Loading的实现方法详解手机开发
- iOS实现连拍功能详解手机开发
- iOS判断手机APP第一次启动详解手机开发
- iOS开发系列课程预告详解手机开发
- iOS开发入门笔记详解手机开发
- iOS—-青花瓷运用->下载历史版本App详解手机开发
- iOS—-自定义UIView,绘制一个UIView详解手机开发
- iOS开发-闪退问题-解决之前上架的 App 在 iOS 9 会闪退问题详解手机开发
- iOS开发——高级技术&通讯录功能的实现详解手机开发
- MacOS 与 iOS:由浅入深的连接(macos和ios)
- 操作系统开启iOS时代:Linux操作系统的新篇章(ios是linux)
- Linux与iOS:同源不同道(linux与ios的关系)
- Linux与iOS:越来越亲密的合作伙伴(linux与ios)
- 应用Linux上编译IOS应用:实现跨平台体验(linux编译ios)