         dictionary["buildConfigurations"] = .array(buildConfigurations
             .map { .string(CommentedString($0, comment: proj.configName(from: $0)))
         })
-        dictionary["defaultConfigurationIsVisible"] = .string(CommentedString("\(defaultConfigurationIsVisible)"))
-        dictionary["defaultConfigurationName"] = .string(CommentedString(defaultConfigurationName))
+        if let defaultConfigurationIsVisible = defaultConfigurationIsVisible {
+            dictionary["defaultConfigurationIsVisible"] = .string(CommentedString("\(defaultConfigurationIsVisible)"))
+        }
+        if let defaultConfigurationName = defaultConfigurationName {
+            dictionary["defaultConfigurationName"] = .string(CommentedString(defaultConfigurationName))
+        }
         return (key: CommentedString(self.reference,
                                                  comment: plistComment(proj: proj)),
                 value: .dictionary(dictionary))

    ///   - defaultConfigurationIsVisible: default configuration is visible.
    public init(reference: String,
                buildConfigurations: [String],
                defaultConfigurationName: String,
                defaultConfigurationIsVisible: UInt = 0) {
        self.buildConfigurations = buildConfigurations
        self.defaultConfigurationName = defaultConfigurationName
        self.defaultConfigurationIsVisible = defaultConfigurationIsVisible

    public var buildConfigurations: [String]
    
    /// Element default configuration is visible.
    public var defaultConfigurationIsVisible: UInt?
    
    /// Element default configuration name
    public var defaultConfigurationName: String?
    
    // MARK: - Init
    
