面对书和Twitter集成到iphone应用程序无法在设备上工作

时间:2012-11-05 06:43:05

标签: iphone ios facebook twitter

我是iOS开发的新手。我正在制作一个应用程序,我需要将twitter和Facebook集成到墙上发布。 我已经为此完成了所有必需的编码,在模拟器上它工作正常但不在设备上。

另外一个问题是Facebook集成的编码我已经从其他“演示”应用程序中复制了它。所以我们还需要改变它以使其适用于我自己的应用程序。因为当我看到我的应用程序完成了我的应用程序时在Facebook墙上,“演示”应用程序名称带有帖子。

请指导我!!提前感谢你!!

4 个答案:

答案 0 :(得分:1)

<强>实

在阅读文档之前,您似乎已经跳到了编码部分。在整合facebook sdk和编写代码之前,您需要在Facebook开发者控制台中创建一个新的应用程序部分,获取Facebook应用程序ID。您需要在项目中使用该app id,而不是facebook演示应用程序附带的app id。

Documentation完全解释了这个过程,不需要在这里重写它。请务必将其读到最后。

<强>微博

我不确定你是否也在Twitter上遇到问题(问题尚不清楚)。如果是的话,你应该告诉你如何连接到twitter。但一般来说,从你的问题的基调来看,似乎你没有阅读文档,在相应的开发者控制台中创建应用程序部分,以及获取应用程序ID。

答案 1 :(得分:0)

我不知道您需要多少集成,或者如果您愿意要求iOS 6,但在iOS 6中,它可以更容易地集成Facebook和Twitter。

这是所有代码:

在头文件中:

#import "Social/Social.h"

在主文件中:

    //Twitter
    if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]) {
        SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];

        SLComposeViewControllerCompletionHandler myBlock = ^(SLComposeViewControllerResult result){
            if (result == SLComposeViewControllerResultCancelled) {
                NSLog(@"Cancelled");
            } else {
                NSLog(@"Done!");
            }

            [controller dismissViewControllerAnimated:YES completion:Nil];
        };
        controller.completionHandler = myBlock;

        [controller setInitialText:@"Status Text"];

        [self presentViewController:controller animated:YES completion:Nil];

    } else {
        UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Sorry" message:@"You can't send a tweet right now. You must be online and signed into at least one Twitter account." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [alertView show];
    }

    //Facebook
    if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {

        SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];

        SLComposeViewControllerCompletionHandler myBlock = ^(SLComposeViewControllerResult result){
            if (result == SLComposeViewControllerResultCancelled) {
                NSLog(@"Cancelled");
            } else {
                NSLog(@"Done!");
            }

            [controller dismissViewControllerAnimated:YES completion:Nil];
        };
        controller.completionHandler = myBlock;

        [controller setInitialText:@""];

        [self presentViewController:controller animated:YES completion:Nil];

    } else {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Facebook Error" message:@"Either you are not logged into Facebook or your Facebook username and password are incorrect." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];
        [alert show];
    }

答案 2 :(得分:0)

您可以使用共享工具包框架http://getsharekit.com

答案 3 :(得分:0)

根据应用程序中的twitter集成。尝试此代码

在self.fullimage中写下任何图像网址。

调用buildTweetSheet方法发布到twitter。

导入Twitter.framework

import

@property(非原子,强)TWTweetComposeViewController * _tweetSheet;

@synthesize _tweetSheet; - (无效)buildTweetSheet {     的NSLog(@ “buildTweetSheet”);

_tweetSheet = [[TWTweetComposeViewController alloc] init];


UIImage *eimage=UIImage *eimage=[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:self.fullimage]]];





[_tweetSheet setInitialText:@""];

[_tweetSheet addImage:eimage];

[_tweetSheet setInitialText:@""];

[self presentModalViewController:_tweetSheet animated:YES];

TWTweetComposeViewControllerCompletionHandler completionHandler = ^(TWTweetComposeViewControllerResult result)

{
    if(result == TWTweetComposeViewControllerResultDone) {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Done" message:@"Image Posted Successfully" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [alert show];

    }
    else {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Failed" message:@"Image Posted Failed" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [alert show];

    }

    [self dismissModalViewControllerAnimated:YES];
};

[_tweetSheet setCompletionHandler:completionHandler];

}