アプリが何百ものオーディオファイルを必要とする場合(小さすぎる、5-25KBの場合)、アセットカタログやドキュメントディレクトリに置く方が良いでしょうか?私は両方のアプローチを試しましたが、それほど違わないように見えます。プロジェクトナビゲータで何百ものファイルを管理するのは苦痛で、両方のアプリケーションファイルサイズが同じです。xcassetsまたはドキュメントディレクトリにiOSアプリのオーディオファイルアプリを保存しますか?
答えて
これまでのところ、オーディオファイルをアプリケーションバンドルに入れるか、アプリケーションバンドルのアセットカタログ部分に入れるかに影響するものが1つ見つかりました。
アセットカタログにオーディオファイルを置くと、オーディオファイルはデータとして使用できますが、URLはありません。私が今理解しているように、URLが必要な場合は、データを抽出してファイルを作成する必要があります。これは二重の作業です。
「単に」アプリケーションバンドルにオーディオファイルを置いたときに自動的に利用できるURLがあると、より多くのオプションが提供されます。 AVPlayerItemでAVQueuePlayerを使うのと同じです。 AVPlayerItemはデータではなくURLのみを取ります。 AVAudioPlayerDelegateのコードを書き込む必要がありますが、AVQueuePlayerでは、AVPlayerItemの配列を提供するだけですが、アセットカタログから順番にオーディオファイルを再生したい場合は、AVAudioPlayerDelegateのコードを記述する必要があります。
私は参照するURLを持つ利点があるかもしれないと思うし、資産カタログがまだ持っている利点を見ていないので、私の意見は変更される可能性があります。
あなたのアプリケーションにオーディオファイルをバンドルしたいので、ドキュメントフォルダは使用できません。 Documentsフォルダの使用は、アプリがApp Storeからインストールされ、ユーザによって実行された後にのみ使用できるランタイム機能です。
ファイルをアプリケーションに含めてすぐに存在するようにするには、アプリケーションのリソースバンドルの一部である必要があります。アセットカタログを使用するか、単にバンドルに保存するかはあなた次第ですが、初めてアプリケーションを実行するまでドキュメントフォルダがないため、ドキュメントフォルダにパッケージ化することはできません。
私の間違いは、なんらかの理由で、オーディオファイルをプロジェクトナビゲータにコピーしたときに、ドキュメントディレクトリにファイルが作成されたと思いました。これはバンドルの一部です。バンドルとカタログには違いがありますか? – Steve
- 1. iOSアプリでドキュメントディレクトリは自動的に削除されますか?
- 2. epubをプログラムでダウンロードし、xcodeのドキュメントディレクトリに保存します
- 3. ドキュメントディレクトリからのファイルの保存と読み取りiOS 5
- 4. NSMutableArrayをiPhoneドキュメントディレクトリに保存する
- 5. NSMutableDictionaryをドキュメントディレクトリに保存する
- 6. ドキュメントディレクトリの配列にファイルを保存して検索するXcode iOS
- 7. WebViewからHTMLをドキュメントディレクトリの既存のファイルに保存する
- 8. iOSアプリがデータベースに音声メモを保存しています
- 9. 私はplistをドキュメントディレクトリに保存しました!今すぐ戻すことができません
- 10. PDFをダウンロードし、ドキュメントディレクトリに保存し、UIWebViewに読み込みます。
- 11. UIImagePickerController - Appsドキュメントディレクトリから写真を保存して取得します
- 12. ユーザーはiOSサンドボックス内のドキュメントディレクトリにアクセスできますか?
- 13. iPhoneアプリのドキュメントディレクトリ/ var/mobile/Documentsまたは/ var/mobile/Library/AppNameはありますか?
- 14. AVAudioFileをドキュメントディレクトリに保存する方法は?
- 15. iOSアプリにデータを保存します。マーマレード5.2を使用する
- 16. iOSベースのCMSアプリにデータを保存する方法は?
- 17. ドキュメントディレクトリから最新の保存されたイメージのみを読み込む方法はありますか?
- 18. iPhone IOSビデオファイルアップローダをドキュメントディレクトリ
- 19. iOSアプリが拒否されました:アプリはiOSデータ保存ガイドラインに準拠している必要があります。拒否される場合は
- 20. いつかエラーが発生しました。バンドルからiOSのドキュメントディレクトリにファイルをコピーします
- 21. WindowsのDynamicResourceはAppアプリを保存していますか?
- 22. WindowsのSystem.Environment置換はアプリを保存しますか?
- 23. データ保存のためにアプリが拒否されました
- 24. iOS:現在のUIImageViewからフォトアルバムに保存できませんでした - フォトアルバムに保存できません
- 25. Swift 2のドキュメントディレクトリ内のフォルダにファイルを保存できません。
- 26. アプリを閉じる前に値を保存しますか?
- 27. iPadのアプリの保存に制限はありますか?
- 28. iphoneオーディオファイルをドキュメントディレクトリに保存する方法
- 29. カメラロールにアプリ内動画を保存しますか?
- 30. アプリケーションからiOSにTiniFileを保存します
これらのファイルは、ユーザーが最初にアプリケーションをインストールしたときに配置されるように、アプリケーションに含めますか?また、ユーザーがアプリを最初に起動したときにアプリがダウンロードするファイルはありますか? – rmaddy
本当にあなたはドキュメントディレクトリを意味していますか?これは、最初にアプリケーションが起動されたときに作成された空の読み取り/書き込みディレクトリです。アセットカタログは読み取り専用で、コンテンツはアプリバンドルに保存されます。これらのサウンドファイルがアプリケーションに付属していれば、それらをバンドルからコピーして、ドキュメントディレクトリにコピーする必要があります。 –
@rmaddyの場合、ファイルはアプリケーションに含まれています。 – Steve