我是iOS开发的新手。我正在制作一个应用程序,我需要将twitter和Facebook集成到墙上发布。 我已经为此完成了所有必需的编码,在模拟器上它工作正常但不在设备上。
另外一个问题是Facebook集成的编码我已经从其他“演示”应用程序中复制了它。所以我们还需要改变它以使其适用于我自己的应用程序。因为当我看到我的应用程序完成了我的应用程序时在Facebook墙上,“演示”应用程序名称带有帖子。请指导我!!提前感谢你!!
答案 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
@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];
}