2

展示会でアプリを紹介するソリューションを探しています。

com.apple.defaults.managed文書化されていないペイロードを使用してデバイスにプロファイルをインストールして、デバイスのホームボタンを無効にできることは知っています。これは、展示会でアプリを紹介する良い方法です。ただし、このようなショーで有効にしてはいけない機能がある場合や、このデモ モード中にデバイスに何らかのデータを保存してはならない場合があります。

この mobileconfig ファイルを介して有効にするキーは、これによりプライベートも返さSBStoreDemoAppLockれると思いましたが、そうではありません。このメソッドがどのような状況でYESを返すか知っている人はいますか?+[UIApplication isRunningInStoreDemoMode]YES

これがプライベート API であることは知っていますが、これはベータ版配布のみを目的としたコードであるため、重要ではありません。だから、コメントしないで、私がアップルに拒否されると言ってください!

どんな助けでも大歓迎です!ありがとう!

4

1 に答える 1

2

isRunningInStoreDemoMode

UIKitで調べてみました。この関数で行うことは次のとおりです。

CFPreferencesGetAppBooleanValue("StoreDemoMode", "com.apple.demo-settings', &value);

バイナリを grep したところ、かなり多くの場所で使用されていることがわかりました。ただし、設定されているコードは見つかりませんでした。(実際のデバイス バイナリとは異なるシミュレータ バイナリを調べているので、これにはかなりの時間を費やしているため、間違っている可能性があります)。

また、com.apple.defaults.managed を介して設定することもできませんでした (この方法で設定できるのは、限られたセットの設定のみでした)。

したがって、この API は、置き換え/進化した古いキオスク メカニズムを思い起こさせる可能性があると思います。

最も簡単な方法

最も簡単な方法は、キオスク モードと通常モードを区別するプライベート API を探すのではなく、デモ用に特別なビルドを用意することだと思います。

ガイド付きアクセス モード

挑戦が好きなら。新しいキオスク モード メカニズム - Guided Access Mode をご覧ください。

有効にする方法は 2 つあります。 us/app/apple-configurator/id434433123?mt=12 )

ライブラリ /usr/lib/libAccessibility.dylib があります。API AXSGuidedAccessEnabled(); があります。私はそれを使用しませんでしたが、デバイスがアクセシビリティモードにあるかどうかを返すと思います。

于 2013-05-09T15:56:26.893 に答える