From 8346a2e6103752ba20ee11e5c6d5778a47386b37 Mon Sep 17 00:00:00 2001 From: Morgan Pretty Date: Wed, 4 Oct 2023 09:31:08 +1100 Subject: [PATCH] Fixed an issue where string validation was failing on archive builds --- Scripts/LintLocalizableStrings.swift | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Scripts/LintLocalizableStrings.swift b/Scripts/LintLocalizableStrings.swift index 456c06fc5..56bfe186a 100755 --- a/Scripts/LintLocalizableStrings.swift +++ b/Scripts/LintLocalizableStrings.swift @@ -104,8 +104,19 @@ enum ScriptAction: String { guard let builtProductsPath: String = ProcessInfo.processInfo.environment["BUILT_PRODUCTS_DIR"], let productName: String = ProcessInfo.processInfo.environment["FULL_PRODUCT_NAME"], + let productPathInfo = try? URL(fileURLWithPath: "\(builtProductsPath)/\(productName)") + .resourceValues(forKeys: [.isSymbolicLinkKey, .isAliasFileKey]), + let finalProductUrl: URL = try? { () -> URL in + let possibleAliasUrl: URL = URL(fileURLWithPath: "\(builtProductsPath)/\(productName)") + + guard productPathInfo.isSymbolicLink == true || productPathInfo.isAliasFile == true else { + return possibleAliasUrl + } + + return try URL(resolvingAliasFileAt: possibleAliasUrl, options: URL.BookmarkResolutionOptions()) + }(), let enumerator: FileManager.DirectoryEnumerator = FileManager.default.enumerator( - at: URL(fileURLWithPath: "\(builtProductsPath)/\(productName)"), + at: finalProductUrl, includingPropertiesForKeys: [.isDirectoryKey], options: [.skipsHiddenFiles] ),