配置描述文件是
XML 文件,包含以下内容:设备安全策略、VPN 配置信息、Wi-Fi 设置、APN 设置、Exchange
帐户设置、邮件设置以及允许 iPhone 和 iPod touch 与企业系统配合使用的证书。
“iPhone
配置实用工具”可让您轻松地创建、维护和安装配置描述文件及对配置描述文件进行加密,跟踪和安装预置描述文件与授权的应用程序,以及采集包括控制台日志在内的设备信息。(这个工具可以从官网上进行下载)
目前所知的,安装这个配置文件除了上述的使用“iphone
配置实用工具”之外,还可以通过邮件附件或通过使用safari浏览包含有下载的网页的方式激活安装(install profile
窗口)。
如何能在不联网的方式进行配置文件的安装呢????这是个问题....
下面这个文章大致介绍了下配置描述文件从生成到安装的过程:
Over-the-air IPhone Setup Using a
Signed .mobileconfig File
Note: this does not push your configuration to an iPhone. The
user of the iPhone must go to a web address and install a
configuration profile.
Suppose that you have a few
iPhones that you need to support, but you don't want to spend the
time typing in all of the e-mail (IMAP or POP), LDAP, wireless
network, or other settings into each phone. Perhaps you have found
Apple's Enterprise Deployment Guide but you don't really feel
like setting up a whole SCEP Certification Authority to get things
done either since your requirements are so simple. But you do
realize that it is much easier to tell your user to go to
https:///iphone/ on their iPhone than to step them
through all the individual setup routines.
Amazingly enough, there is
not much documentation out there on how to hand-roll a
.mobileconfig file that you can pass out on an HTTPS server to your
users. We also want it to be "Verified" by the iPhone so that your
users can see it is from you. While they can install untrusted
profiles, it sure adds a nice touch to have the green
checkmark.
Perhaps you've scoured the
Internet since you've read that you can "just use openssl
smime " to sign your .mobileconfig file, but no one seems to
tell you how. We'll go over that here as well.
1) Create a configuration
(.mobileconfig) file
This file will contain all
the configuration you want for your users' iPhones. I believe you
can use Apple's iPhone
Configuration Utility to create this file. You don't have to,
but it'll probably save you some typing.
The
Enterprise Deployment Guide defines the syntax of the profiles
in Appendix B. You can do some pretty fancy request/response
scripting between the phone and your server, but I'll just go over
a simpler method that just sends a configuration file from your web
server to their phone.
Your .mobileconfig file will end up looking something like
this:
<?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>PayloadContent</key>
<array>
<dict>
<key>PayloadDisplayName</key>
<string>LDAP Settings</string>
<key>PayloadType</key>
<string>com.apple.ldap.account</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>PayloadUUID</key>
<string>6df7a612-ce0a-4b4b-bce2-7b844e3c9df0</string>
<key>PayloadIdentifier</key>
<string>com.example.iPhone.settings.ldap</string>
<key>LDAPAccountDescription</key>
<string>Company Contacts</string>
<key>LDAPAccountHostName</key>
<string>ldap.</string>
<key>LDAPAccountUseSSL</key>
<false />
<key>LDAPAccountUserName</key>
<string>uid=username,dc=example,dc=com</string>
<key>LDAPSearchSettings</key>
<array>
<dict>
<key>LDAPSearchSettingDescription</key>
<string>Company Contacts</string>
<key>LDAPSearchSettingSearchBase</key>
<string></string>
<key>LDAPSearchSettingScope</key>
<string>LDAPSearchSettingScopeSubtree</string>
</dict>
<dict>
<key>LDAPSearchSettingDescription</key>
<string>Sales Departments</string>
<key>LDAPSearchSettingSearchBase</key>
<string>ou=Sales,dc=example,dc=com</string>
<key>LDAPSearchSettingScope</key>
<string>LDAPSearchSettingScopeSubtree</string>
</dict>
</array>
</dict>
<dict>
<key>PayloadDisplayName</key>
<string>Email Settings</string>
<key>PayloadType</key>
<string>com.apple.mail.managed</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>PayloadUUID</key>
<string>362e5c11-a332-4dfb-b18b-f6f0aac032fd</string>
<key>PayloadIdentifier</key>
<string>com.example.iPhone.settings.email</string>
<key>EmailAccountDescription</key>
<string>Company E-mail</string>
<key>EmailAccountName</key>
<string>Full Name</string>
<key>EmailAccountType</key>
<string>EmailTypeIMAP</string>
<key>EmailAddress</key>
<string>username@</string>
<key>IncomingMailServerAuthentication</key>
<string>EmailAuthPassword</string>
<key>IncomingMailServerHostName</key>
<string>imap.</string>
<key>IncomingMailServerUseSSL</key>
<true />
<key>IncomingMailServerUsername</key>
<string>username@es2eng.com</string>
<key>OutgoingPasswordSameAsIncomingPassword</key>
<true />
|