Récupération du nom d'utilisateur via MDM en configurant les préférences de l'application d'entreprise (AirWatch)

Je construis une application hybride avec Ionic / Cordova et j'utilise un plugin ( https://github.com/apla/me.apla.cordova.app-preferences ) pour récupérer une valeur de nom d'utilisateur à partir du fichier Root.plist contenu dans Paramètres .paquet.

J'ai de la difficulté à envoyer cette valeur via AirWatch (MDM Solution), puis je la lisez correctement pendant l'exécution. J'utilise le paramètre Configuration d'application lors du déploiement de l'application comme indiqué ci-dessous:

Dans la console AirWatch:

Configuration de l'application

Code source Root.plist:

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>PreferenceSpecifiers</key> <array> <dict> <key>Key</key> <string>AWUsername</string> <key>DefaultValue</key> <dict> <key>Value</key> <string>Test</string> </dict> </dict> </array> </dict> </plist> 

JS

 var retrieveUser = function () { var prefs = window.plugins.appPreferences; //prefs.fetch (ok, fail, 'dict', 'key'); prefs.fetch(prefReadSucess, prefReadFailed, 'AWUsername', 'AWUsername'); function prefReadSucess(value) { console.log("User: " + value); DataTransfer.getUser(value); } function prefReadFailed(error) { console.log("Error: " + error); DataTransfer.getUser("ANONYMOUS"); } }; retrieveUser(); 

Avec le code mentionné ci-dessus, le résultat est que j'obtiens la valeur "Test" où le nom d'utilisateur devrait être rempli. J'ai essayé de nombreuses variations dans le fichier Root.plist mais je ne parviens pas à associer la clé de configuration de l'application AirWatch à la clé située dans le fichier Root.plist. De l'aide serait grandement appréciée! Permettez-moi de savoir ce que je fais mal et / ou comment je peux réparer cela. Merci!

SOLUTION

Après plusieurs tentatives, j'ai atteint une version de travail. Il semble exiger que la clé s'appelle "com.apple.configuration.managed" Le remplacement de cette valeur n'a pas fonctionné jusqu'à présent. Quoi qu'il en soit, voici comment je l'ai fait:

Console AirWatch

Clé de configuration: com.apple.configuration.managed
Type de valeur: chaîne
Valeur de configuration: {DisplayName}

Root.plist

 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>PreferenceSpecifiers</key> <array> <dict> <key>Key</key> <string>com.apple.configuration.managed</string> <key>DefaultValue</key> <dict> <key>Value</key> <string>ANONYMOUS</string> </dict> </dict> </array> </dict> </plist> 

JS

 var retrieveUser = function () { var prefs = window.plugins.appPreferences; //prefs.fetch (ok, fail, 'dict', 'key'); prefs.fetch(prefReadSucess, prefReadFailed, 'com.apple.configuration.managed', 'com.apple.configuration.managed'); function prefReadSucess(value) { console.log("User: " + value); DataTransfer.getUser(value); } function prefReadFailed(error) { console.log("Error: " + error); DataTransfer.getUser("ANONYMOUS"); } }; retrieveUser(); 

J'espère que cela aide quiconque cherche une solution!