2016-12-15 69 views
0

このアプリは動的なフレームワークとしてビルドされたC++ライブラリを使用しています。私は、iOS 10.x上で実行されているアプリケーションのデバイスコンソール(xcodeデバッグコンソールではなく、デプロイされたアプリケーションのログを表示するコンソール)で、フレームワークからログを見ることができません。 iOS 9.xで動作する同じアプリのログを見ることができました。ダイナミックフレームワークで使用されるNSLogsによって印刷されたログを表示するにはどうすればいいですか?

実行時にNSLogをマクロを使用してカスタムロガーに置き換えようとしました。アプリケーションコードで動作しますが、ライブラリフレームワーク内のコードでは機能しません。ライブラリコードを変更せずに外部フレームワークでも動作するマクロを使ってNSLogを置き換える方法はありますか?

NSLogを置き換えるためにライブラリコードを絶対に変更する必要があった場合は、置き換えてください。デバイスコンソールに展開されたアプリケーションが表示されるようにしてください。

答えて

0

ライブラリコードを変更せずに外部の フレームワークでも動作するマクロを使用してNSLogを置き換える方法はありますか?

既にコンパイルされているため、これを行う方法が見つかりませんでした。

私は絶対にNSLogsを交換するためのライブラリのコードを変更しなければならないとしたら、それは 展開アプリケーションのためのデバイスのコンソール上に表示させ は、私は、とそれをどのように置き換える必要がありますか? OS_LOG_DEFAULTを使用

if ([[[UIDevice currentDevice] systemVersion] compare:10.0 options:NSNumericSearch] != NSOrderedAscending) { 
    os_log(OS_LOG_DEFAULT, formattedMsg); 
} else { 
    NSLog(@"%s", formattedMsg); 
} 

は、システムログと同じログの可視性を作りました。お役に立てれば。

0

私はBugfenderという製品の共同設立者です。私たちは、NSLogを置き換える機能を提供するSDKを提供し、サーバーにログを送信します。

このSDKの動的フレームワークバージョンがあり、ライブラリに統合してログを取得することができます。

私たちのSDKは、開発中またはアプリケーションが店舗にリリースされると動作します。

関連する問題