diff --git a/Sources/XcodeGenKit/ProjectWriter.swift b/Sources/XcodeGenKit/ProjectWriter.swift index 84ef2a59..9029f42e 100644 --- a/Sources/XcodeGenKit/ProjectWriter.swift +++ b/Sources/XcodeGenKit/ProjectWriter.swift @@ -43,6 +43,11 @@ public class ProjectWriter { private func writePlist(_ plist: [String: Any], path: String) throws { let path = project.basePath + path + if path.exists, let data: Data = try? path.read(), + let existingPlist = (try? PropertyListSerialization.propertyList(from: data, format: nil)) as? [String: Any], NSDictionary(dictionary: plist).isEqual(to: existingPlist) { + // file is the same + return + } let data = try PropertyListSerialization.data(fromPropertyList: plist, format: .xml, options: 0) try? path.delete() try path.parent().mkpath()