IOS通过注销选项支持Facebook和Twitter共享

时间:2013-07-15 06:06:08

标签: iphone ios

申请在Facebook和Twitter上分享。我已经尝试过Sharekit和facebook连接,能够使用它共享。但是面临的一个问题是退出选项,一旦我登录后无法注销并使用其他用户帐户登录...花了大约一周的时间... ...

与登出分享的最佳选择是什么..

应用程序将支持IOS 4.3至6.1

2 个答案:

答案 0 :(得分:0)

是的,有办法,你需要做两件事

  1. 查看您的facebook包装器是否在任何地方保存accessToken,如果是,请在注销时将其删除。
  2. 使用以下代码删除为您的应用为Facebook创建的Cookie。

    NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
    
    for (NSHTTPCookie *cookie in [storage cookies])
    {
    
       NSString* domainName = [cookie domain];
       NSRange domainRange = [domainName rangeOfString:@"facebook"];
       if(domainRange.length > 0)
       {
          [storage deleteCookie:cookie];
       }
     }
    
  3. 将上述代码放入Logout函数中,它应该有效..

    所有最佳。

答案 1 :(得分:0)

对于iOS6,请使用以下方式在Facebook和Twitter上分享:

-(void)ShareOnFacebook:(NSString *)strFacebook {

    if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {
    SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
    [controller setInitialText:strFacebook];
    [controller addURL:[NSURL URLWithString:strFacebook]];
    [controller addImage:[UIImage imageNamed:@"socialsharing-facebook-image.jpg"]];
    [self presentViewController:controller animated:YES completion:Nil];
    }
    return NSLog(@"%@",strFacebook);
}


-(void)ShareByTwitter:(NSString *)strTwitter {
    if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]){
    SLComposeViewController *tweetSheet = [SLComposeViewController
                                           composeViewControllerForServiceType:SLServiceTypeTwitter];
    [tweetSheet setInitialText:strTwitter];
    [self presentViewController:tweetSheet animated:YES completion:nil];
    }
    return NSLog(@"%@",strTwitter);
}