Xcode中关于iOS中fenceExemptQueue的奇怪警告

He *_*何一非 14 ios

当我的应用程序进入后台(之后applicationDidEnterBackground)时,会出现以下警告.

2015-12-11 20:54:43.661 AppName[759:124891]  *|synchronize-skip|* a fence was started inside of a snapshot block - skipping the workspace synchronize because it may dequeue messages from the fenceExemptQueue and snapshots expect that not to happen
2015-12-11 20:54:44.084 AppName[759:124891]  *|synchronize-skip|* a fence was started inside of a snapshot block - skipping the workspace synchronize because it may dequeue messages from the fenceExemptQueue and snapshots expect that not to happen
Run Code Online (Sandbox Code Playgroud)

我在谷歌上找不到任何关于它的信息,也不知道为什么会这样.

有谁知道这意味着什么?谢谢!

小智 1

我在 Swift 程序中收到了同样奇怪的错误消息,最后找出了我的代码出了什么问题。正确的代码是:

    override func viewDidLoad() {
    super.viewDidLoad()

    let fileMgr = NSFileManager.defaultManager()
    ubiquityURL = fileMgr.URLForUbiquityContainerIdentifier(nil)

    guard ubiquityURL != nil else {
        print("Dave: Unable to access iCloud account")
        return
    }
    ubiquityURL = ubiquityURL?.URLByAppendingPathComponent("Documents/savefile.txt")

    metaDataQuery = NSMetadataQuery()
    metaDataQuery?.predicate = NSPredicate(format: "%K like 'savefile.txt'", NSMetadataItemFSNameKey)
    metaDataQuery?.searchScopes = [NSMetadataQueryUbiquitousDocumentsScope]
    NSNotificationCenter.defaultCenter().addObserver(self, selector: "metadataQueryDidFinishGathering:", name: NSMetadataQueryDidFinishGatheringNotification, object: metaDataQuery!)
    metaDataQuery!.startQuery()
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,正确的格式是“%K like 'savefile.txt'”,但是如果您忘记了文件名周围的单引号,则会收到奇怪的运行时错误消息。如果文件名周围没有单引号,元数据查询将无法在 iCloud 上找到您的文件。