[解決済み] デバイスのデータをログに記録し、ログを取得する。
質問
Xcode のデバッグ ビルドで、シミュレータと実機のどちらを使用していても、NSLog、printf、fprintf assert および NSAssert ステートメントがコンソールに出力されます。
デバイス上でリリース ビルドを実行する場合 (たとえば、テスト フライト ビルドを送信し、それを iPhone でビッグアップします。これはリリース ビルドになります)、これらのうちどれが (もしあれば) 記録されるのでしょうか?
また、どのようにログを取得するのですか?
NSLogはリリースビルド時に実際に何かを出力するのでしょうか? 何が決め手なのでしょうか?stdoutに書いているのかstderrに書いているのか、デバイスログに書き込むのはstderrだけなのか。 fprintfを使わなければならないということでしょうか? デバイスログには何も書き込まれないのでしょうか? もしそうなら、どのようにそれを拾うのですか?
どなたか状況を明確にしていただけませんか?
どのように解決するのですか?
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *fileName =[NSString stringWithFormat:@"%@.log",[NSDate date]];
NSString *logFilePath = [documentsDirectory stringByAppendingPathComponent:fileName];
freopen([logFilePath cStringUsingEncoding:NSASCIIStringEncoding],"a+",stderr);
このコードのブロックを
application:didFinishLaunchingWithOptions
メソッドに追加するだけで、iPhone の app document ディレクトリにログファイルが作成され、すべてのコンソールログイベントが記録されます。すべてのコンソール イベントを確認するには、iTunes からこのファイルをインポートする必要があります。
注記: .plist ファイルで、以下の点を確認してください。
Application supports iTunes file sharing
が存在し、それが
YES
に設定することで、iTunesからアクセスできるようになります。
ログファイルを取得するには。 デバイスが接続された後、iTunes を起動し、Apps を選択し、アプリを選択します。その後、ディスクに保存することができます。
関連
-
XCode のコンパイル例外を解決する clang: error: linker command failed with exit code 1
-
[解決済み] アトミック属性と非アトミック属性の違いは何ですか?
-
[解決済み] 異なるログレベルを使用する場合
-
[解決済み] 作者と日付を含む git log からの最短出力
-
[解決済み] iOS Simulatorでネットワークを無効にすることは可能ですか?
-
[解決済み] UIDevice uniqueIdentifierは非推奨 - どうしたらいいの?
-
[解決済み] UIViewの左上と右上だけにcornerRadiusを設定する方法は?
-
[解決済み] UITextFieldの最大文字数を設定します。
-
[解決済み] Swift で HTTP リクエストを行うにはどうしたらいいですか?
-
[解決済み] Swiftのプロトコルでオプションのメソッドを定義するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
EXC_BAD_ACCESS (code=2, address=0x0)
-
[解決済み] iOSまたはmacOSで、インターネット接続が有効かどうかを確認するにはどうすればよいですか?
-
[解決済み] Objective-Cでデリゲートを作成するにはどうしたらいいですか?
-
[解決済み] フレームワークを使用したiOSアプリがデバイス上でクラッシュ、dyld: ライブラリがロードされない、Xcode 6 Beta
-
[解決済み] iOS 13 のフルスクリーンでモーダルを表示する
-
[解決済み] UIViewに角丸をつける
-
[解決済み] UINavigationBarの1px下の行を非表示にする方法
-
[解決済み] インポート vs #インポート - iOS 7
-
[解決済み] iOSとWatchKitで画像のtintColorを変更する方法
-
[解決済み] iOS 7でステータスバーとナビゲーションバーがビューの境界を越えて表示される