通过configuration企业应用程序首选项(AirWatch)通过MDM检索用户名

我正在用Ionic / Cordova构build一个混合应用程序,并使用插件( https://github.com/apla/me.apla.cordova.app-preferences )从设置中包含的Root.plist文件中检索用户名值。束。

我无法通过AirWatch(MDM解决scheme)发送此值,然后在运行时正确读取该值。 我正在使用应用程序configuration设置,同时部署应用程序,如下所示:

在AirWatch控制台中:

应用配置

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(); 

使用上面提到的代码,结果是我得到值“testing”的用户名应填充。 我已经尝试了Root.plist文件中的众多变体,但似乎无法将AirWatch应用程序configuration密钥与位于Root.plist文件中的密钥配对。 帮助将不胜感激! 请让我知道我在做什么错误和/或我可以如何解决这个问题。 谢谢!

经过多次尝试,我已经达到了一个工作版本。 它似乎要求密钥被命名为“com.apple.configuration.managed”replace此值目前还没有工作。 无论如何,这是我是如何做到的:

AirWatch控制台

configuration密钥:com.apple.configuration.managed
值types:string
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(); 

希望能帮助任何人寻求解决scheme!