質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

535閲覧

iosの画像データ(大量の場合)はどのように扱ってるのでしょうか?(swiftの場合)

grapefruit

総合スコア33

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2018/01/05 02:53

iosアプリの画像データはどのように扱っているのでしょうか?
数枚の画像であれば、xcode内に入れればなんとかなりますが
何万枚の画像の場合、写真をサーバー常に置き、そこから取ってくるのか、
あるいはデータベースに保存して、そこから取得してくるのか、よくわかりません
教えてくださると助かります!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

AppStoreからモバイルネットワークでダウンロードできるアプリサイズの上限は150MBです。
アプリ提供者の多くはそれ以下に抑えようとしているのではないでしょうか。
また、ユーザが気軽にダウンロードできるように初期アプリサイズは10MB程度に抑えようとしているアプリ提供者もいるようです。

では、150MBを超えるデータを扱う場合はどうしたらよいかというと、いくつか考えられます。

  • 差分ダウンロードする

ゲームアプリなどはこの方法を良くとっていると思います。
アプリをインストール後に、リソースデータをダウンロードします。
リソースデータが更新されたらアプリの更新なしでリソースデータをダウンロードします。
地図アプリなどでは特定の都市の地図のみローカルにダウンロードするなどの方法がとられています。
この方法ではリソースデータのバージョンコントロールなどが必要です。
端末側が現在保存しているリソースファイルのバージョンを認識して、サーバに問い合わせてバージョンが更新されていたら差分ダウンロードする、などの方法がとられています。

リソースファイルの置き方はサーバに静的ファイルで置いた方が良いと考えます。
数百万人のユーザを扱うアプリですとデータ更新後のアクセス負荷が高くなります。
静的ファイルをCDNにキャッシュさせるなど負荷対策が必要です。

  • 最初からアプリに含める

アプリストアには4GBまでのアプリをアップロードできます。
150MBを超える場合はWifi経由でしかダウンロードできませんが、それでも落としたいという価値あるアプリであれば問題ないのではないでしょうか。
また、この場合、アプリ内のリソースデータが頻繁に変わるようでは都度審査をするのは面倒です。

  • 都度ダウンロードする。

再利用の可能性が低く、ローカルに保存する必要がないファイルは都度ダウンロードで良いのではないでしょうか。

以上、ご参考まで。

投稿2018/01/05 07:01

nakasho_dev

総合スコア2655

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問