ユーザーがデータを保存できる永続データベースでコアデータを使用するアプリがあります。
アプリの最初のバージョンは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データベースに保存されているデータは期待どおりにそこに残ります。
派生データを削除したことが原因だと思いますが、それ以外は問題ありません。
この問題についてのさらなる議論を歓迎します。