facebook ios sdk日志:奇怪的消息

Abz*_*mon 5 facebook ios

我有一个共享图像的按钮,每次点击它,我在日志中都有这条消息,我不明白:

2012-08-12 19:21:30.511 AvisOcean [2239:707] FBSessionManualTokenCachingStrategy类的实例0xe6b8fe0被释放,而键值观察者仍然在其中注册.观察信息被泄露,甚至可能被错误地附加到其他物体上.在NSKVODeallocateBreak上设置断点以在调试器中停止.这是当前的观察信息:(上下文:0xa5e90,属性:0x245310>上下文:0xa5e90,属性:0x28c400>)

有任何想法吗?

Che*_*Che 5

Facebook SDK正在泄露观察者.我正在使用SDK v3.1.

如果您使用没有弃用标头的SDK(即Facebook.h),这应该不是问题.但是要使用本机对话框,您需要包含已弃用的标题(来源:https://developers.facebook.com/docs/howtos/feed-dialog-using-ios-sdk/),这会在关闭/清除时导致此错误活跃的会议.

这是一个解决它的拉取请求:https://github.com/facebook/facebook-ios-sdk/pull/474

然后,您可以使用适用于iOS6/Xcode 4.5的Facebook SDK重建SDK


Kis*_*dan 2

我也遇到了同样的问题。我认为发生的事情是我在其他地方初始化了 Facebook,当我尝试重新初始化它并再次从不同的实例调用对话框委托时,它给了我错误。

我保留实际应用程序初始化和访问令牌的实例与调用对话框的实例不同。当我在查看文档后更正该问题时,问题已解决。

if (nil == self.facebook) {
    self.facebook = [[Facebook alloc]
                     initWithAppId:FBSession.activeSession.appID
                     andDelegate:nil];

    // Store the Facebook session information
    self.facebook.accessToken = FBSession.activeSession.accessToken;      
    self.facebook.expirationDate = FBSession.activeSession.expirationDate;
}

[self.facebook dialog:@"feed" andParams:params andDelegate:self];
Run Code Online (Sandbox Code Playgroud)