gitignore-style path list matching in Objective-C