2016-11-28 1 views
0

特定の種類のリモート通知に応じてアプリケーションをコールドスタートしたときにのみ発生するバグが発生しました。デバッガが接続されていないiOSデバイスログをテールする方法は?

バグを忠実に再現するために、私は通知を受け取るために実際のデバイスにいなければなりません。また、コールドスタート時に発生するため、プロセスにデバッガを接続することはできません。

私はコンソールログに(好ましくはリアルタイムで)アクセスすることは考えられますか?

私はこの解決策を試しました:https://github.com/benvium/libimobiledevice-macosx しかし、MacOSの最新バージョンでは動作しません。私はXcodeの「デバイス」ウィンドウを使用することができます知っているが、ノイズのトンがそこにあり、私は私の知る限りリアルタイムで

それをフィルタリングすることができません (私はエラー usbmuxd_send: Error -1 when sending: Broken pipe×2を取得)

PS-

おかげで

+0

過去に採用した2つのアプローチには以下のものがあります:1.アプリケーションのDocumentsフォルダにあるテキストファイルにメッセージを記録します(Xcodeの[Devices]ウィンドウの[Download Container] 。ダウンロードプロセスを自動化したい場合は、CloudKitを使用することができます。 2.デバッグ時にのみ有効になっているメッセージのリストを確認できるようにするapp内にtableviewを追加します(時系列の逆順が便利です)。それらのどちらも素晴らしい解決策ではありませんが、どちらも、DevicesウィンドウのIMHOで見られるデバイスコンソールに注ぐよりも優れています。 – Rob

+0

@Rob。 Xcode 8.2では現在どこにダウンロードコンテナがありますか?私はどこのデバイスでもそれを見つけることができません。 P.S.あなたが制限を押すスウィフト/ iOS 10版を書くことにラウンドを持つことができれば素晴らしいだろう。 – Gruntcakes

+0

デバイスを選択してデバイス上のアプリを選択し、歯車アイコンをタップします。 – Rob

答えて

0

残念ながら、これを行うための最善の信頼できる方法は、Xcodeのデバイスウィンドウを使用し、出力をオフにし、バグを再現し、最終的にコピーして、別のファイルに出力全体を貼り付けることです。

別のファイルに入れた後は、grepや同様のツールを使用してフィルタリングすることができます。

これは完璧ではありませんが、毎回私のために動作します。非常に目立つロギングステートメントの設定も同様に役立ちます。

関連する問題