0

App Store からダウンロードするとアプリがクラッシュしますが、Xcode から実行するとクラッシュしません。ちょっとした背景... ユーザーの連絡先にアクセスするアプリを開発しています。アプリはサーバーから電話番号をダウンロードし、その連絡先の名前をチェックします。アプリを10億回実行してクラッシュすることはありませんが、Apple Storeにアップロードするとクラッシュし、クラッシュログを見て連絡先の名前を確認中にクラッシュし、メソッドABCMultiValueCopyValueAtIndexで、できませんXcode でそれを複製し、アプリをアンインストールしようとしましたが、クラッシュすることはありません! それは間違いなく同じコードです。

つまり、アプリが電話に「新しく」インストールされていると何かが異なりますが、その「新しい」状態を複製することはできません。

どうすればそれができますか?アプリに連絡先へのアクセスを許可するかどうかを尋ねられることはありません...

4

3 に答える 3

0

キーチェーンを使用して何かを保存している場合、アプリを削除してもそれらのエントリは消去されません。バンドル ID (プッシュ通知など) に何も関連付けられていない場合は、バンドル ID を別のものに変更して、新しいアプリとして実行できます。

明らかに、問題を解決したら元に戻す必要があります

于 2013-01-04T13:01:02.390 に答える
0

新規インストールをシミュレートする方法は?

このためには、デバイスからアプリを削除してから、もう一度実行するだけです。「新しく」インストールされます。また、ゼロから構築するために、プロジェクトをきれいにすることを忘れないでください。

いずれにせよ、問題は、テスト対象の iOS バージョンとは異なるデバイス上の iOS バージョンに起因する可能性が高くなります。への呼び出しの周りにコードを提供するとABCMultiValueCopyValueAtIndex、物事を理解するのに役立ちます。

于 2013-01-04T12:53:58.890 に答える
0

唯一の安全な方法 = デバイスを工場出荷時の設定にリセットします。

ただし、通常は、アプリケーションをアンインストールしてデバイスを再起動するだけで十分です。プッシュ通知について言えば、アンインストール後、削除されるまでに 3 日かかります。キーチェーンのリセットは難しい場合があります。アプリ内から行うのが最適です。

また、通常は、データを保存するファイル/キーチェーン エントリ (など) の名前を変更するだけで同じ動作をシミュレートできるため、アプリの再起動時にデータが読み込まれないことに注意してください。

于 2013-01-04T12:57:59.103 に答える