2

我正在使用 phonegap 2.4 和最新的 facebook 插件做一个项目

https://github.com/phonegap/phonegap-facebook-plugin

我的问题是发布到用户墙提要,我能够对用户进行身份验证,获取所有适当的事件等等,但是当我尝试发布到提要时(我正在请​​求阅读首先,然后在 ios6 中写入权限序列,并拥有用户的发布权限,并且我已经在设置中设置了我的 facebook 帐户,啊,而且我正在使用 facebook sdk 3.1)控制台只是低谷和错误

***** 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“-[__NSCFDictionary removeObjectForKey:]: mutating method sent to immutable object”**

正在尝试从不可变字典中删除和对象,但为什么呢?在哪里?如何解决这个问题?

这就是我的 js 方法正在尝试做的事情

var params = {
             method: 'feed',
             name: 'Facebook Dialogs',
             link: 'https://developers.facebook.com/docs/reference/dialogs/',
             picture: 'http://fbrell.com/f8.jpg',
             caption: 'Reference Documentation',
             description: 'Dialogs provide a simple, consistent interface for applications to interface with users.'
   };

  FB.ui(params, function(obj) { console.log(obj); });

错误是何时调用FB.ui()

这是线程堆栈的屏幕截图,很有帮助!

我真的不知道该怎么做,或者我可以从哪里开始寻找,谢谢你的帮助!!!

4

1 回答 1

4

这是由 Cordova 2.4.0 版本之后的 FacebookConnect 插件中的一个错误引起的(它使用 NSJSONSerialization,因此返回的对象现在是不可变的)。

在 Github 上提出了一个拉取请求,其中包含修复: https ://github.com/phonegap/phonegap-facebook-plugin/pull/251

同时,您可以手动对 FacebookConnectPlugin.m 进行以下更改:

替换第 284 行:

NSMutableDictionary *options = [[command.arguments lastObject] mutableCopy];

在第 310 行之后添加以下内容:

[options release];
于 2013-02-21T16:58:49.430 回答