【发布时间】:2015-12-18 10:44:55
【问题描述】:
我在我的 ios 应用程序中使用最新版本的 facebook sdk。我想在 facebook 上分享一个带有一些初始文本的图像。我将我的 facebook 帐户添加为我的应用程序中的 facebook 开发人员帐户中的开发人员。当前图像仅共享我的帐户,而不共享任何其他帐户。有人告诉我,我如何通过登录任何 Facebook 帐户来分享图片。
谢谢,
【问题讨论】:
标签: ios objective-c iphone
我在我的 ios 应用程序中使用最新版本的 facebook sdk。我想在 facebook 上分享一个带有一些初始文本的图像。我将我的 facebook 帐户添加为我的应用程序中的 facebook 开发人员帐户中的开发人员。当前图像仅共享我的帐户,而不共享任何其他帐户。有人告诉我,我如何通过登录任何 Facebook 帐户来分享图片。
谢谢,
【问题讨论】:
标签: ios objective-c iphone
要从您的开发者帐户以外的其他帐户发布任何内容,您必须将您的申请提交给 Facebook 审核流程。
如果 Facebook 发现您使用发布操作的请求合适,那么他们会授予此功能供公众使用。现在,在登录时,如果用户授予 publish_action 权限,那么他/她将能够在各自的 Facebook 帐户中发布内容。
在这里,我发布了具有 publish_action 权限的登录代码。
-(void)loginWithPublishActionPermission{
FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init];
[loginManager logInWithPublishPermissions:@[@"publish_actions"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
[SVProgressHUD dismiss];
if (error) {
[[[UIAlertView alloc] initWithTitle:kApp_Name message:error.localizedDescription delegate:nil cancelButtonTitle:kAlert_Ok_Button otherButtonTitles:nil, nil] show];
} else if (result.isCancelled) {
//User Canceled Login
[[[UIAlertView alloc] initWithTitle:kApp_Name message:kAlert_FaceBook_Cancel_Message delegate:nil cancelButtonTitle:kAlert_Ok_Button otherButtonTitles:nil, nil] show];
} else {
// If you ask for multiple permissions at once, you
// should check if specific permissions missing
if ([result.grantedPermissions containsObject:@"publish_actions"]) {
NSLog(@"Result : %@",result);
}
[self performSegueWithIdentifier:kPush_To_Detail_Segue sender:nil];
}
}];
}
将您的申请提交给 Facebook 进行权限审核。
在 Facebook 开发者门户中转到您的应用程序的仪表板。
然后按照以下步骤提交应用程序:
1) Dashboard --> Status&Review --> Item in Review --> 开始新的提交
2) 选择 publish_action 复选标记 --> 添加项目
3) 上传您的模拟器构建,显示使用发布操作功能的应用程序屏幕截图。
4) 添加分步说明以检查您的应用程序流程。(您如何在应用程序中使用 publish_action ?)
5) 提交您的应用。
【讨论】:
在 develepors.facebook.com 中选择您的应用,其中有一个“状态和评论”选项。在那个开关上,上面写着“你想让这个应用程序及其所有实时功能对公众可用吗?” 这将允许其他用户也可以使用他们的 Facebook 帐户登录到您的应用
查看以下链接
【讨论】:
-(void)FbShare
{
FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init];
content.contentURL = [NSURL URLWithString:@"https://developers.facebook.com"];
content.contentTitle=@“Initial Text”;
FBSDKSharePhoto *photo = [[FBSDKSharePhoto alloc] init];
FBSDKSharePhotoContent *content1 = [[FBSDKSharePhotoContent alloc] init];
UIImage *image=[UIImage imageNamed:[NSString stringWithFormat:@"bleu-heart@3x.png"]];
photo.image = image;
photo.userGenerated = YES;
content1.photos = @[photo];
[FBSDKShareDialog showFromViewController:self
withContent:content1
delegate:nil];
}
【讨论】: