         // add references to localised resources into base localisation variant groups
         for localisedDirectory in localisedDirectories {
             let localisationName = localisedDirectory.lastComponentWithoutExtension
-            for filePath in try localisedDirectory.children().sorted { $0.lastComponent < $1.lastComponent } {
+            for filePath in try localisedDirectory.children()
+                .filter(isNotExcludeFilePath(_:))
+                .sorted { $0.lastComponent < $1.lastComponent } {
                 // find base localisation variant group
                 // ex: Foo.strings will be added to Foo.strings or Foo.storyboard variant group
                 let variantGroup = baseLocalisationVariantGroups

        // create variant groups of the base localisation first
        var baseLocalisationVariantGroups: [PBXVariantGroup] = []

        if let baseLocalisedDirectory = baseLocalisedDirectory {
            for filePath in try baseLocalisedDirectory.children().sorted() {
                let variantGroup = getVariantGroup(path: filePath, inPath: path)
                groupChildren.append(variantGroup.reference)
                baseLocalisationVariantGroups.append(variantGroup.object)

    }

    private func getGroupSources(targetSource: TargetSource, path: Path, isBaseGroup: Bool)
        throws -> (sourceFiles: [SourceFile], groups: [ObjectReference<PBXGroup>])
    {

        let children = try getSourceChildren(targetSource: targetSource, dirPath: path)

