1

ユーザーがデータを保存できる永続データベースでコアデータを使用するアプリがあります。

アプリの最初のバージョンはiOS4.1を対象としていました

ユーザーエンドと開発者エンドの大規模な更新を行いました。ストーリーボードとARCを活用したかったので、このアプリはiOS5.1をターゲットにしています。それで、古いプロジェクトに行って物事を変え始める代わりに、私は新しいプロジェクトを最初から始めました。プロジェクトに同じbundleIDを指定し、バージョンとビルドを2.0(両方)に設定しました。ただし、xcodeプロジェクトの名前は異なります。

アプリは、シミュレーターとデバイスの両方で正常に動作します。ただし、更新プロセスが正常かどうかを確認するために、両方のデバイス(iPhoneとiPad)に古いバージョンをインストールしてから、バックグラウンドからアプリを強制終了し、xcodeから2.0バージョンを起動しました。

アプリはインストールされています(アイコンが更新されています)が、アプリは起動しません。ホーム画面でアプリをもう一度タップしようとしましたが、うまくいきません。それが機能する唯一の方法は、デバイスからアプリを削除して2.0バージョンをインストールすることです。問題は、sqliteデータベースがドキュメントから削除され、ユーザーが自分のデータを失うことです。

コンソールでの唯一のメッセージは次のとおりです。

error: failed to launch '/Users/marcal/Library/Developer/Xcode/DerivedData/pureNMR-ddeelrvexokmoocaqkbwswvyubhi/Build/Products/Debug-iphoneos/pureNMR.app/pureNMR' -- failed to send the qLaunchSuccess packet

この問題に直面したのは私だけではないと確信しています。ここで助けていただければ幸いです。

前もって感謝します!

更新

Xcodeの派生データを再度クリーンアップしました。次に、元のアプリ(v1.0)と一致しないアプリ名を確認しました。その際、XcodeはバンドルIDをアプリ名と一致するように変更したため、元のバンドルIDと一致するようにbundleIDを再度変更する方法を見つける必要がありました。そうしないと新しいアプリと見なされるため、これは重要です。

その後、デバイスにv1.0をインストールし、アプリを終了し、バックグラウンドから削除して、v2.0をインストールしました。

これで、コンソールから次のエラーが発生します。

error: failed to launch '/Users/marcal/Library/Developer/Xcode/DerivedData/pureNMR-ddeelrvexokmoocaqkbwswvyubhi/Build/Products/Debug-iphoneos/Pure NMR.app/Pure NMR' -- No such file or directory (/Users/marcal/Library/Developer/Xcode/DerivedData/pureNMR-ddeelrvexokmoocaqkbwswvyubhi/Build/Products/Debug-iphoneos/Pure NMR.app/Pure NMR)

アプリはすぐには起動しません(これはエラーが発生したときです)。ただし、重要なことは、デバイスでアプリをタップすると、アプリが完全に起動し、正常に動作することです。さらに良いことに、v1.0のsqliteデータベースに保存されているデータは期待どおりにそこに残ります。

派生データを削除したことが原因だと思いますが、それ以外は問題ありません。

この問題についてのさらなる議論を歓迎します。

4

1 に答える 1

0

Xcode とデバイスを再起動し、クリーンアップしてからビルドし、再試行してください。

于 2012-07-05T20:01:21.883 に答える