Create WIP_ios_app_info.js
This commit is contained in:
parent
1e92708ee1
commit
08a4df5b51
58
scripts/WIP_ios_app_info.js
Normal file
58
scripts/WIP_ios_app_info.js
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
function dictFromNSDictionary(nsDict) {
|
||||||
|
var jsDict = {};
|
||||||
|
var keys = nsDict.allKeys();
|
||||||
|
var count = keys.count();
|
||||||
|
for (var i = 0; i < count; i++) {
|
||||||
|
var key = keys.objectAtIndex_(i);
|
||||||
|
var value = nsDict.objectForKey_(key);
|
||||||
|
jsDict[key.toString()] = value.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
return jsDict;
|
||||||
|
}
|
||||||
|
|
||||||
|
function arrayFromNSArray(nsArray) {
|
||||||
|
var jsArray = [];
|
||||||
|
var count = nsArray.count();
|
||||||
|
for (var i = 0; i < count; i++) {
|
||||||
|
jsArray[i] = nsArray.objectAtIndex_(i).toString();
|
||||||
|
}
|
||||||
|
return jsArray;
|
||||||
|
}
|
||||||
|
|
||||||
|
function infoDictionary() {
|
||||||
|
if (ObjC.available && "NSBundle" in ObjC.classes) {
|
||||||
|
var info = ObjC.classes.NSBundle.mainBundle().infoDictionary();
|
||||||
|
return dictFromNSDictionary(info);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
function infoLookup(key) {
|
||||||
|
if (ObjC.available && "NSBundle" in ObjC.classes) {
|
||||||
|
var info = ObjC.classes.NSBundle.mainBundle().infoDictionary();
|
||||||
|
var value = info.objectForKey_(key);
|
||||||
|
if (value === null) {
|
||||||
|
return value;
|
||||||
|
} else if (value.class().toString() === "__NSCFArray") {
|
||||||
|
return arrayFromNSArray(value);
|
||||||
|
} else if (value.class().toString() === "__NSCFDictionary") {
|
||||||
|
return dictFromNSDictionary(value);
|
||||||
|
} else {
|
||||||
|
return value.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(JSON.stringify({
|
||||||
|
name: infoLookup("CFBundleName"),
|
||||||
|
bundleId: ObjC.classes.NSBundle.mainBundle().bundleIdentifier().toString(),
|
||||||
|
version: infoLookup("CFBundleVersion"),
|
||||||
|
path: {
|
||||||
|
bundle: ObjC.classes.NSBundle.mainBundle().bundlePath().toString(),
|
||||||
|
data: ObjC.classes.NSProcessInfo.processInfo().environment().objectForKey_("HOME").toString(),
|
||||||
|
binary: ObjC.classes.NSBundle.mainBundle().executablePath().toString()
|
||||||
|
},
|
||||||
|
info: infoDictionary()
|
||||||
|
}, null, 2))
|
Loading…
Reference in New Issue
Block a user