iOS9でユーザーの個々のアプリの使用状況を記録しようとしています。
ジェイルブレイク限定ソリューションを使用しないことをお勧めします。自明です。ジェイルブレイクされた電話でこのアプリのバリエーションを実行するのは難しくありません。
これは、Apple が許可しないため、App Store でリリースされることはありません。
これを行うことができるプライベート API、これを行うために使用できる非表示の iOS API を探しています。なんでも。
私がすでに見たこと:
- どのアプリがバックグラウンドで、どのアプリがフォアグラウンドであるかを iOS でアプリケーション ID によって判別する方法
- iOS 7の脱獄アプリの起動と詳細を知る方法
- iOS の現在のフォアグラウンド アプリを検出できるプライベート API はありますか?
- iOS8でアプリをフォアグラウンドで監視するには?PrivateFrameworks SpringBoardServicesを使う
これは比較的有用であることが証明されました - ある種の追加のアクセス要件、おそらく資格があると推測できますが、それがどのように見えるべきかは実際にはわかりません
- SpringBoard サービス フレームワークまたは他のプライベート フレームワークを使用して、個々のアプリの使用期間を見つけることができますか?
- アクティブなアプリケーションまたはスプリングボード上にあるかどうかを調べる
- ユーザーに表示される iOS アプリケーションをプログラムで検出する
ただし、Appleが iOS8 でこのセキュリティ上の欠陥を修正し、現在最前面にあるアプリ バンドル識別子をコピー/アクセスする方法が機能しなくなったため、これらすべてが役に立たないことが判明しました。
質問:脱獄を必要としないさまざまなツール/エクスプロイトを使用した回避策を知っている人はいますか?
アイデア:
デバイス上で実行されているプロセスを検査し、アプリが起動されたことを意味するスパイクを認識できるアルゴリズムを考案します。これは機能する可能性がありますが、おそらく大きな問題になるでしょう. このソリューションに関する質問:
- どういうわけか電話のトラフィックを検査しますか?
- 私ができるカーネルのものがあるかどうかわからない
誰かがチェックアウトしたい場合は、この質問のRedditバージョンを次に示します。また、値があれば、iOS9 のランタイム ヘッダーとApple のプライベート API のリストを次に示します。