Well, I was afraid of that. 
Unfortunately, below is the smallest sample of code possible… still crashes. 
Looks like I may have to check the directory rights before even attempting to 
enumerate it.
Expected result in the present case is: “the while loop doesn’t run because the 
directory isn’t accessible to the current user”.


let directoryURL = URL(fileURLWithPath: "/.DocumentRevisions-V100/")
let manager              = FileManager.default

let keys = [URLResourceKey.nameKey, URLResourceKey.isDirectoryKey]

let enumerator = manager.enumerator(at: directoryURL, 
includingPropertiesForKeys: keys, options: [.skipsSubdirectoryDescendants])
{
        url, error -> Bool in
        return true
}

// this will
while let file = enumerator?.nextObject() as? URL
{
        // ...
}



> On 22 Oct 2016, at 20:32, Jens Alfke <j...@mooseyard.com> wrote:
> 
> Smells like an OS bug, or a bug in the ObjC-to-Swift bindings. Try to build a 
> minimal test to reproduce it, i.e. narrow down which of the URLResourceKeys 
> triggers the crash, and which specific file being returned by the enumerator. 
> Then see what if anything is unusual about that file. Then probably file a 
> bug report with Apple…
> 
> As for working around it, perhaps the resource key causing the crash is one 
> you don’t need and can omit? (It’s hard to imagine needing all of those 
> attributes…)
> 
> —Jens

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to