0

アプリで非常に奇妙なことに気付きました。私のアプリはビデオと写真を記録します。カメラ ロールからビデオを削除しても、アプリで再生できます。アプリのビデオを削除すると、カメラロールに移動できますが、まだそこにあります。

アプリはビデオの別のコピーを保持しているようで、電話 OS は別のコピーを保持しています。

アプリで両方のコピーを削除する方法、または理想的にはカメラ ロールに表示されないアプリ固有のコピーのみを保存する方法はありますか?

ムービーを保存するために使用するパスは次のとおりです。

file://localhost/var/mobile/Applications/735E62F4-F5C4-49F5-A0BF-C34784F4B631/Documents/defaultFolder/1346579390.mov
4

2 に答える 2

4

ご質問には不明な点がいくつかあります。具体的には、動画や写真をどのように保存しているかが明確ではありません。一般的に保存がどのように行われるかを少し説明しますので、問題を見つけるのに役立つかもしれません.

まず、すべてのアプリにはデータを保存できる独自のサンドボックスがあり、どのアプリも別のアプリのサンドボックスにアクセスできません。一方、Apple では、すべてのアプリがフォト ライブラリにアクセスすることを許可していますが、フォト ライブラリからの読み取り、またはフォト ライブラリへのデータの書き込みの 2 つの方法でのみアクセスできます。フォト ライブラリで許可されていないのは、データの削除です。別の言い方をすれば、フォト ライブラリに何かを保存すると、アプリから削除することはできません。ユーザーは、フォト ライブラリに移動してそこから削除することで、自分で手動でこれを行う必要があります。

通常、フォト ライブラリへの保存は次のように行われます。

UIImageWriteToSavedPhotosAlbum(imageToSave, nil, nil, nil); //for image files
UISaveVideoAtPathToSavedPhotosAlbum(pathOfVideoToSave, nil, nil, nil); //for video files

したがって、コードにこれらの行がない場合、ファイルはフォト ライブラリに保存されません。アプリのサンドボックスにデータを保存するには、通常次を使用します。

[dataToSave writeToFile:fullPathToFile atomically:NO];

したがって、コードにこの行しかない場合、アプリのサンドボックスに画像とビデオのみが保存され、サンドボックスからそれらを削除すると、写真ライブラリには見つかりません。これがあなたにとって物事を明確にすることを願っています。

于 2012-09-02T11:47:32.483 に答える
1

撮影したビデオ/写真をどのように作成/保存しますか? 通常、すべてのビデオ/写真は電話の特定のディレクトリに保存されます-アプリのディレクトリとは異なります。では、保存するときは、どのように保存しますか? 実際のファイルのコピーをアプリ フォルダに作成しますか?それとも、映画のファイルへのリンクを電話に保存するだけですか?

私の場合、アプリは電話のカメラロールから独立しているため、常に写真/ビデオの個別のコピーがありました。

シミュレーターでは、Finder を使用してアプリ ディレクトリを直接調べて、ムービーを削除するとどうなるかを確認することもできます (実際にムービー ファイルが削除される場合)。

于 2012-09-02T10:10:57.957 に答える