Reduce Xcode noise #3 (#14663)

* Revert "Revert "Reduce xcodebuild noise #2" (#14641)"

This reverts commit 2d47481f1e48d744bcbd7d4b33ab9cc5ef2de8e1.

* Stop scrapping xcodebuild output, get the right build settings

* clone the command params first
diff --git a/packages/flutter_tools/test/ios/mac_test.dart b/packages/flutter_tools/test/ios/mac_test.dart
index 987c737..7110f4e 100644
--- a/packages/flutter_tools/test/ios/mac_test.dart
+++ b/packages/flutter_tools/test/ios/mac_test.dart
@@ -5,7 +5,6 @@
 import 'dart:async';
 
 import 'package:file/file.dart';
-import 'package:flutter_tools/src/application_package.dart';
 import 'package:flutter_tools/src/base/file_system.dart';
 import 'package:flutter_tools/src/base/io.dart' show ProcessException, ProcessResult;
 import 'package:flutter_tools/src/ios/mac.dart';
@@ -243,15 +242,12 @@
   });
 
   group('Diagnose Xcode build failure', () {
-    BuildableIOSApp app;
+    Map<String, String> buildSettings;
 
     setUp(() {
-      app = new BuildableIOSApp(
-        projectBundleId: 'test.app',
-        buildSettings: <String, String>{
-          'For our purposes': 'a non-empty build settings map is valid',
-        },
-      );
+      buildSettings = <String, String>{
+        'PRODUCT_BUNDLE_IDENTIFIER': 'test.app',
+      };
     });
 
     testUsingContext('No provisioning profile shows message', () async {
@@ -313,13 +309,14 @@
 
 Error launching application on iPhone.''',
         xcodeBuildExecution: new XcodeBuildExecution(
-          <String>['xcrun', 'xcodebuild', 'blah'],
-          '/blah/blah',
-          buildForPhysicalDevice: true
+          buildCommands: <String>['xcrun', 'xcodebuild', 'blah'],
+          appDirectory: '/blah/blah',
+          buildForPhysicalDevice: true,
+          buildSettings: buildSettings,
         ),
       );
 
-      await diagnoseXcodeBuildFailure(buildResult, app);
+      await diagnoseXcodeBuildFailure(buildResult);
       expect(
         testLogger.errorText,
         contains('No Provisioning Profile was found for your project\'s Bundle Identifier or your device.'),
@@ -393,13 +390,14 @@
 
 Could not build the precompiled application for the device.''',
         xcodeBuildExecution: new XcodeBuildExecution(
-          <String>['xcrun', 'xcodebuild', 'blah'],
-          '/blah/blah',
-          buildForPhysicalDevice: true
+          buildCommands: <String>['xcrun', 'xcodebuild', 'blah'],
+          appDirectory: '/blah/blah',
+          buildForPhysicalDevice: true,
+          buildSettings: buildSettings,
         ),
       );
 
-      await diagnoseXcodeBuildFailure(buildResult, app);
+      await diagnoseXcodeBuildFailure(buildResult);
       expect(
         testLogger.errorText,
         contains('Building a deployable iOS app requires a selected Development Team with a Provisioning Profile'),