2017-02-13 3 views
-1

私はiPhoneのシミュレータと比較してiPhoneアプリをテストしました。私が初めてsqliteファイルを作成して追加したので、私はデータベースに構造的な変更を加えました。私が他のシミュレータへの変更をどのように更新するかを知る唯一の方法は、修正したバージョンを実際にアプリケーションディレクトリに貼り付けることです。XCode:アプリケーションがiOSデバイスにインストールされているときにsqliteファイルがコピーされる場所

これはシミュレータにとっては問題ありませんが、デバイスにプッシュするときにXCodeがsqliteファイルを取得する場所がわかりません。これはどこにあるので、私はファイルを置き換えることができますか?あるいは、Xcodeが新しいデバイスに使用するsqliteファイルを更新する別の方法がありますか? (私は既に私のプロジェクトに新しいバージョンをインポートしようとしました)。

更新:私のプロジェクトからSQLite DBの古いバージョンを削除し、新しいバージョンを追加しました。私はきれいにしました、再構築されましたが、iPhoneはまだ古いバージョンのデータベースを使用しています。 Here is the db file in the project navigator

+0

私が知っているとおり、挿入と更新を実行するだけです。それは自動的に(またはあなたがそれを閉じたときに)変更を保存します。 – Lumialxk

+0

データベースをアプリケーションのバンドルに含めると、ユーザーが新しいアプリケーションをインストールするとデータベースが自動的に組み込まれます。あなたはシミュレータのファイルシステムの周りをナビゲートすることでいじってはいけません:それは完全に不要です。新しいアプリを実行/インストールするだけです。唯一の問題は、アプリコードで行ったことです。 (たとえば、ユーザーがアプリケーションを実行するときに、更新用のSQLiteデータベースがあります。その時点で、バンドルからドキュメントにコピーして開きます)。SQLデータベースのオープン/作成方法を示す必要があります。また、あなたはコアデータを使用していませんか? – Rob

+0

@Rob「アプリケーションのバンドルにデータベースを含める」とは、プロジェクトにsqliteファイルを追加するということです。私も古い.sqlファイルを削除して新しいファイルを追加しましたが、テストデバイスに置いているバージョンは古いファイルです。 SQLite DBをアップデート用に更新すると、XCodeプロジェクトでどのように更新するのですか?私はテーブルに列を追加するために端末でsqlite3を使用しましたが、シミュレータのいずれかだけに変更を加える方法が不明なので、すべてのシミュレータとデバイスをテストしています。 – galactikuh

答えて

0

自分の質問に答える...自分のプロジェクトで正しいデータベースファイルを再読み込みしてから、携帯電話でそのアプリケーションを削除する必要がありました。その後、私は自分の携帯電話でアプリケーションを実行したときに、正しいデータベースで作業しました。

関連する問題