2012-09-25 1 views
5

배경 :오류 아이 패드/iOS6.0

애플이 잠금 iOS6의의 일환으로 아이 패드에 대해"키오스크 모드 "를 제공 장치를 하나의 응용 프로그램에 추가 할 수 있습니다 (심지어 응용 프로그램에 직접 부팅 할 수도 있음). 소매/레스토랑/등에서 iPads를 사용하는 데 적합합니다.

이 기능을 사용하려면 먼저 Apple Configurator를 사용하여 "감독 (Supervised)"장치로 설정해야합니다. 그런 다음 "App Lock"이라는 구성 프로파일에 특수 항목을 추가합니다. 나는 recently-updated configuration profile document을 따랐다. 기본적으로 PayloadType을 'com.apple.app.lock'로 설정하고 애플리케이션의 번들 ID 값으로 설정된 '식별자'라는 속성을 추가합니다.

구성 프로파일을 iPad에 추가하려고하면 (Safari 링크, MDM 또는 Apple Configurator를 통 하든지간에) 구성 프로파일을 거부합니다.

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; 
    } 
+1

다음은 현재 사용하고있는 설정 프로파일입니다 (개인 식별 정보가 변경된 경우). http://www.pastebin.com/srB9iqHY – looselycoupled

답변

7

내가 그것을 알아 냈 :

은 엑스 코드에서 콘솔 출력은 다음을 보여줍니다! 나는 그것을 잘못 읽고있다. 아니면 애플이 configuration profile reference에 약간의 세부 사항을 남겼다. 오류를 피하기 위해 "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> 
+0

ios8에도 여전히 적용됩니까? 또한 iPod Touch 장치에서도 작동합니까? –

0

예 여전히

아이폰 OS 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> 

밖에 오래된 post's 많이 있습니다. 이것과 위의 것들은 실제로 작동하는 것들입니다 !!!