这个问题很简单。
我已经在运行 iOS7 的 iPhone 5、iPhone 4S 和模拟器上运行了该应用程序而没有修改任何内容。
我已经在“设置”中配置了我的 FB 帐户,以便在我尝试登录时使用该帐户。问题是当权限的警报视图出现时
,即使我选择确定
(用于接受),它进入loginView:handleError委托方法,错误为FBErrorCategoryUserCancelled。
问题也在这里:类似的 SO question,但没有答案。
这个问题很简单。
我已经在运行 iOS7 的 iPhone 5、iPhone 4S 和模拟器上运行了该应用程序而没有修改任何内容。
我已经在“设置”中配置了我的 FB 帐户,以便在我尝试登录时使用该帐户。问题是当权限的警报视图出现时
,即使我选择确定
(用于接受),它进入loginView:handleError委托方法,错误为FBErrorCategoryUserCancelled。
问题也在这里:类似的 SO question,但没有答案。
有一个潜在的错误只是表面上这个泛型FBErrorCategoryUserCancelled
。对我来说,以这种方式有效地吞下错误的 Facebook SDK 设计似乎很糟糕。
您可以通过在收到错误的委托中设置断点来调试它。
然后将堆栈向上推到 Facebook SDK 中产生错误的方法 - requestAccessToFacebookAccountStore:defaultAudience:isReauthorize:appID:session:handler
。(或者只是找到该方法并在那里设置断点。或者,您可以尝试调用requestAccessToAccountsWithType
自己并在那里查看错误。)
然后,您可以在调试器中检查底层错误
(lldb) po error
Error Domain=com.apple.accounts Code=7 "The Facebook server could not fulfill this access request: The app must ask for a basic read permission like email at install time." UserInfo=0xb6bfd70 {NSLocalizedDescription=The Facebook server could not fulfill this access request: The app must ask for a basic read permission like email at install time.}