文档章节

iOS-应用分享

Ethan-GOGO
 Ethan-GOGO
发布于 2015/10/16 22:45
字数 680
阅读 420
收藏 2

1.系统自带分享

添加Social.framework框架

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    // 1.判断服务是否可用
    if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeSinaWeibo]) {
        NSLog(@"分享服务不可用");
    }
    // 2.创建分享控制器
    SLComposeViewController *composeVc = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeSinaWeibo];
    
    // 设置默认数据
    [composeVc setInitialText:@"今天天很好, 只不过没出门"];
    [composeVc addImage:[UIImage imageNamed:@"psb-2.jpeg"]];
    
    // 3.弹出分享控制器
    [self presentViewController:composeVc animated:YES completion:nil];
    
    // 4.监听分享状态
    composeVc.completionHandler = ^(SLComposeViewControllerResult result)
    {
        if (result == SLComposeViewControllerResultCancelled) {
            NSLog(@"取消发送");
        }else
        {
            NSLog(@"发送成功");
        }
    };
    
}


2.友盟分享

 1>快速分享

   1.导入SDK,如果需要其他插件功能,要导入UMSocial_Sdk_Extra_Frameworks

   2.在Appdelegate添加Appkey

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    // 设置友盟分享的秘钥
     [UMSocialData setAppKey:@"5458264dfd98c5b5c9007064"];
 };

  3.实现代码

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    //注意:分享到微信好友、微信朋友圈、微信收藏、QQ空间、QQ好友、来往好友、来往朋友圈、易信好友、易信朋友圈、Facebook、Twitter、Instagram等平台需要参考各自的集成方法
    /*
     SheetView: 需要在哪个视图中展示
     appKey: 当前应用的友盟分享的key
     shareText: 需要分享的文本
     shareImage: 需要分享的图片
     shareToSnsNames: 需要分享到的平台
     */
   
    [UMSocialSnsService presentSnsIconSheetView:self
                                         appKey:@"5458264dfd98c5b5c9007064"
                                      shareText:@"你要分享的文字"
                                     shareImage:[UIImage imageNamed:@"icon.png"]
                                shareToSnsNames:[NSArray arrayWithObjects:UMShareToSina,UMShareToTencent,UMShareToRenren, UMShareToDouban, UMShareToFacebook, UMShareToFlickr, UMShareToInstagram, nil]
                                       delegate:nil];

}
 2>SSO分享

  以新浪微博为例子:

    1.添加SDK和UMSocial_Sdk_Extra_Frameworks里面额外对应的框架,AppKey

    2.在项目设置-Info-URL Types设置sina.Appkey Appkey是注册申请的

    4.AppDelegate打开微博SSO开关

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // 设置友盟分享的密钥
     [UMSocialData setAppKey:@"5458264dfd98c5b5c9007064"];
    
    //打开新浪微博的SSO开关,设置新浪微博回调地址,这里必须要和你在新浪微博后台设置的回调地址一致。若在新浪后台设置我们的回调地址,“http://sns.whalecloud.com/sina2/callback”,这里可以传nil
    [UMSocialSinaHandler openSSOWithRedirectURL:@"http://sns.whalecloud.com/sina2/callback"];
    
    return YES;
}

    5.AppDelegate实现跳转回调

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
    return  [UMSocialSnsService handleOpenURL:url];
}

//iOS7以后的方法
- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
         annotation:(id)annotation
{
    return  [UMSocialSnsService handleOpenURL:url];
}

  6.实现代码

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    //注意:分享到微信好友、微信朋友圈、微信收藏、QQ空间、QQ好友、来往好友、来往朋友圈、易信好友、易信朋友圈、Facebook、Twitter、Instagram等平台需要参考各自的集成方法
    /*
     SheetView: 需要在哪个视图中展示
     appKey: 当前应用的友盟分享的key
     shareText: 需要分享的文本
     shareImage: 需要分享的图片
     shareToSnsNames: 需要分享到的平台
     */

    [UMSocialSnsService presentSnsIconSheetView:self
                                         appKey:@"5458264dfd98c5b5c9007064"
                                      shareText:@"友盟社会化分享让您快速实现分享等社会化功能,www.umeng.com/social"
                                     shareImage:[UIImage imageNamed:@"icon.png"]
                                shareToSnsNames:@[UMShareToSina]
                                       delegate:self];
}

© 著作权归作者所有

共有 人打赏支持
Ethan-GOGO
粉丝 13
博文 174
码字总数 82033
作品 0
广州
iOS 12 真的能让旧款 iPhone 速度飞起吗?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/csdnnews/article/details/82757910 去年 9 月,苹果在发布 iOS 11 时曾表示,这是先进移动操作系统 iOS 的又...

CSDN资讯
09/18
0
0
iOS 终于支持了 PWA,一起来认识一下这个强化版「小程序」 | 科普

iOS 终于支持了 PWA,一起来认识一下这个强化版「小程序」 | 科普 发布于 2018-04-13 文章被以下专栏收录

少数派
07/06
0
0
微软提供移植iPhone应用到Windows Phone 7上的工具

windows phone 7 iphone5 微软发布了一个API映射工具、指导手册和一组分享经验的视频,帮助简化移植iPhone/iOS应用程序到Windows Phone 7(WP 7)上的工作。 微软Windows Phone互操作组创建了...

junwong
2012/03/09
0
0
dropbox 死掉后 IOS 7.1 应用发布替代解决方案

由于大家都知道的原因Dropbox 挂掉了,免费的 https文件分享链接没有了,广大通过 dropbox https 分享链接来发布ios应用的童鞋悲剧了 。今天就给大家支个招儿。 分析 ios 7.1 安装链接 格式 ...

LuoZhihui
2014/07/11
0
0
fir.im Weekly - iOS 开发中的 Git 流程

本期 fir.im Weekly 收集了微博上的热转资源,包含 Android、iOS 开发工具、源码等好用的轮子,还有一些 APP 设计的 Tips,希望对你有用。 精仿知乎日报 iOS 端 @我偏笑_NSNirvana花了将近一...

风起云飞fir_im
2015/11/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

no such module 'pop'问题

在github上 clone 了一个 swift 项目,编译时提示"no such module 'POP'"错误,查了一下居然是因为podfile中指定的最低版本是iOS 11.0,大于我测试手机的iOS版本10.3.3,将Podfile中的最低版...

yoyoso
今天
1
0
redis 系列一 -- 简介及安装

1.简介 redis -- remote dictionary server 远程字典服务 使用 C 语言编写; 高性能的 key-value数据库; 内存数据库,支持数据持久化。 Redis 是一个开源(BSD许可)的,内存中的数据结构存...

imbiao
今天
3
0
nginx log记录请求响应时间

有时为了方便分析接口性能等,需要记录请求的时长,通过修改nginx的日志格式可以做到,如 添加一个新的log_format log_format timed_combined '$remote_addr - $remote_user [$time_local] "...

swingcoder
今天
4
0
Spring MVC之RequestMappingHandlerMapping匹配

对于RequestMappingHandlerMapping,使用Spring的同学基本都不会陌生,该类的作用有两个: 通过request查找对应的HandlerMethod,即当前request具体是由Controller中的哪个方法进行处理; 查...

爱宝贝丶
今天
5
0
Java Web--增删改查之二界面后台java代码(转载参考)

/** *  *//** * @author Administrator * */package dao; import java.sql.*;public class DBConn {/** * 链接数据库 * @return */  ...

小橙子的曼曼
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部