CoreDataを使用しているiOS/macOSプロジェクトで作業しています。正常に動作しますが、大量のデバッグ情報をコンソールに出力します。これにより、コンソールが使用できなくなります。これは、私の印刷ステートメントがすべてのCoreData関連のものに埋め込まれているためです。
私はいくつかのデータをフェッチする非常に単純なCoreDataセットアップを持っているので、これらはエラーではなく、一般的なイベントログだけのようです。 CoreDataを使用した他のプロジェクトでも同じ結果が得られます。
このログをコンソールに減らす/削除する方法はありますか?
いくつかのサンプルデータ( ここにすべてのデータ ):
CoreData: warning: CoreData+CloudKit: -[NSCloudKitMirroringDelegate _
performExportWithRequest:]_block_invoke_2(946): Finished export: <PFCloudKitExporter: 0x2838bd840>
CoreData: CloudKit: CoreData+CloudKit: -[NSCloudKitMirroringDelegate _finishedRequest:withResult:](2102): Finished request: <NSCloudKitMirroringExportRequest: 0x2823bbb40> DC26CDEE-0AB6-42CD-81E5-996E7E7727F9 with result: <NSCloudKitMirroringResult: 0x282dfcfa0> success: 1 madeChanges: 0 error: (null)
CoreData: CloudKit: CoreData+CloudKit: -[NSCloudKitMirroringDelegate _scheduleAutomatedExportWithLabel:activity:completionHandler:]_block_invoke(2170): <NSCloudKitMirroringDelegate: 0x281ae4580> - Finished automatic export - AppActivationExport - with result: <NSCloudKitMirroringResult: 0x282dfcfa0> success: 1 madeChanges: 0 error: (null)
CoreData: warning: CoreData+CloudKit: -[NSCloudKitMirroringDelegate finishedAutomatedRequestWithResult:](2115): Finished request '<NSCloudKitMirroringExportRequest: 0x2823bbb40> DC26CDEE-0AB6-42CD-81E5-996E7E7727F9' with result: <NSCloudKitMirroringResult: 0x282dfcfa0> success: 1 madeChanges: 0 error: (null)
CoreData: CloudKit: CoreData+CloudKit: -[NSCloudKitMirroringDelegate checkAndExecuteNextRequest](2073): <NSCloudKitMirroringDelegate: 0x281ae4580>: Checking for pending requests.
CoreData: CloudKit: CoreData+CloudKit: -[NSCloudKitMirroringDelegate checkAndExecuteNextRequest]_block_invoke(2088): <NSCloudKitMirroringDelegate: 0x281ae4580>: No more requests to execute.
CoreData: CloudKit: CoreData+CloudKit: -[NSCloudKitMirroringDelegate _scheduleAutomatedImportWithLabel:activity:completionHandler:](2140): <NSCloudKitMirroringDelegate: 0x281ae4580> - Beginning automated import - ImportActivity - in response to activity:
<CKSchedulerActivity: 0x280ec8f00; additionalXPCActivityCriteria={
Priority = Utility;
}
これらを起動引数として追加してみて、それが役立つかどうかを確認してください
-com.Apple.CoreData.SQLDebug 0
-com.Apple.CoreData.Logging.stderr 0
-com.Apple.CoreData.ConcurrencyDebug 0
-com.Apple.CoreData.MigrationDebug 0
EDIT1:これはApple docs:製品>スキーム>スキームの編集を選択します。実行などのアクションを選択し、引数タブを選択します。com.Apple.CoreData.CloudKitDebugユーザーのデフォルトを渡します。アプリケーションへの引数としてデバッグレベル値を使用して設定
-com.Apple.CoreData.CloudKitDebug 0
この最後の1つを起動引数として追加すると、希望どおりの結果が得られます。
AppleDocsへのリンク CloudKitを使用した Debug Errors in Core Data というセクションを確認してください
私も同じ問題を抱えていました。
これにより、CoreDataデバッグ出力が無効になります。
「起動時に渡される引数」:-com.Apple.CoreData.Logging.stderr 0
私のために働いた。
Xcodeで次の手順に従います。
-com.Apple.CoreData.SQLDebug
「起動時に渡される引数」。それが表示されたら、オフにします。表示されない場合は、以下を追加してください。
-com.Apple.CoreData.SQLDebug 1
値と説明:
From http://blog.raymccrae.scot/2017/12/core-data-sqldebug-log-levels.html から