diff --git a/packages/flutter_tools/lib/src/commands/create.dart b/packages/flutter_tools/lib/src/commands/create.dart
index 1fbafc6..3f9f0cf 100644
--- a/packages/flutter_tools/lib/src/commands/create.dart
+++ b/packages/flutter_tools/lib/src/commands/create.dart
@@ -13,7 +13,7 @@
 import '../artifacts.dart';
 import '../base/globals.dart';
 import '../dart/pub.dart';
-import '../ios/initialize_xcode.dart';
+import '../ios/setup_xcodeproj.dart';
 
 class CreateCommand extends Command {
   final String name = 'create';
diff --git a/packages/flutter_tools/lib/src/commands/ios.dart b/packages/flutter_tools/lib/src/commands/ios.dart
index d70db12..1858e10 100644
--- a/packages/flutter_tools/lib/src/commands/ios.dart
+++ b/packages/flutter_tools/lib/src/commands/ios.dart
@@ -7,7 +7,7 @@
 
 import "../base/globals.dart";
 import "../runner/flutter_command.dart";
-import "../ios/initialize_xcode.dart";
+import '../ios/setup_xcodeproj.dart';
 
 class IOSCommand extends FlutterCommand {
   final String name = "ios";
@@ -25,7 +25,7 @@
     }
 
     if (argResults['init'])
-      return await initializeXcodeProjectHarness();
+      return await setupXcodeProjectHarness();
 
     printError("No flags specified.");
     return 1;
diff --git a/packages/flutter_tools/lib/src/ios/device_ios.dart b/packages/flutter_tools/lib/src/ios/device_ios.dart
index 65c8020..aa48762 100644
--- a/packages/flutter_tools/lib/src/ios/device_ios.dart
+++ b/packages/flutter_tools/lib/src/ios/device_ios.dart
@@ -17,7 +17,7 @@
 import '../device.dart';
 import '../services.dart';
 import '../toolchain.dart';
-import '../ios/initialize_xcode.dart';
+import '../ios/setup_xcodeproj.dart';
 import 'simulator.dart';
 
 const String _ideviceinstallerInstructions =
@@ -562,7 +562,7 @@
 Future<bool> _buildIOSXcodeProject(ApplicationPackage app, { bool buildForDevice }) async {
   if (!FileSystemEntity.isDirectorySync(app.localPath)) {
     printTrace('Path "${path.absolute(app.localPath)}" does not exist. Initializing the Xcode project.');
-    if ((await initializeXcodeProjectHarness()) != 0) {
+    if ((await setupXcodeProjectHarness()) != 0) {
       printError('Could not initialize the Xcode project.');
       return false;
     }
diff --git a/packages/flutter_tools/lib/src/ios/initialize_xcode.dart b/packages/flutter_tools/lib/src/ios/setup_xcodeproj.dart
similarity index 99%
rename from packages/flutter_tools/lib/src/ios/initialize_xcode.dart
rename to packages/flutter_tools/lib/src/ios/setup_xcodeproj.dart
index 9ad70a7..7698f63 100644
--- a/packages/flutter_tools/lib/src/ios/initialize_xcode.dart
+++ b/packages/flutter_tools/lib/src/ios/setup_xcodeproj.dart
@@ -124,7 +124,7 @@
   localsFile.writeAsStringSync(localsBuffer.toString());
 }
 
-Future<int> initializeXcodeProjectHarness() async {
+Future<int> setupXcodeProjectHarness() async {
   // Step 1: Fetch the archive from the cloud
   String iosFilesPath = path.join(Directory.current.path, 'ios');
   String xcodeprojPath = path.join(iosFilesPath, '.generated');
