Ios 更换phonegap中的DeviceInfo>;1.5

Ios 更换phonegap中的DeviceInfo>;1.5,ios,cordova,Ios,Cordova,从Cordova 1.5开始,他们似乎已经弃用了Phonegap变量DeviceInfo(我想我看到它在技术上也弃用于1.5,但保留了它)。我知道存在设备变量,但我使用DeviceInfo变量通过回调来存储我自己的一些数据 - (NSDictionary*)deviceProperties{...} 似乎仍然为var设备数据调用该函数,但它不允许我向该变量添加任何数据。有人知道是否有任何方法可以恢复自定义设备数据的功能,或者它永远消失了吗?好的,所以我想到的解决方法是在javascript调用

从Cordova 1.5开始,他们似乎已经弃用了Phonegap变量DeviceInfo(我想我看到它在技术上也弃用于1.5,但保留了它)。我知道存在设备变量,但我使用DeviceInfo变量通过回调来存储我自己的一些数据

- (NSDictionary*)deviceProperties{...}

似乎仍然为var设备数据调用该函数,但它不允许我向该变量添加任何数据。有人知道是否有任何方法可以恢复自定义设备数据的功能,或者它永远消失了吗?

好的,所以我想到的解决方法是在javascript调用中自己创建变量,以便javascript代码的其余部分仍然可以根据需要访问它。我设置了一个类别来覆盖

- (void)viewDidAppear:(BOOL)animated;
在实现中,我调用了以下代码

NSString* jsString = [NSString stringWithFormat:@"window.DeviceInfo = {param1:%@, param2:%@}}", param1, param2];
[self.viewController.webView stringByEvaluatingJavaScriptFromString:jsString]; 

添加的代码允许与基于已删除的可编辑DeviceInfo变量的代码向后兼容。

好的,所以我想到的解决方法是在javascript调用中自己创建变量,以便javascript代码的其余部分仍然可以根据需要访问它。我设置了一个类别来覆盖

- (void)viewDidAppear:(BOOL)animated;
在实现中,我调用了以下代码

NSString* jsString = [NSString stringWithFormat:@"window.DeviceInfo = {param1:%@, param2:%@}}", param1, param2];
[self.viewController.webView stringByEvaluatingJavaScriptFromString:jsString]; 

添加的代码允许与基于已删除的可编辑DeviceInfo变量的代码向后兼容。

OK,因此我找到了一个解决方案,只需在CDVViewController方法viewdide的类别实现中写入变量即可。希望有人能在今天或明天发布一个更好的答案,但如果没有,我会发布完整的解释作为答案并接受它。好的,所以我找到了一个解决方案,只需在CDVViewController方法viewdide的类别实现中写入变量。希望有人能在今天或明天发布一个更好的答案,但如果没有,我会发布完整的解释作为答案,并接受它。