flutter/packages/flutter_tools/lib/src/commands/build_ios.dart
Ian Hickson 798dfa2bc9 Fix analyzer warnings
Fix some legit uses of GlobalKey to specify the type they want.



Fix some sketchy uses of GlobalKey in tests to fake it with "as

dynamic".



Remove some extraneous imports that made the build red.
2016-04-06 14:14:34 -07:00

65 lines
1.9 KiB
Dart

// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'dart:async';
import '../application_package.dart';
import '../build_configuration.dart';
import '../globals.dart';
import '../ios/mac.dart';
import '../runner/flutter_command.dart';
class BuildIOSCommand extends FlutterCommand {
BuildIOSCommand() {
argParser.addFlag('simulator', help: 'Build for the iOS simulator instead of the device.');
argParser.addFlag('codesign', negatable: true, defaultsTo: true,
help: 'Codesign the application bundle (only available on device builds).');
}
@override
final String name = 'ios';
@override
final String description = 'Build an iOS application bundle (Mac OSX host only).';
@override
Future<int> runInProject() async {
if (getCurrentHostPlatform() != HostPlatform.mac) {
printError('Building for iOS is only supported on the Mac.');
return 1;
}
IOSApp app = applicationPackages.iOS;
if (app == null) {
printError('Application not configured for iOS');
return 1;
}
bool forSimulator = argResults['simulator'];
bool shouldCodesign = argResults['codesign'];
if (!forSimulator && !shouldCodesign) {
printStatus('Warning: Building for device with codesigning disabled.');
printStatus('You will have to manually codesign before deploying to device.');
}
String logTarget = forSimulator ? "simulator" : "device";
printStatus('Building the application for $logTarget.');
bool result = await buildIOSXcodeProject(app,
buildForDevice: !forSimulator, codesign: shouldCodesign);
if (!result) {
printError('Encountered error while building for $logTarget.');
return 1;
}
printStatus('Built in ios/.generated.');
return 0;
}
}