2014-10-26 92 views
3

我使用的是org.apache.cordova.device插件。我看到device.namehas been deprecated一會兒又回到device.model。在iPhone 5S上使用設備插件0.2.12和iOS 8.1時,device.nameundefined如何使用Cordova獲取iOS用戶設置的設備名稱?

我仍然需要獲取用戶的設備名稱,例如「Jerry's iPhone」,以便用戶可以看到他們的哪些設備正在使用我的應用。如何用Cordova做到這一點?

+0

您是否能夠正常工作? – sherb 2014-11-01 02:17:30

回答

3

你最好的選擇可能是修改設備插件(帶有所有不希望的後果)。我能夠在./cordova/platforms/ios/[project名稱] /Plugins/org.apache.cordova.device/CDVDevice.m添加以下行deviceProperties來獲得設備名稱:

- (NSDictionary*)deviceProperties 
{ 
    UIDevice* device = [UIDevice currentDevice]; 
    NSMutableDictionary* devProps = [NSMutableDictionary dictionaryWithCapacity:4]; 
    [devProps setObject:[device name] forKey:@"name"]; // <------------- new line 

您還需要調整./cordova/plugins/org.apache.cordova.device/www/device.js相應的JavaScript對象:

channel.onCordovaReady.subscribe(function() { 
    me.getInfo(function(info) { 
     me.name = info.name;    // <---------- new line 

device.name可能已被棄用,從插件刪除,但在iOS SDK 8.1 documentation中,分配的name仍然是受支持的屬性。

相關問題