我正在使用phonegap 2.4和最新的facebook插件进行项目
https://github.com/phonegap/phonegap-facebook-plugin
我的问题是发布到用户墙上的Feed,我能够对用户进行身份验证,获取所有适当的事件等等,但是当我尝试发布到Feed时(我正在做请先读取然后写入权限序列,因为ios6中有一个新的api,并且拥有用户的发布权限,而且我已经在设置上设置了我的facebook帐户啊,而且我还在使用facebook sdk 3.1)控制台只是通过和错误
*****由于未捕获的异常'NSInternalInconsistencyException'终止应用程序,原因:' - [__ NSCFDictionary removeObjectForKey:]:发送到不可变对象的变异方法'**
正试图删除和反对和不可更改的字典,但为什么呢?哪里?怎么解决这个?
这就是我的js methond正在尝试做的事情
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()
时
我真的不知道该怎么办,或者我可以在哪里开始寻找,感谢您的帮助!!!
答案 0 :(得分: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];