         // 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

         */

        let sourceExcludeFilePaths: Set<Path> = Set(
            getSourceExcludes(dirPath: rootSourcePath)
                + defaultExcludedFiles
        )

        return try dirPath.children()
            .filter {
                if $0.isDirectory {
                    let pathChildren = try $0.children()
                        .filter {
                            return !sourceExcludeFilePaths.contains($0)
                        }

                    return !pathChildren.isEmpty
                } else if $0.isFile {
                    return !sourceExcludeFilePaths.contains($0)
                } else {
                    return false
                }

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

        let sourceExcludeFilePaths: Set<Path> = Set(
            getSourceExcludes(targetSource: targetSource)
        )

        func isNotExcludeFilePath(_ path: Path) -> Bool {
            return !path.lastComponent.contains(".DS_Store")
                && !sourceExcludeFilePaths.contains(path)
        }

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