この奇妙な問題があります。Xcode から (デバイス上でも) アプリケーションを実行すると、クラッシュすることなく正常に動作します。しかし、Xcode を使用せずにデバイスで実行すると、viewController の 1 つから戻るとクラッシュします。ログを使用できないため、クラッシュの理由を取得できません。誰かがこれを経験したことがありますか?
4 に答える
ストーリーボードに MKMapView を追加した後、最近これを経験しました。デバイスが Xcode に接続されているときは完全に動作しましたが、コンピューターに接続せずに実行するとクラッシュしました。
私が犯した間違いは、組み込みフレームワークをチェックしていませんでした..アプリは、MapKit フレームワークをインポートせずに MKMapView を読み込もうとしていました。
ただし、これを診断する最善の方法は、使用しているデバイスでクラッシュ ログを確認することです。これにより、原因をよりよく理解できます。
ログを使用できないため、クラッシュの理由を取得できません。
Xcode オーガナイザー ウィンドウを開くと、各デバイスの「デバイス ログ」というセクションがあります。アプリケーションがクラッシュするたびに、クラッシュ ログが生成されます。コンソールを見ると、ログに記録したものもすべて表示されますNSLog
。
何が起こるかを確認する解決策は、このアプリをダウンロードしてログ/警告を確認することです。または、オーガナイザーを開いて、デバイスのコンソールを表示します。
UI 要素またはその他のインスタンスのいずれかが自動解放されると、「セグメンテーション違反」が発生することがあります。ゾンビが割り当て/解放を監視できるようにすることができます。「Instruments」(「Allocation」テンプレート) ツールを使用して、オブジェクトの割り当て/割り当て解除/保持/解放を確認することもできます。これにより、割り当て時点でのバックトレースが得られます。
UI 要素のインスタンスが保持されない可能性はかなりあります。
デバイスのログも投稿していただけると助かります。