         if let settings = buildFile.settings {
             dictionary["settings"] = settings.plist()
         }
+        if let platformFilter = buildFile.platformFilter {
+            dictionary["platformFilter"] = .string(.init(platformFilter))
+        }
         let comment = try buildPhase.name().flatMap { "\(try buildFile.fileName() ?? "(null)") in \($0)" }
         return (key: CommentedString(reference, comment: comment),
                 value: .dictionary(dictionary))


    /// Element settings
    public var settings: [String: Any]?

    /// The cached build phase this build file belongs to
    weak var buildPhase: PBXBuildPhase?

        case fileRef
        case settings
        case productRef
        case platformFilter
    }

    public required init(from decoder: Decoder) throws {
