我怎样才能添加按钮“在Facebook上关注我们”到iOS应用程序?(How can I add &

2019-08-17 05:53发布

我已经约完成了自己的iOS应用程序,但只需要添加两个按钮:

  • 按照我们在Facebook
  • 在推特上关注我们

我以为我会找到了几个简单的例子在这里,却惊讶地发现根本没有回答这个(还)。

我敢肯定,我可以在接下来的几个小时试图弄清楚,但认为我伸手一点点节省时间的帮助。

只是为了寻找代码到一个按钮后面走了视图控制器(的XCode 4.5.1,iOS 6中)上。

我想我可能需要提供的唯一变量是该公司的Facebook帐户名。

有什么建议? (提前致谢!)

Answer 1:

首先,对于Facebook的URL舍姆: fb://profile/<yourpageid> 源 )。 这种结构的URL将打开Facebook的应用程序,如果已安装。

更多关于iOS的URL方案 。

当您的按钮被窃听,你可以检查是否安装了Facebook的:

-(IBAction)fbButtonTap:(id)sender {
    NSURL *fbURL = [[NSURL alloc] initWithString:@"fb://profile/<yourpageid>"];
    // check if app is installed
    if ( ! [[UIApplication sharedApplication] canOpenURL:fbURL] ) {
        // if we get here, we can't open the FB app.
        fbURL = ...; // direct URL on FB website to open in safari 
    }

    [[UIApplication sharedApplication] openURL:fbURL];
}

Twitter的,你遵循相同的基本步骤。 为iOS Twitter的URL方案是twitter://user?id=12345twitter://user?screen_name=yourname 源 )。 同样,如果没有安装Twitter的应用程序,您必须在Safari浏览器打开Twitter个人资料。

至于采取直接的行动,我不认为你能做到这一点,因为有关于安装在设备上的任何其他applciation没有固有的知识。 我认为你能做的最好是直接用户到每个相应账户。



Answer 2:

Facebook上有一个页面增加一个按钮,看到这个链接,

https://developers.facebook.com/docs/reference/plugins/follow/

Twitter的和这里

https://support.twitter.com/articles/20164833-how-to-add-the-follow-button-to-your-website

希望能帮助到你



Answer 3:

你可以使用SLRequest已经有人跟着你。 这只会在iOS 6的工作,虽然,在iOS 5的Twitter的作品,但不是Facebook。

SLRequest的例子有人跟着你在Twitter上,确保这就是所谓的后台线程:

ACAccountStore *accountStore = [[ACAccountStore alloc] init];
    ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];

    [accountStore requestAccessToAccountsWithType:accountType options:nil completion:^(BOOL granted, NSError *error) {

        if (granted) {

            // Get the list of Twitter accounts.
            NSArray *accountsArray = [accountStore accountsWithAccountType:accountType];

            // For the sake of brevity, we'll assume there is only one Twitter account present.
            // You would ideally ask the user which account they want to tweet from, if there is more than one Twitter account present.
            if ([accountsArray count] > 0) {
                // Grab the initial Twitter account to tweet from.
                ACAccount *twitterAccount = [accountsArray objectAtIndex:0];

                NSMutableDictionary *tempDict = [[NSMutableDictionary alloc] init];
                [tempDict setValue:@"Your twitter name" forKey:@"screen_name"];
                [tempDict setValue:@"true" forKey:@"follow"];

                SLRequest *followRequest = [SLRequest requestForServiceType:SLServiceTypeTwitter requestMethod:SLRequestMethodPOST URL:[NSURL URLWithString:@"https://api.twitter.com/1/friendships/create.json"] parameters:tempDict];

                [followRequest setAccount:twitterAccount];
                [followRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
                    NSString *output = [NSString stringWithFormat:@"HTTP response status: %i", [urlResponse statusCode]];
                    NSLog(@"%@", output);
                    if (error) {
                        dispatch_async(dispatch_get_main_queue(), ^{
                            //Update UI to show follow request failed
                        });
                    }
                    else {
                        dispatch_async(dispatch_get_main_queue(), ^{
                            //Update UI to show success
                        });
                    }
                }];  
            }
        }
    }];

而对于Facebook的,你只需要改变一些,并看看他们的API和更改请求URL。



Answer 4:

这是我的代码示人喜欢我的应用程序的社区页面。

您可以添加要在代码中显示_webview。

Facebook的给出了显示内部的WebView页面的代码。

   -(void)likeus
{



_webview =[[UIWebView alloc] initWithFrame:CGRectMake(14,94, 292, 250)];
AppDelegate *appdelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
//Load web view data
NSString *strWebsiteUlr =@"http://www.facebook.com/plugins/likebox.php?href=https%3A%2F%2Fwww.facebook.com%2Fenbuyukkim&width=292&height=258&show_faces=true&colorscheme=dark&stream=false&border_color&header=false&appId=433294056715040";

// Load URL

//Create a URL object.
NSURL *url = [NSURL URLWithString:strWebsiteUlr];

//URL Requst Object
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];

//Load the request in the UIWebView.
[_webview loadRequest:requestObj];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button addTarget:_webview
           action:@selector(removeFromSuperView)
 forControlEvents:UIControlEventTouchUpInside];
button.frame = CGRectMake(270.0, 80.0, 30.0, 30.0);
[button setBackgroundImage:[UIImage imageNamed:@"cross.png"] forState:UIControlStateNormal];
[_webview addSubview:button];

}


Answer 5:

我不知道如果这是你在找什么,但我想我找到了解决办法,在这里堆栈溢出在另一个线程。

看看这个线程: 添加Facebook的Like按钮在iPhone应用程序

希望可以帮助你!



文章来源: How can I add 'Follow us on facebook' button to an iOS app?