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

このQ&Aのポイント
  • iOSアプリの添付ファイル配布方法について質問です。
  • アプリに使用する画像ファイルとSQLiteデータベースをアプリと一緒に配布したいですが、方法がわかりません。
  • 開発したアプリに必要なファイルを添付して配布する方法を教えてください。
回答を見る
  • ベストアンサー

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

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

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

  • ベストアンサー
回答No.2

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でも飛行機内や山中等どこでも使えるというメリットも ありますので、使用状況を考えて決めることだと思います。

siotanpapa
質問者

お礼

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

その他の回答 (1)

回答No.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」の どちらの方法でも直接バンドルリソースから 画像ファイルを読み込めます。

siotanpapa
質問者

お礼

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

siotanpapa
質問者

補足

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

関連するQ&A

  • iOSシミュレーション上でIPAファイルを実行

    開発中のIPAファイルをiOSシミュレータ上で実行したいのですが、実行方法がわかりません。単純に、iOSシミュレータ上にIPAファイルをドラッグすると、「Download Failed Safari cannot download this file」とメッセージが出て、実行できません。 IPAファイルは、開発中のスマホアプリなので、Safariは関係ないのですが。。。 iOSシミュレータでIPAを実行する方法を、教えて下さい! Xcodeのバージョンは、4.6.3です。

  • MacアプリをApp Store以外で配布したい

    Xcodeを使ってMac OS 用のアプリケーションを作りました。 Sierra より前は環境設定を変更すれば確認済みの開発元でなくても実行できましたが、現在はそういった実行許可の設定が取り除かれています。 Apple Developer Program には加入していないので .app ファイルを書き出そうとして Xcode の「Product→Archive」メニューを開いても Export ボタンは無効になっていて、「Distribution requires enrollment in the Apple Developer Program」というメッセージが出ています。 無料アカウントは持っているので TARGETS の Signing の箇所は「自分の名前(Personal Team)」となっています。 有料会員でなければ「確認済みの開発元」として自分のサイトでアプリケーションを配布することはできないのでしょうか?

  • iPadアプリ開発での実機動作への環境

    現在、iMac (OS:X Lion ver 10.7.5)の端末で、Xcodeを使って実機で動かそうとしているのですがXcode実行モードをデバイスにし、Runしようとしたところ、以下のエラー表示されました [Xcode cannot run using the selected device.] 一方Simulator(5.1)は問題なく表示していました *いま、使用しているXcodeは4.6.3です。 そこで、ネットでいろいろ原因を探しましたが、実機とiMacとでUSB接続のときに以下のメセージが表示されてました。(Organaize Devide) The version of iOS on “iMac"17 の iPad” does not match any of the versions of iOS supported for development with this installation of the iOS SDK. Please restore the device to a version of the OS listed below, or update to the latest version of the iOS SDK; which is available here. これはどういう意味を表しているのでしょうか。 このデバイスの問題を解決しない限り、実機での動作のための認証設定をやってもうまくいかないと考えてもよいでしょうか。 *すでにプロビジョンファイル等は行いましたが結果は上記とかわりませんでした。 また、いま使っている端末より上(2007以降?)で、かつXcodeが5でないといけないのでしょうか、実機にはiPadAirですでにiOS8.1までアップグレードしてあります。 ご指導のほどよろしくお願い致します。 ちなみにこちら参照しました。 iphoneアプリ開発環境のMacについて http://okwave.jp/qa/q7905167.html

    • 締切済み
    • Mac
  • Androidでデータベースファイルの保存場所は?

    Android実機でSQLiteを使ったプログラムを実行しました。 SQLiteのデータベースファイルはどのフォルダに保存されているのでしょうか? 削除したいのですが、場所が分かりません。

  • Xcodeで困っています。

    Xcode(Version 6.1.1 )のiOSシミュレーターで実機を選択し、ビルドすると以下のような表示が出て、実機でデバッグできなくなりました。昨日までできていました。原因かどうか分かりませんが、iOSを8.2にアップデートしてからできなくなりました。原因、対処法教えていただきたいと思い投稿しました。よろしくお願いします。 Xcode cannot run using the selected device. No provisioned iOS devices are available with a compatible iOS version. Connect an iOS device with a recent enough version of iOS to run your application or choose an iOS simulator as the destination.

  • iPad第一世代appストアが利用できません

    iPadが欲しいと言っていたら、中古パソコンショップで息子がバイト代をはたいて、X'masプレゼントしてくれました。 カメラの付いていない第一世代です。 家のパソコンはWindows7です。 iTunes をインストールしてapp ストアの登録をしました。 iCloudも登録しました。 iPadでapp ストアの、無料の囲碁アプリをダウンロードしたいのですが、どうしてもできずに行き詰まってしまいました。 どうかアドバイスをお願いいたします。 アプリは「碁game 」で検索してでてくる「日本棋院囲碁フリー」です。 「App をインストール」をタッチすると、Appleパスワードがすでに記入された窓が出てきます。 パスワードのところが空白で 記入するようになっています。 入力してOK を押すと「iOS アップデートが必要です。リクエストを実行するには最新バージョンのiOS が必要です」 と出て、先に進めません。パスワードは間違っていません。 次に、設定→ 一般→ ソフトウェアアップデート をすると、 「お使いのソフトウェアは最新です。iOS 5.1.1」と出ます このアプリは パソコンでは使えないのですが、試しに同じ作業をパソコンで してみました。 ちゃんとダウンロードできました。 どこにダウンロードされたのか よくわからないのですが、iCloudで共有?とかは、できないのでしょうか 拙い説明でもうしわけありません。 補足説明が 必要でしたら、つけくわえますので、よろしくお願いいたします スマホから投稿しているので、パソコンから読みにくかったらもうしわけありません。 息子はWindowsばかりでiPadはよくわかりません。 せっかくプレゼントしてくれたので、なんとか使えるようになりたいのです

    • ベストアンサー
    • Mac
  • xcodeでiphone実機テストができない

    iPhoneアプリを作る勉強をしています。 これまでWindowsばかりでMacも初心者ですが、 この度、実機テストをしようとして3日間ハマってしまいまして、 なんとかお知恵をお借りできたらと思いまして、投稿させていただきました。 なんでも結構ですので、アドバイスいただけましたら幸いです。 【現状の問題】 Xcode4.5(OS=mountain lion)でiPhoneアプリを開発しています。 実機をシミュレータとして選べるようにしたいので、 実機テストをするのに、organazer→devices→[add to portal]のボタンを押すと、 No value was provided for the parameter ‘appIdName’ when provisioning というエラーが出て、先に進めません。 iOS dev centerでのプロビジョニングの設定や、xcodeでのBundle identifier等の設定も 一通りいじったつもりです。 検索してもこれといった解決策を見つけることができませんでした。 iOS dev centerのdevice登録など消して、ローカルの証明書も全部消してやり直してみた のですが、やはり同じでした。 よろしくお願いしますm(_ _)m

  • iPhoneシミュレーター内で表示される不要なアプリを削除するには?

    iPhoneシミュレーター内で表示される不要なアプリを削除するには? xcodeでアプリの作成をしており、iPhoneシミュレーターで実行しているのですが、 アプリを作れば作るほどiPhoneシミュレーター画面に表示される過去のソフト (途中で中止したものも含め)が大量に表示され、ごちゃごちゃしてしまいます。 どうすれば不要なアプリをiPhoneシミュレーターから消す事ができるのでしょうか? よろしくお願いします。

  • Xcodeの実機テストについて

    今回、どうしても行き詰ってしまったのでご質問させて頂きます。 アプリ開発がひと通り完成したので実機でテストしてAppleに申請をしようとしたのですが、 いくら証明書等を作成しても最終的にはビルド実行後に、 「Xcode cannot run using the selected device. No provisioned iOS devices are available with a compatible iOS version. Connect an iOS device with a recent enough version of iOS to run your application or choose an iOS simulator as the destination.」 と表示されます。 XcodeのOrganizerのDevaiceを開いた時、「use for development」というボタンがあると聞いたのですが、私の方ではボタンがありません。 一つ気になる点があるのですが、渡しがアプリ開発を始めた時、最初はDeveloperに年間登録せず無料でXcodeをインストールして、今日までアプリ開発をしてきたのですが、ここに問題があるのでしょうか? ご返答をお願い致します。

  • インストーラを使用しないプログラムの配布

    Visual Studio 2008、C#、Framework 3.5 で開発しています。 上記環境で作成したプログラムをインストーラを使用せずに 配布したいと考えているのですが その場合は導入先のPCに ・実行ファイル ・実行に必要な環境設定xml(ini)ファイル の他に 「.NET Compact Framework 3.5 再頒布可能パッケージ」がインストールされていれば 問題なく動くものなのでしょうか?

専門家に質問してみよう