我在使用FacebookSDK.framework时遇到了麻烦。
我的iOS应用需要在FB上发布一些简单的消息。
如果用户以设备设置级别登录,则使用以下方式一切正常:
SLComposeViewController *facebkController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
......等等。
如果不是这种情况,我会尝试依赖于FacebookSDK.framework,但我遇到了问题。
我按照此处描述的步骤操作:https://developers.facebook.com/docs/ios/getting-started/ 然后尝试了HelloFacebookSample示例程序。这一切都很好。
之后我开始将FacebookSDK.framework集成到我自己的应用程序中。这是出问题的地方。 我创建了一个新应用:https://developers.facebook.com/ 然后打算按照上面提到的入门文档中的步骤,同时尝试模仿我在HelloFacebookSample中看到的内容。 但我必须遗漏一些重要细节,因为没有发布任何内容。
我(可能)做错了什么?
再见。
P.S。如果这有助于我在我的应用程序中按下FB按钮时触发的方法:
- (IBAction)faceBkButtonHandler:(id)sender
{
NSURL *urlToShare = [NSURL URLWithString:@"http://developers.facebook.com/ios"];
// If it is available, we will first try to post using the share dialog in the Facebook app
FBAppCall *appCall = [FBDialogs presentShareDialogWithLink:urlToShare
name:@"Hello Facebook"
caption:nil
description:@"The 'Hello Facebook' sample application showcases simple Facebook integration."
picture:nil
clientState:nil
handler:^(FBAppCall *call, NSDictionary *results, NSError *error) {
if (error) {
NSLog(@"Error: %@", error.description);
} else {
NSLog(@"Success!");
}
}];
if (!appCall) {
// Next try to post using Facebook's iOS6 integration
BOOL displayedNativeDialog = [FBDialogs presentOSIntegratedShareDialogModallyFrom:self
initialText:nil
image:nil
url:urlToShare
handler:nil];
if (!displayedNativeDialog) {
// Lastly, fall back on a request for permissions and a direct post using the Graph API
[self performPublishAction:^{
NSString *message = [NSString stringWithFormat:@"HERE (22) at %@",[NSDate date]];
FBRequestConnection *connection = [[FBRequestConnection alloc] init];
connection.errorBehavior = FBRequestConnectionErrorBehaviorReconnectSession
| FBRequestConnectionErrorBehaviorAlertUser
| FBRequestConnectionErrorBehaviorRetry;
[connection addRequest:[FBRequest requestForPostStatusUpdate:message]
completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
//[self showAlert:message result:result error:error];
//self.buttonPostStatus.enabled = YES;
}];
[connection start];
//self.buttonPostStatus.enabled = NO;
}];
}
}
}