0

我正在为 iPhone 创建应用程序。当用户单击屏幕上显示的共享按钮详细信息时,将在 facebook 上共享。我希望我的应用程序可以在 iOS 5 和 iOS 6 上运行。现在我使用的是 facebook SDK 3.1。它适用于 iOS 6,但不适用于 iOS 5。它给出了这个错误:

2012-10-29 12:39:49.588 FacebookDemo[1715:c07] *** Terminating app due to uncaught exception
'com.facebook.sdk:InvalidOperationException', reason: 'FBSession: an attempt was made reauthorize 
permissions on an unopened session'

我认为这是 facebook SDK 需要的一些框架的问题,比如在 iOS 5 中不可用的 social.framework

我应该怎么做才能在 iOS 5 和 6 上工作?

4

1 回答 1

2

通常,除了 FacebookSDK 之外,您还需要 AdSupport、Social 和 Accounts 框架,这些框架需要设置为 Optional,因为 Accounts 仅在 IOs 5 中可用,而另外两个在 IOS 6 中是新的

实际上它与向后兼容性无关。当您想在会话状态未打开时发出新请求时,您会得到 FBSession:尝试重新授权未打开会话的权限。在 eacj 请求之前确保你。

if (FBSession.activeSession.isOpen) {

//MAke you request 

}else{
//REopen your session
}
于 2012-10-29T07:35:08.610 回答