Распространение файла mobileconfig через Интернет - PullRequest
3 голосов
/ 04 июля 2011

Я динамически генерирую (в сценарии PHP) файл .mobileconfig для устройств iOS и затем обслуживаю его через Интернет. Я доставляю файл с типом контента application / x-apple-aspen-config и с расположением контента в виде вложения; имя файла = myprofile.mobileconfig .

Моя проблема в том, что я получаю сообщение об ошибке: Safari не может установить профиль из-за неизвестной ошибки . Что я делаю неправильно? Смотрите файл mobileconfig ниже:

    $content =  "<?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>PayloadContent</key>
            <array>
                <dict>
                    <key>DefaultsData</key>
                    <dict>
                        <key>apns</key>
                        <array>
                            <dict>
                                <key>apn</key>
                                <string>$apnName</string>
                                <key>password</key>
                                <string>$password</string>
                                <key>proxy</key>
                                <string></string>
                                <key>proxyPort</key>
                                <integer></integer>
                                <key>username</key>
                                <string>$userName</string>
                            </dict>
                        </array>
                    </dict>
                    <key>DefaultsDomainName</key>
                    <string>com.apple.managedCarrier</string>
                </dict>
            </array>
            <key>PayloadDescription</key>
            <string><removed before posting here></string>
            <key>PayloadDisplayName</key>
            <string><removed before posting here></string>
            <key>PayloadIdentifier</key>
            <string><removed before posting here></string>
            <key>PayloadOrganization</key>
            <string><removed before posting here></string>
            <key>PayloadType</key>
            <string>com.apple.apn.managed</string>
            <key>PayloadUUID</key>
            <string>8B9A29CC-7C6E-4E32-B4AD-18ED3FDDB64D</string>
            <key>PayloadVersion</key>
            <integer>1</integer>
        </dict>
    </array>
    <key>PayloadDescription</key>
    <string><removed before posting here></string>
    <key>PayloadDisplayName</key>
    <string><removed before posting here></string>
    <key>PayloadIdentifier</key>
    <string><removed before posting here></string>
    <key>PayloadOrganization</key>
    <string><removed before posting here></string>
    <key>PayloadRemovalDisallowed</key>
    <false/>
    <key>PayloadType</key>
    <string>Configuration</string>
    <key>PayloadUUID</key>
    <string>975760AB-9CCE-4496-9D2F-04FD605DDBB9</string>
    <key>PayloadVersion</key>
    <integer>1</integer>
</dict>
</plist>";

Эта проблема возникает как на симуляторе, так и на устройствах iPhone 3G и iPhone 4.

1 Ответ

1 голос
/ 30 июля 2011

Проблема в том, что хотя proxy и proxyPort являются необязательными, если proxyPort включен и имеет значение null, как в моем xml, профиль не будет установлен и выдаст эту досадную ошибку. Решение состоит в том, чтобы удалить его, если в этом нет необходимости.

...