2017-06-01 3 views
1

私はちょうどコードを作成し始めているので、簡単なアプリケーションを構築する方法について、いくつかのSwiftチュートリアルを行っています。私はiPad 3を持っているので、私のアプリiOS 9と互換性を持たせたいと思っています。しかし、os.logステートメントのすべては、os.logステートメントの前にif #avaliableステートメントを追加するように指示するXcodeでエラーを生成します。 os.logには何がありますか?必要な場合は、if #avaliableステートメントを使用してiOS 9との互換性を確認すると問題はありますか?そうでない場合は、if #avaliableの声明文の後に、elseの声明にiOS 9が対応するコードは何ですか?ありがとう。 Apple's documentationからos.logとは何ですか?

+0

あなたは[ドキュメント](https://developer.apple.com/reference/os/logging)を読み取ることがありますか? – rmaddy

+0

@rmaddy、はい、私はドキュメントを読んで、それがロギング用だと分かりますが、何がログに記録されますか?基本的なエラー、アプリケーションの動作などiOS 9と同等のものは何ですか? –

+0

これはあなたが言うことをログに記録します:) - まだ柔軟ではありませんが、すべてのOSバージョンで利用可能な 'NSLog()'があります。 –

答えて

1

統合ログ機能がiOSの10.0以降で利用でき、MacOSの10.12以降 、tvOS 10.0以降、およびwatchOS 3.0以降、および ASLを優先し(Appleシステムロガー)とSyslog API。歴史的に、ログ メッセージは、ディスク上の特定の場所に書き込まれました( /etc/system.logなど)。統合ログシステムは、テキストベースのログファイルに書き込むのではなく、メモリ とデータストアにメッセージを格納します。

相当するiOS9はありません。非常に一般的なCocoaLumberjackのようなサードパーティのログツールを使用することができます。このログを使用する方法の具体的な例として

if #available(iOS 10.0, *) { 
    let bundleID:String = Bundle.main.bundleIdentifier ?? "unknown" 
    let oslog = OSLog(subsystem: bundleID, category: "Model") 
    os_log("%@", log: oslog, type: .info, message) 
} 
+0

これは基本的にアプリのクラッシュやそのようなことをデバッグするのですか? –

関連する問題