gpt4 book ai didi

iOS Facebook SDK MessageDialog 错误 202

转载 作者:技术小花猫 更新时间:2023-10-29 11:20:07 28 4
gpt4 key购买 nike

我正在尝试在我的 iOS 应用程序中使用 FBSDK 设置 Facebook 共享。

我一直在阅读文档 here , 目前有

[FBSDKShareDialog showFromViewController:self withContent:content delegate:self];

使用内容对象 - FBSDKShareLinkContent

但是,在尝试使用与 Facebook Messenger 共享指定的类似方法时,

[FBSDKMessageDialog showWithContent:content delegate:self];

我遇到了崩溃。我发现了错误并将其记录在其中一个委托(delegate)方法中,它指出“操作无法完成。(com.facebook.sdk.share 错误 202。)"

我已经搜索了这个特定的错误,但没有发现任何直接具有相同错误的内容。这是完整的代码

FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init];
content.contentURL = [NSURL URLWithString:kAPPShareLink];
content.contentDescription = kAPPShareDescription;
content.contentTitle = kAPPShareTitle;

if (buttonIndex == 0) {
// Facebook

[FBSDKShareDialog showFromViewController:self withContent:content delegate:self];
} else if (buttonIndex == 1) {
// Facebook Messenger

[FBSDKMessageDialog showWithContent:content delegate:self];
}

如果我遗漏了一些明显的东西,请原谅我,但作为this documentation阅读,我假设 FBSDKMessageDialog showWithContent: 方法的工作方式与 FBSDKShareDialog showFromViewController: 对我有用。

  • 我在 iOS8 上使用最新版本的 XCode。

最佳答案

我必须先登录然后发布,这就是它的工作原理:

FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];


[login logInWithReadPermissions:@[@"email"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error)
{

if (error)
{
// Process error
}
else if (result.isCancelled)
{
// Handle cancellations
}
else
{
FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init];
content.contentURL = [NSURL URLWithString:@"https://developers.facebook.com/"];

FBSDKMessageDialog *messageDialog = [[FBSDKMessageDialog alloc] init];
messageDialog.delegate = self;
[messageDialog setShareContent:content];

if ([messageDialog canShow])
{
[messageDialog show];
}
else
{
// Messenger isn't installed. Redirect the person to the App Store.
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://itunes.apple.com/en/app/facebook-messenger/id454638411?mt=8"]];
}

}
}];

和共享委托(delegate):

- (void)sharer:(id<FBSDKSharing>)sharer didCompleteWithResults:(NSDictionary *)results
{
NSLog(@"didCompleteWithResults");
}

- (void)sharer:(id<FBSDKSharing>)sharer didFailWithError:(NSError *)error
{
NSLog(@"didFailWithError ::: %@" , error);
}

- (void)sharerDidCancel:(id<FBSDKSharing>)sharer
{
NSLog(@"sharerDidCancel");
}

编辑:

[messageDialog canShow] 在 iPad 上返回 NO,在 iPhone 上工作正常

Facebook Developers forum 上发布问题.

关于iOS Facebook SDK MessageDialog 错误 202,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29364157/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com