iOS-應用分享

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_Frameworksapp

   2.在Appdelegate添加Appkey框架

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

  3.實現代碼ide

- (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分享

  以新浪微博爲例子:url

    1.添加SDK和UMSocial_Sdk_Extra_Frameworks裏面額外對應的框架,AppKeyspa

    2.在項目設置-Info-URL Types設置sina.Appkey Appkey是註冊申請的插件

    4.AppDelegate打開微博SSO開關code

- (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.實現代碼ci

- (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];
}

相關文章
相關標籤/搜索