1.集成友盟分享,需要先注册一个友盟账号,注册地址

友盟开发者平台官网  友盟集成文档

友盟sdk下载地址友盟sdk下载地址

2,成功下载sdk集成后,微信分享需要配置一下

新浪微博 之类到同样配置就行

3.整合完之后就开始上代码了

ShareManage.h

  1. //
  2. //  ShareManage.h
  3. //  KONKA_MARKET
  4. //
  5. //  Created by wxxu on 14/12/18.
  6. //  Copyright (c) 2014年 archon. All rights reserved.
  7. //  分享管理
  8. // 友盟APIKey
  9. #define UMeng_APIKey        @""//友盟appKey
  10. #define WX_APP_KEY @""//微信appId
  11. #define WX_APP_SECRET @""//微信appSecret
  12. #define share_title @""//分享标题
  13. #define share_content @""//分享内容
  14. #define share_url @""//分享url
  15. #import <Foundation/Foundation.h>
  16. #import <MessageUI/MessageUI.h>
  17. @interface ShareManage : NSObject <MFMessageComposeViewControllerDelegate>
  18. + (ShareManage *)shareManage;- (void)shareConfig;/**微信分享**/
  19. - (void)wxShareWithViewControll:(UIViewController *)viewC;/**新浪微博分享**/- (void)wbShareWithViewControll:(UIViewController *)viewC;/**微信朋友圈分享**/- (void)wxpyqShareWithViewControll:(UIViewController *)viewC;/**短信分享**/- (void)smsShareWithViewControll:(UIViewController *)viewC;@end

ShareManage.m

  1. //
  2. //  ShareManage.m
  3. //  KONKA_MARKET
  4. //
  5. //  Created by wxxu on 14/12/18.
  6. //  Copyright (c) 2014年 archon. All rights reserved.
  7. //  分享管理
  8. #import "ShareManage.h"
  9. #import "UMSocial.h"
  10. #import "UMSocialWechatHandler.h"
  11. #import "WXApi.h"
  12. @implementation ShareManage {
  13. UIViewController *_viewC;
  14. }
  15. static ShareManage *shareManage;
  16. + (ShareManage *)shareManage
  17. {
  18. @synchronized(self)
  19. {
  20. if (shareManage == nil) {
  21. shareManage = [[self alloc] init];
  22. }
  23. return shareManage;
  24. }
  25. }
  26. #pragma mark 注册友盟分享微信
  27. - (void)shareConfig
  28. {
  29. //设置友盟社会化组件appkey
  30. [UMSocialData setAppKey:UMeng_APIKey];
  31. [UMSocialData openLog:YES];
  32. //注册微信
  33. [WXApi registerApp:WX_APP_KEY];
  34. //设置图文分享
  35. [UMSocialData defaultData].extConfig.wxMessageType = UMSocialWXMessageTypeWeb;
  36. }
  37. #pragma mark 微信分享
  38. - (void)wxShareWithViewControll:(UIViewController *)viewC
  39. {
  40. _viewC = viewC;
  41. [[UMSocialControllerService defaultControllerService] setShareText:share_content shareImage:nil socialUIDelegate:nil];
  42. [UMSocialWechatHandler setWXAppId:WX_APP_KEY appSecret:WX_APP_SECRET url:share_url];
  43. [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToWechatSession].snsClickHandler(viewC,[UMSocialControllerService defaultControllerService],YES);
  44. }
  45. #pragma mark 新浪微博分享
  46. - (void)wbShareWithViewControll:(UIViewController *)viewC
  47. {
  48. _viewC = viewC;
  49. [[UMSocialControllerService defaultControllerService] setShareText:share_content shareImage:nil socialUIDelegate:nil];
  50. [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToSina].snsClickHandler(viewC,[UMSocialControllerService defaultControllerService],YES);
  51. }
  52. #pragma mark 微信朋友圈分享
  53. - (void)wxpyqShareWithViewControll:(UIViewController *)viewC
  54. {
  55. _viewC = viewC;
  56. [[UMSocialControllerService defaultControllerService] setShareText:share_content shareImage:nil socialUIDelegate:nil];
  57. [UMSocialWechatHandler setWXAppId:WX_APP_KEY appSecret:WX_APP_SECRET url:share_url];
  58. [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToWechatTimeline].snsClickHandler(viewC,[UMSocialControllerService defaultControllerService],YES);
  59. }
  60. #pragma mark 短信分享
  61. - (void)smsShareWithViewControll:(UIViewController *)viewC
  62. {
  63. _viewC = viewC;
  64. Class messageClass = (NSClassFromString(@"MFMessageComposeViewController"));
  65. if (messageClass != nil) {
  66. if ([messageClass canSendText]) {
  67. [self displaySMSComposerSheet];
  68. }
  69. else {
  70. //@"设备没有短信功能"
  71. }
  72. }
  73. else {
  74. //@"iOS版本过低,iOS4.0以上才支持程序内发送短信"
  75. }
  76. }
  77. #pragma mark 短信的代理方法
  78. - (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result{
  79. [_viewC dismissViewControllerAnimated:YES completion:nil];
  80. switch (result)
  81. {
  82. case MessageComposeResultCancelled:
  83. break;
  84. case MessageComposeResultSent:
  85. //@"感谢您的分享!"
  86. break;
  87. case MessageComposeResultFailed:
  88. break;
  89. default:
  90. break;
  91. }
  92. }
  93. - (void)displaySMSComposerSheet
  94. {
  95. MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc] init];
  96. picker.messageComposeDelegate = self;
  97. picker.navigationBar.tintColor = [UIColor blackColor];
  98. //    picker.recipients = [NSArray arrayWithObject:@"10086"];
  99. picker.body = share_content;
  100. [_viewC presentViewController:picker animated:YES completion:nil];
  101. }
  102. @end

博文二

之前使用过,shareSDK。到了新公司,新公司使用友盟。

友盟的挺简单的。特分享几个注意点

0、后来想到的,微博和友盟的绑定

友盟的使用是很简单,但是,友盟的网站好难用,有木有!!!啥思路

接着,吐槽。添加了一个新的应用,居然,在我的应用里找不到!但是,在这

可以找到,不过,第二天,就在我的应用找到了。

神逻辑呀!

1、QQ空间的分享。之前老是报错

  1. 2014-09-18 09:52:00.030 友盟快速[239:60b] 分享到QQ空间必须设置图片+文字消息
  2. 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空间、微信、微信朋友圈

  1. QQtitle设置方法:
  2. [UMSocialData defaultData].extConfig.qqData.title = @"QQtitle";
  3. QQ空间title设置方法:
  4. [UMSocialData defaultData].extConfig.qzoneData.title = @"Qzonetitle";
  5. 微信title设置方法:
  6. [UMSocialData defaultData].extConfig.wechatSessionData.title = @"微信title";
  7. 朋友圈title设置方法:
  8. [UMSocialData defaultData].extConfig.wechatTimelineData.title = @"朋友圈title";

4、关于QQ类,无法返回(不包括微信)

如果,你查看网页,给出的答案是,设置scheme。但是这样还是不行。其实,只要你去友盟的后台绑定一下,QQ空间APPkey绑定就可以类。十六进制那个。

最后,给大家个绝招。

如果,你某个功能实现不了。

使用友盟的账号试试。其实,直接用它的就好。

我有个功能实现不了,调试了一下午都不行。最后,用都绝招成功。只能说,这个账号不对。

做这个功能,主要是账号申请费劲,还不一定对,所以,绝招一定要用的!

iOS开发-友盟分享(1)的更多相关文章

  1. iOS开发——友盟分享

    ==========2016-01-29 更新=====刘成利 email:liu_cheng_li@qq.com========== 自己成功集成到公司的项目前,也已做了测试好的友盟分享demo 目 ...

  2. iOS开发-友盟分享(3)

    iOS 友盟分享 这个主要是提到如何通过友盟去自定义分享的步骤: 一.肯定要去友盟官网下载最新的SDK包,然后将SDK导入到你的工程文件夹里面去: 二.注册友盟账号,将你的APP添加到你的账号里面然后 ...

  3. iOS开发-友盟分享使用(2)

    1.友盟SDK提供功能:分享喜欢的东西到新浪微博.qq空间.为微信朋友圈等等等等社交圈. 2.友盟分享前期准备 (1)注册账号 去官网 (2)创建应用获取appkey 类似5556a53667e*** ...

  4. iOS关于友盟分享弹不出面板问题

    在程序代理类中声明 [NSThread sleepForTimeInterval:10];//设置启动页面时间 [self.window makeKeyAndVisible]; [[UMSocialM ...

  5. IOS 集成友盟分享

    #import <Foundation/Foundation.h> @interface UMSocialSinaHandler : NSObject +(void)openSSOWith ...

  6. iOS 集成友盟分享图片链接为http时无法加载问题解决

    一.问题描述 UMShareWebpageObject *obj = [UMShareWebpageObject shareObjectWithTitle:title descr:shareText ...

  7. iOS开发——iOS10升级极光推送SDK、友盟分享SDK

    前不久升级了Xcode8 ,同时iOS10系统也推送久. 由于公司需要适配iOS 10系统,同时第三方sdk建议升级. 包含替换升级新的SDK和相应的代码修改. 主要分享如何升级极光推送SDK,友盟分 ...

  8. iOS友盟分享的使用总结

    现在几乎所有的APP都会集成分享,为了可以更好的推广自己的APP. 目前市面上常用的分享无非就三个: 1.友盟分享; 2.shareSDK(mob); 3.苹果原生. 由于苹果原生的分享使用起来不方便 ...

  9. 友盟分享小结 - iOS

    因之前都写在了 AppDelegate 类中,看起来过于臃肿,此次基于友盟分享重新进行了一次优化,此次分享内容基于已经成功集成 SDK 后 code 层级部分.注:此次分享基于 SDK 6.9.3,若 ...

随机推荐

  1. Python全栈--7.3--模块补充configparser--logging--subprocess--os.system--shutil

    模块补充: 一.configparser用于处理特定格式的文件,其本质是利用open来操作文件 继承到2版本 configparser 实现了更多智能特征,更有壳预见性,新的应用更偏好这个版本, 处理 ...

  2. IOS开发涉及有点概念&相关知识点

    前言,IOS是基于UNIX的,用C/C+/OC直通系统底层,不想android有个jvm. 首先还是系统架构的分层架构 1.核心操作系统层 Core OS,就是内存管理.文件系统.电源管理等 2.核心 ...

  3. js 去掉字符串前后空格

    //去左空格; function ltrim(s){ return s.replace(/(^\s*)/g, ""); } //去右空格; function rtrim(s){ r ...

  4. Python网络爬虫Scrapy框架研究

    看到一个爬虫比较完整的教程.保留一下. https://github.com/yidao620c/core-scrapy

  5. Linux/UNIX脚本中 $0,$1,$2的含义

    linux中有三种标准输入输出,分别是STDIN,STDOUT,STDERR,对应的数字是0,1,2.   STDIN就是标准输入,默认从键盘读取信息: STDOUT是标准输出,默认将输出结果输出至终 ...

  6. EasyUI DataGrid 配置参数

    var queryParams = $('#SBDiv_1_DateGrid').datagrid('options').queryParams; queryParams.SearchTime = & ...

  7. I hate it

    Description 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少.这让很多学生很反感. 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老 ...

  8. PHP ftp使用

    本文章来总结几个利用php中的ftp功能来实现通过FTP上传文件,有需要学习的朋友可参考参考.ftp_get() 函数从 FTP 服务器上下载一个文件.若成功则返回 true,失败则返回 false. ...

  9. Java 第四章 选择结构2

    第四章 选择结构 (二) switch 选择结构的执行流程是怎样的? switch 选择结构中break关键字的作用? 本章目标 掌握 switch 选择结构 能够综合运用 if 选择结构 和 swi ...

  10. html + css (1)

    a{ text-decoration:none; /* 规定添加到文本的修饰;下划线没有了 */ margin:0px; font-size:15px; display: block; /* 以块级元 ...