0

NSLogおよび複数のprintfステートメントを使用する単純な iPhone アプリがあります。このアプリは、iPhone (3GS) でのシリアル通信をテストするために作成した簡単なテスト アプリです。Run明らかに、iOS シミュレーターでシリアル通信をテストすることはできないため、 Xcode 内からクリックした後、デバイスをコンピューターから取り外します。Cydia から syslogd をインストールして、tail /var/log/syslog特定のログ メッセージを監視できるようにしました。

ただし、アプリを開いてコードの部分に到達するとNSLog、メッセージが表示されず、アプリのファイルにステートメント出力/var/log/syslogも表示されません。printfsyslog

これらのステートメントからの出力を含む iPhone 自体に存在するファイルはありますか、それとも出力先のアプリを指定する必要があります/var/log/syslogか?

ログメッセージの内容を含む別のファイルが電話に存在する場合は、それを開いて満足しています。基本的にsshed、電話中にログメッセージの内容を確認できるようにして、何が起こっているのかを確認できるようにしたいと考えています。また、電話がコンピューターに接続されていないため、明らかに Xcode でコンソール出力を使用することはできません。

4

2 に答える 2

1

を使用していtail /var/log/syslogますか? ログの最後の 15 行のみが表示されます。たぶん使ってみてくださいtail -f /var/log/syslog。私はそれをテストしたところ、私の単純なNSLog(@"LOL");ものがうまく記録されました。私はsshとすべてを介してそれを見ることができました。

于 2012-07-21T22:59:22.440 に答える
1

syslog関数を呼び出す必要があるsyslogに書き込みます。

NSLog の出力は、この SO questionに示されているように表示されます。

printf は stdout にのみ移動します。

同じアプリへのログインに NSLog と stdout を使用しないようにします。そこでのすべてのログには NSLog を使用します。または、 CocoaLumberjackのようなロギング フレームワークを使用すると、syslog を含む可能性のある他のロガーを含む柔軟性が向上し、実行時にさまざまな出力にリダイレクトできる 1 つのロギング機能が得られます。

于 2012-07-21T22:56:35.660 に答える