いくつかのバグを修正するためにAppleStoreのアップデートをリリースしました。iOS - NSUserDefaultをデバッグするためのアドバイスがアップデート中にクラッシュする
アプリをアップデートした後にアプリを起動すると、多くのユーザーがクラッシュします。
アプリをアンインストールしてもう一度ダウンロードすると、問題なく動作します。
いくつかのクラッシュレポートとCrashlyticsダッシュボードを分析した後、私たちのアプリケーションの1つの特定のライブラリがNSUserDefaultの「最初の起動日」をチェック/設定しているという結論に達しました。
これに加えて、すべてをアンインストール/インストールした後にうまくいきますが、NSUserDefaultの問題が原因であると推測しました。
私は私の心に来たいくつかの質問があり、私は急いで私は何をすべきか分からない。
私はそれを修正するために何ができますか?
私は2つの更新の間に開発中にNSUserDefaultを操作しませんでした。
これらの更新の間に発生する可能性のある状態と変更を比較するために、データベースの「差分」を作成できますか?
データベースをリセットする必要がありますか?
最初のインストール後にクラッシュを実験したユーザーの大多数が、実際のアップデート状況を表すものではありませんが、テスト担当者全員がアップデートを検証したため問題はありませんでした。すべて。
私の頭に浮かんだ解決策は、以前のバージョンのストアから新しいアップデートをリリースすることですが、この「ロールバック」中にNSUserDefaultがアプリケーションをクラッシュさせないようにするにはどうすればよいでしょうか。 問題がデータベースの状態から来たものか、またはゼロ の値であるかどうかを意味します。図書館は2歳で、もう更新されませんが、 はこのライブラリのクラッシュを経験しませんでした。
私は物事を完了して清掃するために任意のアドバイス/情報を受け取ります。
コードを管理するためのGitなどがありますか?デバイスからアプリケーションを削除し、ブランチ/コミットをチェックアウトし、リリースされたバージョンに戻り、デバイスにインストールし、最後に更新されたものに戻って、デバッガでもう一度起動します。私はそれをより素早く再現するために複製する必要があることをお勧めします(前のバージョンのもの、前のバージョンのもの)。 – Larme
私は同じ問題に直面しました。問題は、 'NSUserDefaults'にカスタムオブジェクトを格納するために私のコードで使った' RMMapper'という名前のライブラリが1つあったことです。クラッシュはブールで無価値なものだったからだ。 –
私はipaファイルで行うことができます。私たちはJenkinsとGitを使用します。 – Balanced