diff --git a/Sources/FengNiaoKit/FengNiao.swift b/Sources/FengNiaoKit/FengNiao.swift index 178434d..c07adda 100644 --- a/Sources/FengNiaoKit/FengNiao.swift +++ b/Sources/FengNiaoKit/FengNiao.swift @@ -49,7 +49,7 @@ enum FileType { case .swift: return [SwiftImageSearchRule(extensions: extensions)] case .objc: return [ObjCImageSearchRule(extensions: extensions)] case .xib: return [XibImageSearchRule()] - case .plist: return [PlistImageSearchRule(extensions: extensions), PlistAppIconSearchRule(extensions: extensions)] + case .plist: return [PlistImageSearchRule(extensions: extensions)] case .pbxproj: return [PbxprojImageSearchRule(extensions: extensions)] } } diff --git a/Sources/FengNiaoKit/FileSearchRule.swift b/Sources/FengNiaoKit/FileSearchRule.swift index d75fa0d..fd2cfd5 100644 --- a/Sources/FengNiaoKit/FileSearchRule.swift +++ b/Sources/FengNiaoKit/FileSearchRule.swift @@ -25,7 +25,7 @@ import Foundation protocol FileSearchRule { - func search(in cotnent: String) -> Set + func search(in content: String) -> Set } protocol RegPatternSearchRule: FileSearchRule { @@ -82,46 +82,7 @@ struct XibImageSearchRule: RegPatternSearchRule { struct PlistImageSearchRule: RegPatternSearchRule { let extensions: [String] - let patterns = ["UIApplicationShortcutItemIconFile[^<]*(.*?)"] -} - -struct PlistAppIconSearchRule: FileSearchRule { - let extensions: [String] - - func search(in content: String) -> Set { - var result = Set() - - let groupRegexStr = "CFBundleIconFiles[^<]*([\\w\\W]*?)" - let groupRegex = try! NSRegularExpression(pattern: groupRegexStr, options: .caseInsensitive) - - let groupMatches = groupRegex.matches(in: content, options: [], range: content.fullRange) - var groupContents = [String]() - for checkingResult in groupMatches { - if let range = Range(checkingResult.range(at: 1), in: content) { - let extracted = String(content[range]) - groupContents.append(extracted) - } - } - - guard groupContents.count > 0 else { - return [] - } - - let itemRegexStr = "(.*?)" - let itemRegex = try! NSRegularExpression(pattern: itemRegexStr, options: .caseInsensitive) - for itemContent in groupContents { - let itemMatches = itemRegex.matches(in: itemContent, options: [], range: itemContent.fullRange) - - for checkingResult in itemMatches { - if let range = Range(checkingResult.range(at: 1), in: itemContent) { - let extracted = String(itemContent[range]) - result.insert(extracted.plainFileName(extensions: extensions)) - } - } - } - - return result - } + let patterns = ["(.*?)"] } struct PbxprojImageSearchRule: RegPatternSearchRule { diff --git a/Tests/FengNiaoKitTests/FengNiaoKitSpec.swift b/Tests/FengNiaoKitTests/FengNiaoKitSpec.swift index 99e3873..d512589 100644 --- a/Tests/FengNiaoKitTests/FengNiaoKitSpec.swift +++ b/Tests/FengNiaoKitTests/FengNiaoKitSpec.swift @@ -124,7 +124,7 @@ describe("FengNiaoKit") { } $0.it("plist alternate icon search rule applies") { - let searcher = PlistAppIconSearchRule(extensions: ["png"]) + let searcher = PlistImageSearchRule(extensions: ["png"]) let content = "CFBundleIcons\n\nCFBundleAlternateIcons\n\nChristmasIcon\n\nCFBundleIconFiles\n\nChristmasIcon_20pt\nChristmasIcon_29pt\nChristmasIcon_40pt\nChristmasIcon_60pt\nChristmasIcon_76pt\nChristmasIcon_83.5pt\nChristmasIcon_1024pt\n\nUIPrerenderedIcon\n\n\nNewYearIcon\n\nCFBundleIconFiles\n\nNewYearIcon_20pt\nNewYearIcon_29pt\nNewYearIcon_40pt\nNewYearIcon_60pt\nNewYearIcon_76pt\nNewYearIcon_83.5pt\nNewYearIcon_1024pt\n\nUIPrerenderedIcon\n\n\n\n" let result = searcher.search(in: content) @@ -242,7 +242,7 @@ describe("FengNiaoKit") { resourceExtensions: [], searchInFileExtensions: ["plist"]) let result = fengniao.allUsedStringNames() - let expected: Set = ["some_image"] + let expected: Set = ["some_image", "some_type", "Some Image"] try expect(result) == expected }