禁用 CloudKit 调试日志

Posted

技术标签:

【中文标题】禁用 CloudKit 调试日志【英文标题】:Disable CloudKit debugging logs 【发布时间】:2019-11-19 16:10:22 【问题描述】:

我在我的 ios 应用程序中使用NSPersistentCloudKitContainer 作为数据库。默认情况下,它似乎将所有事件记录到控制台,我假设是出于调试目的。这些消息如下所示:

CoreData: CloudKit: CoreData+CloudKit: -[PFCloudKitExportContext processAnalyzedHistoryInStore:inManagedObjectContext:error:]_block_invoke_4(201): Finished processing analyzed history with 1 metadata objects to create, 0 deleted rows without metadata.
CoreData: CloudKit: CoreData+CloudKit: -[PFCloudKitExporter exportIfNecessary]_block_invoke_2(137): <PFCloudKitExporter: 0x282a785f0>: Found 2 objects needing export.
CoreData: warning: CoreData+CloudKit: -[PFCloudKitExporter exportOperationFinished:withSavedRecords:deletedRecordIDs:operationError:](384): Modify records finished: (
    etc...

它们是恒定的,并且会妨碍其他调试消息,有什么方法可以禁用它们吗?

【问题讨论】:

【参考方案1】:

我使用这两个参数来减少输出(启动时传递的参数):

禁用CoreData调试输出:

-com.apple.CoreData.Logging.stderr 0

禁用 CloudKit 调试输出

-com.apple.CoreData.CloudKitDebug 0

产品 > 方案 > 编辑方案

【讨论】:

通过这些设置,您仍然可以在控制台中看到一些重要的 CloudKit 日志条目。只需搜索 CK 或您的应用程序 ID。我将这些与 -com.apple.CoreData.ConcurrencyDebug 1 一起使用

以上是关于禁用 CloudKit 调试日志的主要内容,如果未能解决你的问题,请参考以下文章

CloudKit Dashboard 显示推送日志,但是收不到,为啥?

如何找出 CloudKit 订阅何时被删除?

将 NSAttributedString 添加到 CloudKit

Cloudkit 生产记录消失

CloudKit iOS我如何设置世界写入权限

在 CloudKit 仪表板中访问来自不同 AppleID 的记录