[英]FBSDKShareDialog of Facebook SDK is not working on iOS9?
[英]ios Facebook SDK share error on ios9
回到2016年12月,我的iOS应用程序仍然可以正常工作。 但是现在我检测到共享功能不起作用。 我的源代码没有任何变化
这是我从设备控制台获得的日志:
2月13日23时16分48秒DUC,局域网,iPad的Facebook的[3787]:-canOpenURL:失败的URL:“fb123123123://桥/股的密码= AZpZOY%2BS6YXHfhtlqhaCH2l5dfoAnuTBZbNpwXODLhCIncH1CSahDjHaMOv2UMeIFtFs5l1xw1%2Bs4ZPM40rsKKCfnxdvn2HhOHkPRWZXVlGGapfRMFAOriQjNdv8IwOQ%2FKT84S%2BujvmSPcUOXR24Ss5oSrK19sHQHfWpF7xe28az4MRGAfjE9Jh7%2BCMBI8YtLdLSqp7v%2FW4DDECHztrXrI%2BFi9aV1u0pyLlJ3C8CEJWbm3dl903od6gxU9ErC39wZzsIMH7Fq1fK4cgjYj %2B8x0MLZ1qhQnKz1OmS5a%2FjyXSY7hWHLuvYogRO3LcmzDmdujSaahv%2BhXSbwGeO0cVhp4bT58EH4xzRjDi1HqhoYSqxJojKkSP53zShdNTsLP2iVySRMl4Da58ApbFq0YfLK7APtWmdQ676JQOjO33ole24LHDo%2FyjIfp%2FUukhOUj%2BJ7S2g4sNaQ1amRrYI9pTc7m6y0KEEzsvDJ9BR9o%2FaQ%2F6dvDUeHhhel4SIfd6g6so%2FS05J2VeztSVlLJqVZnUHD6DkOI%2BvOqA1QyVr09I02%2F0HtC%2BOTLg3VZATfMeXPiiXEo%2BMqgknJvyS89UFk7xUIPw7toVurM84jIb6YeNRLxpbH55Axv%2FpQJqmyQQ443GA2M72Y0q1p7wDghBR7XinIiXCeIlj%2FcxDBmHzB9IIk9GmtRCtum5pQET%2B%2BRs0FT7mE2epZvKhPEdpGSAN6SwC%2Fd4QEGlPDbM10On6z9x6gV%2BKTzWAchy2glpXGq6NBJcrSLo8XlH%2FPt80OP3iHVpsrBKkrh5GP2kRir%2BETr3b7%2FLXWJJgP6ScuiPjw1EmKwH Qwvb%2FZqn756xXFcDbu7%2Ba8wTQUvF8bWs8bNcJpjnubN%2Fs6jWQ0cBN40Ke5k819NPr5ecRska1ESC1TPclug64KWlnOqB6aqF4gRXSDkg9uvAoVu5QIEFRtrZJZOzOKaV1sQNTrscf8Buw566c0YPwudovgFTUV1%2FD9tFLm3hhYMcwN1uYO4fqdznCG6knhns98dOW0o%2B%2FkbS2H9QfR8rIZNhT%2FFpfQfUIuTYsvgLH5WrJORm%2BKT9mraUM8s29owcqc%2Bbn9kq4ma3T8nV5dy3fY6Com0vK7w%2BDMTT9ZyP0WKZDPsgDkM4i%2FawZrO6zE9OaWb0WWKpn3uHm8FGuqldMkP19xYxBuhO1a13bnCi3ulZu4uQpIg1e93zEHS3LUr6JjBFSZf61bb5wlJmNGal50Js%3D&版本= 20130214" - 错误: “这个程序是不允许查询计划fb123123123” 02月13日23点16分48秒duc-lans-iPad mediaserverd [2389]:''com.facebook.Facebook(pid = 3787)设置DiscoveryMode = DiscoveryMode_None,currentDiscoveryMode = DiscoveryMode_None 2月13日23:16:48 duc-lans-iPad mediaserverd [2389]:''com .facebook.Facebook(pid = 3787)设置DiscoveryMode = DiscoveryMode_None,currentDiscoveryMode = DiscoveryMode_None 2月13日23:16:48 duc-lans-iPad AppName [3837]:FB:ERROR =错误域= com.facebook.Facebook.platform代码= 102“(null)” UserInfo = {错误 _code = 102,error_description =发布期间发生错误。app_id = 123123123,error_reason =操作无法完成。 (FBAPIErrorDomain错误100。)} 2月13日23:16:49 duc-lans-iPad AppName [3837]:ViewController :: didBecomeActive 2月13日23:16:49 duc-lans-iPad Facebook [3787]:[CoreBluetooth] API滥用:仅在开机状态下才能接受此命令
我在Facebook Delegate中使用NSLog,结果如下:
2017-02-13 23:16:48.946 AppName [3837:2839472] FB:错误=错误域= com.facebook.Facebook.platform代码= 102“(空)” UserInfo = {错误代码= 102,错误说明=发生错误在发布期间。app_id = 123123123,error_reason =该操作无法完成。 (FBAPIErrorDomain错误100。)}
我在Facebook设置和.plist设置中比较了DisplayName,它们是相同的。
info.plist:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLName</key>
<string></string>
<key>CFBundleURLSchemes</key>
<array>
<string>fb123123123</string>
</array>
</dict>
</array>
和
<key>FacebookAppID</key>
<string>123123123</string>
<key>FacebookDisplayName</key>
<string>AppName</string>
和
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
<string>line</string>
<string>twitter</string>
</array>
在源代码中:
FBSDKShareLinkContent *content = [FBSDKShareLinkContent new];
NSString *stringURL = [NSString stringWithFormat:@"%@sharemovie?movie=%@", BASE_URL, [dict getStringFromKey:@"movieId"]];
content.contentURL = [NSURL URLWithString:stringURL];
content.contentTitle = [NSString stringWithFormat:@"%@abcabcabc",[dict objectForKey:@"movieCreator"]];
content.ref = stringURL;
FBSDKShareDialog *dialog = [[FBSDKShareDialog alloc] init];
dialog.fromViewController = vc;
dialog.shareContent = content;
// dialog.mode = FBSDKShareDialogModeShareSheet;
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"fbauth2://"]]){
dialog.mode = FBSDKShareDialogModeNative;
}
else {
dialog.mode = FBSDKShareDialogModeBrowser; //or FBSDKShareDialogModeAutomatic
}
dialog.delegate = vc;
[dialog show];
有什么问题吗? 谢谢 !
我研究这个问题。 我知道有关在Facebook开发人员门户中进行设置的信息,
转到Facebook开发者门户下的应用程序设置。 转到打开图>类型,使用选择操作类型,然后为该操作类型打开“用户生成的图像”。 保存这些设置,然后重试。 它会工作。
参考:(SarpErdag) https://stackoverflow.com/a/17681364/5349267
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.