2013-02-25 14 views
8

私は、特定の目標が達成されるまで、ユーザーの完全な注意を必要とするアプリケーションを作成しています。ターゲットを達成する前に、ユーザーが 'home'ボタンを押すと無効にするか、ios6で 'kiosk mode'のようにする必要があります。私はちょうどアプリケーションを起動しながら、プログラムで完了する必要がありましたが、iPhone/iPadの設定メニューを手動で変更して何もしたくないのです。アプリケーションのターゲットが完了したら、ホームボタンを有効にする必要があります。アプリケーションはエンタープライズをターゲットとしています。アプリストアの承認は不要です。これを行う方法?前もって感謝します。ipadでプログラムでキオスクモードを有効にするにはどうすればよいですか?

編集:私は "mobile configuration plist"について読んでいます。そのため、デバイスを再起動する必要がありました。しかし、私はデバイスを再起動したくない。一度アプリケーションを起動すると、すべての処理がプログラムで処理されます。私はユーザ/スーパーバイザの介入をこれで望んでいません。私のアプリの中にプログラムで「ガイド付きアクセス」のようなホームボタンを無効にしたいだけです。ホームボタンを無効にするための 'Guided Access'からのプライベートAPIはありますか?

注:壊れたデバイスは壊れません。エンタープライズライセンスアプリを対象としています。

+1

私はそれがデバイスを再起動するために必要な... – Sagrian

+0

"モバイル設定のplistの" 許可されているとは思いません。しかし、私はデバイスを再起動したくない。私のアプリケーションが起動されると、すべてのものが(プログラム的に)取られるはずです。私はユーザ/スーパーバイザの介入をこれで望んでいません。ガイド付きアクセスのようにホームボタンを無効にしたいだけですが、プログラムで行います。 –

答えて

2

プライベートフレームワークを使用していない、またはデバイスがjailbreakしていない場合、ホームボタンを自動的に無効にすることはできません。あなたができる最も近いことは、エンドユーザがガイド付きアクセスを使用してアプリケーションを終了するためにホームボタンを3回クリックする必要があることです。ガイド付きアクセスは、設定アプリケーションの[一般] - [アクセシビリティ]で最初にオンにする必要があります。

関連項目:Disable Home Button Without Rebooting Device - Stack Overflow

+0

ありがとうございます。上記のリンクにはまだ正確な解決策はありません。 –

+0

正確に。このトピックはこれまでに提起されており、現時点では解決策はありません。 – Jeremy1026

11

Zachary Christopoulosは、 "モバイル設定のplist" を使用して、この上のポストを持っています。

このプロファイルがインストールされると デバイスが再起動されたときに起動される最初のアプリは、あなたが再び にデバイスを再起動するまで実行されます唯一のアプリになります。 Zachary's postから

例のplist:

<?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>PayloadDescription</key> 
      <string>Disables the home button.</string> 
      <key>PayloadDisplayName</key> 
      <string>Home Button Lock</string> 
      <key>PayloadIdentifier</key> 
      <string>com.zchristopoulos.kiosk</string> 
      <key>PayloadOrganization</key> 
      <string>Zachary Christopoulos</string> 
      <key>PayloadType</key> 
      <string>com.apple.defaults.managed</string> 
      <key>PayloadUUID</key> 
      <string>B2D02E2D-BAC5-431B-8A29-4B91F71C9FC1</string> 
      <key>PayloadVersion</key> 
      <integer>1</integer> 
      <key>PayloadContent</key> 
      <array> 
       <dict> 
        <key>DefaultsDomainName</key> 
        <string>com.apple.springboard</string> 
        <key>DefaultsData</key> 
        <dict> 
        <key>SBStoreDemoAppLock</key> 
        <true/> 
        </dict> 
       </dict> 
      </array> 
     </dict> 
    </array> 
    <key>PayloadDescription</key> 
    <string>Disables Home Button</string> 
    <key>PayloadDisplayName</key> 
    <string>Home Button Lock</string> 
    <key>PayloadIdentifier</key> 
    <string>com.zchristopoulos.hbkill</string> 
    <key>PayloadOrganization</key> 
    <string>Zachary Christopoulos</string> 
    <key>PayloadType</key> 
    <string>Configuration</string> 
    <key>PayloadUUID</key> 
    <string>614D1FE3-F80D-4643-AF6B-D10C4CC8737A</string> 
    <key>PayloadVersion</key> 
    <integer>1</integer> 
</dict> 
</plist> 
+0

ありがとうございます。しかし、私はデバイスを再起動したくありません。私のアプリケーションが起動されると、すべてのものが(プログラム的に)取られるはずです。私はユーザ/スーパーバイザの介入をこれで望んでいません。 –

+0

これはiOS 7ではサポートされなくなりました。これは正式な方法ではありません。 https://devforums.apple.com/thread/216385?tstart=0 – Prcela

+1

私たちはApp Lock Payload(PayLoadType = com.apple.app.lock)を使用しなければなりません。iOS 6 Configurationプロファイルリファレンス(https:// developer .apple.com/library/ios/featuredarticles/iPhoneConfigurationProfileRef/Introduction/Introduction.html#// apple_ref/doc/uid/TP40010206-CH1-SW4)。 @Rjstellingは、このキオスクモード設定のワンストップショップになるように、iOS 7のサンプルplistファイルを提供することを検討します。 –

関連する問題