2013-04-09 12 views
5

iOSバンドルからアイテムを削除することはできませんが、ファイルを含める方法はありますが、「署名済み」バンドルの一部ではありません。まだインストールされていますか?インストール後にバンドルからファイルを削除する

ユースケースは基本的にアプリケーションをインストールし、ファイルの内容を読み込んでキーチェーンに保存してからファイルを削除します。

ご協力いただきありがとうございます。

注 - >このファイルを取得するためにアプリはインターネットにアクセスできません。 それを一度読んだ後にファイルを削除(またはファイルの内容を消去)できることは、本当に必要なものです。また、私たちはここで臨時配布しており、App Approvalプロセスは一切行っていません。

+2

バンドルからファイルを削除することはできません...あなたのアプリがファイルの内容を取得するために何らかのサーバーを設定することを検討しましたか? – rocky

+1

アプリケーションバンドルは、デバイス上のアプリケーションの読み取り専用です。したがって、署名されているか署名のない状態でバンドルからファイルを削除することはできません。 –

+0

残念ながら、「ビジネス上の制約」の理由から、リモートでファイルを取得することはできませんが、それは私の唯一の答えです。そして、@ MartinR良い点。その部分を本当に考慮しなかった。ドキュメントフォルダにファイルをあらかじめ入力する方法はありますか? – Breland

答えて

5

短い答えはいいえです。アプリケーションバンドルは読み取り専用です。

他の人も指摘しているように、編集可能なバンドル内のデータを配信する通常のソリューションは、アプリケーションバンドルからドキュメント(または他のアプリケーションフォルダ)にデータをコピーして編集可能なコピーを作成することです。ただし、バンドルから何も削除することはできません。

プロジェクトではインターネット経由でデータを送信できないため、Ad-Hocディストリビューション経由でアプリケーションを配信しているため、配信されたファイルには刑務所破損したデバイス。

ファイルを読むことができないように削除することはできませんので、ファイルを暗号化して解読できないようにすることをお勧めします。あなたのアプリは内容を解読し、それを使用し、解読されたバージョンを処分することができます。もちろん、これはまだ防弾ではありません。なぜなら、解読にはあなたが保護しなければならない鍵が必要だからです。

+0

これまでのところ、最高のソリューションは、私は、安全なデバイスにキーを取得するための最良の方法だと思いますか? – Breland

+2

キーを派生させます。アプリ内のファイルのCRC-32チェックサムを使用するのと同じように、他の値でハッシュされるため、キーはコンパイルされたコードには格納されません。プログラムを使用して、キーの導出方法を確認します。時間を制限することで時間を制限することができますが、ユーザーのデバイスの時間が正確でなければならないという要件を追加します。 –

関連する問題