pushwoosh 错误无法识别的选择器发送到实例 Cordova 1.7.0
Posted
技术标签:
【中文标题】pushwoosh 错误无法识别的选择器发送到实例 Cordova 1.7.0【英文标题】:pushwoosh error unrecognized selector sent to instance Cordova 1.7.0 【发布时间】:2012-10-22 15:48:42 【问题描述】:我正在尝试 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 方法仅适用于 android 而不是 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 人员通过添加前缀“cdvjk_”改变了调用“JSONString”objective-c 函数的方式破坏了兼容性有任何
【问题讨论】:
【参考方案1】:请阅读此主题。不幸的是,这有点怪 PhoneGap 的人,他们无法同时支持 Cordova 2.1 和更早的版本:
https://github.com/shaders/phonegap-cordova-push-notifications/issues/12
您可以联系 Pushwoosh 团队,询问他们是否仍然可以帮助您使用旧版本。
【讨论】:
我确实联系了他们,正如我在问题中指定的那样(间接地)他们建议升级,所以我想知道除了升级之外是否没有其他方法可以解决这个问题,不幸的是我预见到自己会这样做. 您可以手动更改插件代码,删除“cdvjk_”前缀,它可以与以上是关于pushwoosh 错误无法识别的选择器发送到实例 Cordova 1.7.0的主要内容,如果未能解决你的问题,请参考以下文章
NSKeyedArchiver - 无法识别的选择器发送到实例错误