Tell me if there’s a better way, in the mean time, here’s a screen of the backtrace (nothing’s happening in thread 2).
The code is dead simple:
do {
logger.debug("Treating path \(p)")
var url = URL(fileURLWithPath: p)
let rv = try url.resourceValues(forKeys: [.ubiquitousItemIsExcludedFromSyncKey])
logger.info("Excluding \(p)")
var newRv = rv
newRv.ubiquitousItemIsExcludedFromSync = true
try url.setResourceValues(newRv) /* <- Hangs here */
} catch {
logger.error("Error treating path \(p): \(error)")
}
A possibly interesting note: it seems the ubiquitousItemIsExcludedFromSync value is never filled (it is nil after the resourceValues call)
Topic:
App & System Services
SubTopic:
General
Tags: