0

iOS での写真のキャプチャのしくみについてもっと知りたいと思っています。アプリケーションを使用して写真を撮る場合、画像はアプリケーションによってのみ処理され、カメラロールや一時ファイルなどの他の場所に保存されないようにしたいと考えています。理想的には、写真が撮影され、アプリケーションが実装できるようにする暗号化などを使用して、写真が機密に保管されるようにします (シナリオとしての機密文書の「スキャン」)。

このシナリオでのセキュリティ上の考慮事項は何ですか。ユーザーは、システム カメラ アプリケーションを使用せず、アプリ経由で「スキャン」機能のみを使用するようにトレーニングされます。パブリック API を使用すると、一時ファイルや自動画像が自分の制御の及ばない場所に保存されることはありますか? また、それらをどのように処理できますか? これはドキュメントで明確に指定されていません。完全に理解していないと、セキュリティ/プライバシーの漏洩が発生する可能性があります.

画像をSQLite dbに保存する方法はわかりましたが、他のファイル システム アーティファクトは残っていますか?

4

2 に答える 2

0

それらが写真の場合、最終結果としてそれらの写真のNSDataを取得できます。次に、写真のデータをアプリケーション内のディレクトリに保存できます。

その種のデータ/ファイルをApplication Support Directory に保存するのに最適な場所です。

NSString *appSupportDir = [NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES) lastObject];
NSString *photoPath = [appSupportDir stringByAppendingPathComponent:@"photo1.png"];

UIImage *image; //image you got from the camera inside your app

NSData *photoData = UIImagePNGRepresentation(image);
[photoData writeToFile:photoPath atomically:YES];
于 2013-05-10T02:37:49.933 に答える
0

文書化されていません。Apple の開発者以外の誰も、その写真で撮影された写真UIImagePickerControllerがファイルシステムのどこかに一時ファイルが作成されるかどうかを確実に知りません。

とりあえず一時ファイルの可能性は無視して、写真はフォトライブラリにもカメラロールにも一切保存されません。UIImagePickerControllerデリゲート メソッドに送信された画像をどうするかは、アプリ次第です。

一時ファイルがどこかに保存されている場合、それにアクセスできる唯一の方法は、ジェイルブレイクされたデバイスを使用することです。一時ファイルが一定期間存在しないことを 100% 確実にする必要がある場合は、ジェイルブレイクされたデバイスが必要になり、アプリがイメージ ピッカーを使用するときにファイル システムをスキャンする必要があります。

于 2013-05-10T03:03:23.017 に答える