Hello,
Recently in one of my iOS app project, I had a requirement to get device name like "Hiren's iPhone". First I thought it's pretty simple as I checked device API documentation and saw that there is method device.name which should gave device name. I tried that and surprisingly it was returning undefined. I was not sure why it's not returning result. Then I saw source code and found out actually name property is not added in device API so I decided to add it. In this blog I am going to explain how to do this.
First open your CDVDevice.m file and find following function.
Recently in one of my iOS app project, I had a requirement to get device name like "Hiren's iPhone". First I thought it's pretty simple as I checked device API documentation and saw that there is method device.name which should gave device name. I tried that and surprisingly it was returning undefined. I was not sure why it's not returning result. Then I saw source code and found out actually name property is not added in device API so I decided to add it. In this blog I am going to explain how to do this.
First open your CDVDevice.m file and find following function.
- (NSDictionary*)deviceProperties
In this function add following new line.
[devProps setObject:[device name] forKey:@"name"];
That's it on objective C side. Now lets modify on JavaScript side. Open device.js file inside plugins/org.apache.cordova.device folder in your www folder. There is a constructor function
function Device()
In this function first add name property.
this.name = null;
And inside following function initialize this property.
channel.onCordovaReady.subscribe(function() {
me.getInfo(function(info) {
}
}
me.name = info.name;
That's it and now device.name should return your name of device set in settings.
No comments:
Post a Comment