我在10.9上使用OSXServer3.0.1中的配置文件管理器将我的企业应用程序推送到运行iOS7的托管设备上。这工作得很好,而且我还可以推送设备配置设置。
我的障碍是如何获取苹果的示例项目ManagedAppConfig中提供的信息,并将其应用于配置文件管理器分发的应用程序。
ManagedAppConfig提供了一个简单的plist,用于将数据放入应用程序的NSUserDefaults中,然后用于应用程序配置;但是,没有给出如何使用MDM将此数据字典放入NSUserDefaults中的说明。
我显然遗漏了一条关于如何将plist数据发送到托管应用程序的NSUSerDefaults的信息,但到目前为止,我的搜索还没有结果。有没有可能通过配置文件管理器来达到这个目的?有没有其他我还没找到的OS服务器的方法?
以下是苹果公司文档在ManagedAppConfig上的一段话:
"ManagedAppConfig“演示了如何在iOS应用程序中实现托管应用程序配置和反馈支持。此功能允许移动设备管理服务器将字典下推到托管应用程序的NSUserDefaults中,以便远程配置设置。
下面是示例plist,其中包含两段数据,这两段数据以某种方式放在应用程序的NSUserDefaults中:
<?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>serverURL</key>
<string>http://developer.apple.com/</string>
<key>disableCloudDocumentSync</key>
<true/>
</dict>
</plist>
docs for NSUserDefaults甚至提到了通过MDM进行配置,但没有给出具体细节。
如果您的应用程序支持托管环境,则可以使用NSUserDefaults对象来确定管理员为了用户的利益而管理哪些首选项。托管环境对应于管理员或教师可能想要以特定方式配置系统的计算机实验室或教室。在这些情况下,教师可以建立一组默认首选项,并将这些首选项强加给用户。如果以这种方式管理首选项,应用程序应该通过禁用任何适当的控件来防止用户编辑该首选项。
我的下午一直在探索这一难以捉摸的信息,但没有成功,所以我请求so社区的帮助。谁能告诉我使用MDM将数据字典粘贴到NSUserDefaults中所需的信息?
非常感谢。
发布于 2014-03-07 23:24:17
我写了一篇小博文,关于你将如何去测试苹果的ManagedAppConfig。
http://tomasmcguinness.com/2014/03/07/exploring-apples-managedappconfig-demo/
披露:这篇文章描述了我写的www.testmdmapp.com的使用。
发布于 2017-03-31 01:06:12
读取配置(swift 3):
if let managedConf = UserDefaults.standard.object(forKey: "com.apple.configuration.managed") as? [String:Any?] {
if let serverURL = managedConf["serverURL"] as? String{
return serverURL
}
}
if let serverURL = Bundle.main.object(forInfoDictionaryKey: "serverURL") as? String {
return serverURL
}
return "https://apple.com/"
正如您所看到的-应用程序需要手动启用从MDM捆绑包配置读取。
P,S:只有托管的应用程序才能获得这些配置。
发布于 2014-02-21 07:06:30
从MDM服务器下推的托管应用程序配置更改出现在NSUSerDefaults
中,因此您可以添加一个观察者,以便在NSUserDefaults
的任何更改时收到警报。从MDM服务器下推的托管应用程序配置字典存储在名为com.apple.configuration.managed
的键中
您的应用程序还可以将包含反馈的字典发送到MDM服务器。作为反馈发送回MDM服务器的字典必须存储在此密钥com.apple.feedback.managed
中。
为了测试所有这些,您需要一个由MDM服务器管理的设备,并且应用程序必须由支持ApplicationConfiguration设置和ManagedApplicationFeedback命令的MDM服务器安装。
示例应用程序的readme.txt文件建议查看WWDC2013会话301“为企业和教育使用扩展您的应用程序”,以获得此应用程序的演示。
https://stackoverflow.com/questions/20752254
复制相似问题