こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

App store プログラム配布時の添付ファイル

インターネットで色々調べたのですが、有益な情報を見つけきれなかったため、質問させていただきます。
現在、iOS用のアプリを開発しております。
そのアプリには、sqliteのDBと多数の画像ファイル(jpg,png)を使用しています。
xcodeのiOSシミュレータで動作確認したところ、上記ファイルは手動でアプリフォルダのdocumentsフォルダに入れて実行することが出来ました。
実機(iPad)にUSB経由でアプリを入れて実行しましたが、上記ファイルが無い為、実行できませんでした。
上記ファイルを添付ファイルとしてアプリと同時に配布する方法はありませんか。
アプリのライブラリに組み込んで配布することはできるようですが、ファイルの数が多い、また、sqliteのDB内にマスタテーブルをデフォルトで登録する必要が有るため、出来上がったDBを配布したいと考えております。
皆さんのお知恵をお借りしたいのですが・・・
よろしくお願いします。

投稿日時 - 2014-08-13 11:37:20

QNo.8715244

すぐに回答ほしいです

質問者が選んだベストアンサー

No.1です。

> 画像ファイルが大量なんで、アプリに登録するのが大変ですが、頑張りたいと思います。
> また、簡単に配布するとしたら、別にサーバを立ててダウンロードするしかないのでしょうか。

画像数があまりにも多くて手動登録が大変なら、
zipで1ファイルにまとめたものをバンドルリソースに登録し、
それをDocumenysフォルダに展開してから使用してもよいと
思います。

あるいは、SQLiteのデータベースの中にBLOBデータとして
画像を保存し、documentsフォルダに取り出してから使っても
よいと思います。

ちなみにバンドルリソース含めたアプリ全体のサイズ制限はなく、
1GBを超えるアプリもあるらしいです。
(参考)
http://okwave.jp/qa/q7501272.html

が、100MBを超えるアプリはWi-Fi接続時でないと
ダウンロードできない制限があります。
(昔は20MB制限でしたが、最新状況では100MB制限です)
http://japan.cnet.com/news/service/35037398/


別サーバーを立ててダウンロードする方が面倒な気がしますが、
いつ使うかわからない大量の画像全てを全ての端末に配布するよりは
必要に応じて必要な画像だけダウンロードする方がストレージを
無駄に消費しないので端末に優しいし、後から更新/追加できる
というメリットはあります。
一方、バンドルリソースに全部入れれば、一度ダウンロードしたら、
ネットがOFFでも飛行機内や山中等どこでも使えるというメリットも
ありますので、使用状況を考えて決めることだと思います。

投稿日時 - 2014-08-14 14:42:36

お礼

とてもわかり易い回答をいただき、助かりました。
zipで配布したほうが間違いなく簡単だと思います。
また、今後質問させていただくことがあると思いますので、その際はよろしくお願いします。

投稿日時 - 2014-08-19 11:26:11

このQ&Aは役に立ちましたか?

11人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

xcodeでCopy Bundle Resourcesに登録すれば、
アプリに内蔵されるリソースとして
アプリと一緒に配布されます。

以下が参考になると思います。
http://blog.shinji.asia/fmdb_sqlite_error/

バンドルリソースは
http://iphone-tora.sakura.ne.jp/nsbundle.html
の例文のような方法でファイルパスを取得して
アクセスできます。

ただ、バンドルリソースへの書き込みはできませんから
データベースファイルならdocumentsフォルダにコピーしてから
使用すればよいです。

jpegやpngの画像なら
http://www.objectivec-iphone.com/UIKit-settings/UIImage/UIImage.html
の「画像の作成1」または「画像の作成2」の
どちらの方法でも直接バンドルリソースから
画像ファイルを読み込めます。

投稿日時 - 2014-08-13 23:00:47

補足

おかげさまで何とかdbを使用することが出来ました。
画像ファイルが大量なんで、アプリに登録するのが大変ですが、頑張りたいと思います。
また、簡単に配布するとしたら、別にサーバを立ててダウンロードするしかないのでしょうか。

投稿日時 - 2014-08-14 13:29:26

お礼

とても早く回答をいただき助かりました。
簡単なプログラムを作成して確認できました。

投稿日時 - 2014-08-19 11:27:50

あなたにオススメの質問