我正在尝试pushwoosh并试图在远程api上取消注册iOS设备并出现此错误:
-[__NSDictionaryI cdvjk_JSONString]: unrecognized selector sent to instance
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '- [__NSDictionaryI cdvjk_JSONString]: unrecognized selector sent to instance
*** First throw call stack:
libc++abi.dylib: terminate called throwing an exception
Sending request: {"request":{"hwid":"my_hwid", "application":"my_app_id"}}
To urL https://cp.pushwoosh.com/json/1.3/pushStat
(lldb)
然后我意识到unregister方法仅针对机器人而不是iOS设备实现,因此插件文件夹中的pushwoosh插件没有使用请求。
我从index.js和pushnotifications.js文件中删除了代码,但每次尝试在接受推送通知后启动应用程序时,错误仍然出现。
然后我从远程api中删除了这段代码:
new JObject(
new JProperty("custom", "json data"))),
new JProperty("link", "http://pushwoosh.com/")
希望看似自定义数据不会被发送到pushwoosh。
仍然出现错误。我知道问题是每次都会发出一个无法处理的请求,但问题是代码不存在。
我是否可以编辑某些方法签名,并且每次尝试接受推送通知时都会使用这些签名?
或者是Xcode执行自动完成吗?
我需要熟悉pushwoosh(和Xcode)的人来帮助我。什么是解决方法,而不必升级到Cordova 2.1.0或更高版本(此错误来自插件本身,Phonegap家伙改变了“JSONString”objective-c函数的方式通过添加前缀“cdvjk_”来破坏兼容性任何< 2.1 Phonegap版本的插件。)
答案 0 :(得分:2)
请阅读此主题。不幸的是,这是PhoneGap家伙的一个错误,他们无法支持Cordova 2.1和早期版本:
https://github.com/shaders/phonegap-cordova-push-notifications/issues/12
您可以联系Pushwoosh团队,询问他们是否仍然可以帮助您使用旧版本。