         public var codeCoverageEnabled: Bool
         public var macroExpansion: BuildableReference?
         public var commandlineArguments: CommandLineArguments?
+        public var language: String?
+        public var region: String?
+
+        public enum AttachmentLifetime: String {
+            case keepAlways, keepNever
+        }
+        public var systemAttachmentLifetime: AttachmentLifetime?
+        public var userAttachmentLifetime: AttachmentLifetime?
 
         public init(buildConfiguration: String,
                     macroExpansion: BuildableReference?,

            if commandlineOptions.error == nil {
                self.commandlineArguments = try CommandLineArguments(element: commandlineOptions)
            }
        }
        fileprivate func xmlElement() -> AEXMLElement {
            let element = AEXMLElement(name: "LaunchAction",

                    selectedLauncherIdentifier: String = XCScheme.defaultLauncher,
                    shouldUseLaunchSchemeArgsEnv: Bool = true,
                    codeCoverageEnabled: Bool = false,
                    commandlineArguments: CommandLineArguments? = nil,
                    language: String? = nil,
                    region: String? = nil,
                    systemAttachmentLifetime: AttachmentLifetime? = nil,
                    userAttachmentLifetime: AttachmentLifetime? = nil) {
            self.buildConfiguration = buildConfiguration
            self.macroExpansion = macroExpansion
            self.testables = testables
