6

バックグラウンド:

Apple は、デバイスを 1 つのアプリケーションにロックする iOS6 の一部として、iPad 用の「キオスク モード」を提供します (アプリを直接起動することもできます)。小売店/レストランなどで iPad を使用するのに最適です。

これを使用するには、最初にデバイスを Apple Configurator を使用して「監視対象」デバイスとして設定する必要があります。次に、「App Lock」と呼ばれる構成プロファイルに特別なエントリを追加します。最近更新された構成プロファイル ドキュメントに従いました。基本的に、PayloadType を 'com.apple.app.lock' として設定し、アプリケーションのバンドル ID の値に設定される 'Identifier' というプロパティを追加するだけです。

構成プロファイルを iPad に追加しようとすると (Safari リンク、MDM、または Apple Configurator を介して)、拒否されます。

Xcode のコンソール出力には、次のように表示されます。

Sep 24 17:51:56 Test-iPad mc_mobile_tunnel[487] <Notice>: (Note ) MDM: Attempting to perform Supervised request: ProfileList
Sep 24 17:51:56 Test-iPad installd[30] <Error>: 0x2ff9f000 filter_attributes: Info.plist keys requested via MobileInstallationLookup/Browse in client Apple Configurator (via mobile_installation_proxy) were not found in MobileInstallation's cache. Please file a bug requesting that these keys be added: <CFBasicHash 0x1e58b0b0 [0x3d8f2100]>{type = mutable set, count = 1,
   entries =>
       2 : <CFString 0x3d8de564 [0x3d8f2100]>{contents = "CFBundleSignature"}
   }
Sep 24 17:51:57 Test-iPad mc_mobile_tunnel[492] <Notice>: (Error) MC: MCAppWhitelistPayload Can't parse payload: NSError:
   Desc   : The payload “Test Profile” is invalid.
   Sugg   : The field “App” is invalid.
   US Desc: The payload “Test Profile” is invalid.
   US Sugg: The field “App” is invalid.
   Domain : MCPayloadErrorDomain
   Code   : 2000
   Type   : MCFatalError
   Params : (
       "Test Profile"
   )
   ...Underlying error:
   NSError:
   Desc   : The field “App” is invalid.
   US Desc: The field “App” is invalid.
   Domain : MCPayloadErrorDomain
   Code   : 2003
   Type   : MCFatalError
   Params : (
       App
   )
Sep 24 17:51:57 Test-iPad mc_mobile_tunnel[492] <Notice>: (Error) MC: Payload “(null)” contains ignored fields. They are: <CFBasicHash 0x20819140 [0x3d8f2100]>{type = mutable dict, count = 1,
   entries =>
       1 : <CFString 0x1f527bd0 [0x3d8f2100]>{contents = "Identifier"} = <CFString 0x1f527c10 [0x3d8f2100]>{contents = "com.hubworks.myapp"}
   }
Sep 24 17:51:57 Test-iPad mc_mobile_tunnel[492] <Notice>: (Error) MC: Cannot create profile of type “com.apple.app.lock”. Error: NSError:
   Desc   : The payload “Test Profile” is invalid.
   Sugg   : The field “App” is invalid.
   US Desc: The payload “Test Profile” is invalid.
   US Sugg: The field “App” is invalid.
   Domain : MCPayloadErrorDomain
   Code   : 2000
   Type   : MCFatalError
   Params : (
       "Test Profile"
   )
   ...Underlying error:
   NSError:
   Desc   : The field “App” is invalid.
   US Desc: The field “App” is invalid.
   Domain : MCPayloadErrorDomain
   Code   : 2003
   Type   : MCFatalError
   Params : (
       App
   )
Sep 24 17:51:57 Test-iPad mc_mobile_tunnel[492] <Notice>: (Error) MC: Profile MCConfigurationProfile 0x1f526100, version 1:
   Display Name: “Test Profile”
   Identifier  : home-macbook-air.local.2A8DC5A2-937E-4246-B2AF-7C756C30C447
   UUID        : E06A5B33-9CD3-40CB-8611-0479E642B427
   Is Stub     : No
   Locked      : No
   Encrypted   : No
   Trusted     : 2
   Signed      : Yes
   Signed by   : Apple Configurator (58:55:CA:F7:24:B9)
    Can't parse profile: NSError:
   Desc   : The profile “Test Profile” is invalid.
   Sugg   : The payload “Test Profile” is invalid.
   US Desc: The profile “Test Profile” is invalid.
   US Sugg: The payload “Test Profile” is invalid.
   Domain : MCProfileErrorDomain
   Code   : 1000
   Type   : MCFatalError
   Params : (
       "Test Profile"
   )
   ...Underlying error:
   NSError:
   Desc   : The payload “Test Profile” is invalid.
   Sugg   : The field “App” is invalid.
   US Desc: The payload “Test Profile” is invalid.
   US Sugg: The field “App” is invalid.
   Domain : MCPayloadErrorDomain
   Code   : 2000
   Type   : MCFatalError
   Params : (
       "Test Profile"
   )
   ...Underlying error:
   NSError:
   Desc   : The field “App” is invalid.
   US Desc: The field “App” is invalid.
   Domain : MCPayloadErrorDomain
   Code   : 2003
   Type   : MCFatalError
   Params : (
       App
   )
   Extra info:
   {
       isPrimary = 1;
   }
Sep 24 17:51:57 Test-iPad mc_mobile_tunnel[492] <Notice>: (Error) MC: Failed to parse profile data. Error: NSError:
   Desc   : The profile “Test Profile” is invalid.
   Sugg   : The payload “Test Profile” is invalid.
   US Desc: The profile “Test Profile” is invalid.
   US Sugg: The payload “Test Profile” is invalid.
   Domain : MCProfileErrorDomain
   Code   : 1000
   Type   : MCFatalError
   Params : (
       "Test Profile"
   )
   ...Underlying error:
   NSError:
   Desc   : The payload “Test Profile” is invalid.
   Sugg   : The field “App” is invalid.
   US Desc: The payload “Test Profile” is invalid.
   US Sugg: The field “App” is invalid.
   Domain : MCPayloadErrorDomain
   Code   : 2000
   Type   : MCFatalError
   Params : (
       "Test Profile"
   )
   ...Underlying error:
   NSError:
   Desc   : The field “App” is invalid.
   US Desc: The field “App” is invalid.
   Domain : MCPayloadErrorDomain
   Code   : 2003
   Type   : MCFatalError
   Params : (
       App
   )
   Extra info:
   {
       isPrimary = 1;
   }
4

2 に答える 2

8

私はそれを考え出した!私が読み間違えているか、Apple が構成プロファイルの参照で少し詳細を省略しているかのどちらかです。このエラーを回避するには、「Identifier」/bundleId キー/値のペアをディクショナリでラップする必要があります。これは、「App」という名前のキーの値です。下記参照:

<?xml version="1.0"?>
<plist version="1.0">
  <dict>
    <key>PayloadContent</key>
    <array>
      <dict>
        <key>App</key>
        <dict>
          <key>Identifier</key>
          <string>bundle_identifier_of_the_app</string>
        </dict>
        <key>PayloadType</key>
        <string>com.apple.app.lock</string>
        <key>PayloadIdentifier</key>
        <string>#######-#######-#######-######</string>
        <key>PayloadUUID</key>
        <string>#######-#######-#######-######</string>
        <key>PayloadVersion</key>
        <integer>#</integer>
      </dict>
    </array>
    <key>PayloadType</key>
    <string>Configuration</string>
    <key>PayloadDisplayName</key>
    <string>##########</string>
    <key>PayloadIdentifier</key>
    <string>######-#####-######-#####</string>
    <key>PayloadUUID</key>
    <string>######-######-#####-#####</string>
    <key>PayloadVersion</key>
    <integer>#</integer>
  </dict>
</plist>
于 2012-09-27T06:04:16.853 に答える
0

はい、まだ iOS 9.1 で動作しています

次のようなオプションを追加できます。

<?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>App</key>
        <dict>
          <key>Identifier</key>
          <string>bundle_identifier_of_the_app</string>
          <key>Options</key>
          <dict>
            <key>DisableAutoLock</key>
            <true/>
            <key>DisableVolumeButtons</key>
            <true/>
          </dict>
        </dict>
        <key>PayloadType</key>
        <string>###.#####.#####</string>
        <key>PayloadIdentifier</key>
        <string>com.klangerfinder.lockdown</string>
        <key>PayloadUUID</key>
        <string>######-######-#####-#####</string>
        <key>PayloadVersion</key>
        <integer>1</integer>
      </dict>
    </array>
    <key>PayloadType</key>
    <string>Configuration</string>
    <key>PayloadDisplayName</key>
    <string>AppLockDown</string>
    <key>PayloadIdentifier</key>
    <string>###.#####.#####</string>
    <key>PayloadUUID</key>
    <string>######-######-#####-#####</string>
    <key>PayloadVersion</key>
    <integer>1</integer>
 </dict>
</plist>

そこにはたくさんの古い投稿があります。これと上記は実際に動作するものです!!!

于 2015-11-06T21:36:26.340 に答える