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 <[email protected]> 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 ([email protected])
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 [email protected]