0

レコードの挿入、更新、削除に Sqlite を必要とする iPhone アプリを作成しました。アプリケーションは iPhone シミュレーターで正常に動作しています。

すべての機能が動作しています (レコードの挿入、更新、および削除)。しかし、iPhoneまたはiPadにインストールしたとき。それはいつもロックアップします、私はそれを検索しました、そして彼らは言いました、私はデータベースをにコピ​​ーする必要があります

アプリバンドルからのみデータベースを読み取ることができるため、ドキュメントフォルダー。App Delegate クラスに、データベースがドキュメント フォルダーに存在するかどうかを確認するコードがあります。

そうでない場合は、バンドルからデータベースをコピーします。iPhoneシミュレーターで試してみましたが、データベースが存在しない場合は実際にコピーされます。

アプリケーションは実際には iPhone シミュレーターで正常に動作し、エラーはまったくありません。

しかし、デバイスにインストールしたとき。レコードを挿入または更新するとロックアップします。しかし、DBからのレコードでテーブルビューを開いて削除すると、うまくいきます。

選択と削除がデバイスで機能しているのに、レコードを挿入または更新しようとするとロックアップするとき、私のアプリの問題は何だろうと思います。

4

1 に答える 1

0

試してみるべき手順 (いずれかが役立つことを願っています): 1) デバイスにアプリケーションをクリーン インストールします。- xCode でクリーン コマンドを実行します (メニュー - 製品 - クリーン、または cmd + shift + K) - デバイスでアプリケーションを削除します - デバイスでデバッグを実行します。

2) デバイスのドキュメント ディレクトリにデータベースを本当にコピーしているかどうかを確認します - デバイスを開きます (menu-window-devices または cmd + shift + 2)。接続されたデバイスを選択し、アプリケーションを見つけます (アプリケーションをダブルタップ -> アプリケーション ディレクトリのコンテンツが表示されます。このコンテンツを Mac にダウンロードして、詳細情報を取得することもできます)。

3) 必要なパスを持つ 1 つの DB を使用していることを確認します。4) データベース ファイルのサイズがゼロであるかどうかを確認します (場合によっては発生します)。

より良い回答を提供するために必要な詳細情報

于 2015-04-13T12:39:33.690 に答える