Commit 9a61b871 authored by xster's avatar xster Committed by GitHub

CocoaPods flow step 1 (#9687)

* Add cocoapods reason

* s/native/iOS
parent 48f2770e
...@@ -181,17 +181,17 @@ class IOSWorkflow extends DoctorValidator implements Workflow { ...@@ -181,17 +181,17 @@ class IOSWorkflow extends DoctorValidator implements Workflow {
brewStatus = ValidationType.partial; brewStatus = ValidationType.partial;
if (!hasCocoaPods) { if (!hasCocoaPods) {
messages.add(new ValidationMessage.error( messages.add(new ValidationMessage.error(
'CocoaPods not installed. To install:\n' 'CocoaPods not installed.\n'
' brew update\n' '$noCocoaPodsConsequence\n'
' brew install cocoapods\n' 'To install:\n'
' pod setup' '$cocoaPodsInstallInstructions'
)); ));
} else { } else {
messages.add(new ValidationMessage.error( messages.add(new ValidationMessage.error(
'CocoaPods out of date ($cocoaPodsMinimumVersion is required). To upgrade:\n' 'CocoaPods out of date ($cocoaPodsMinimumVersion is required).\n'
' brew update\n' '$noCocoaPodsConsequence\n'
' brew upgrade cocoapods\n' 'To upgrade:\n'
' pod setup' '$cocoaPodsUpgradeInstructions'
)); ));
} }
} }
......
...@@ -347,11 +347,32 @@ bool _checkXcodeVersion() { ...@@ -347,11 +347,32 @@ bool _checkXcodeVersion() {
return true; return true;
} }
final String noCocoaPodsConsequence = '''
CocoaPods is used to retrieve the iOS platform side's plugin code that responds to your
plugin usage on the Dart side.
Without resolving iOS dependencies with CocoaPods, plugins will not work on iOS.
For more info, see https://flutter.io/platform-plugins''';
final String cocoaPodsInstallInstructions = '''
brew update
brew install cocoapods
pod setup''';
final String cocoaPodsUpgradeInstructions = '''
brew update
brew upgrade cocoapods
pod setup''';
Future<Null> _runPodInstall(Directory bundle, String engineDirectory) async { Future<Null> _runPodInstall(Directory bundle, String engineDirectory) async {
if (fs.file(fs.path.join(bundle.path, 'Podfile')).existsSync()) { if (fs.file(fs.path.join(bundle.path, 'Podfile')).existsSync()) {
if (!doctor.iosWorkflow.cocoaPodsInstalledAndMeetsVersionCheck) { if (!doctor.iosWorkflow.cocoaPodsInstalledAndMeetsVersionCheck) {
final String minimumVersion = doctor.iosWorkflow.cocoaPodsMinimumVersion; final String minimumVersion = doctor.iosWorkflow.cocoaPodsMinimumVersion;
printError('Warning: CocoaPods version $minimumVersion or greater not installed. Skipping pod install.'); printError(
'Warning: CocoaPods version $minimumVersion or greater not installed. Skipping pod install.\n'
'$noCocoaPodsConsequence\n'
'To install:\n'
'$cocoaPodsInstallInstructions\n'
);
return; return;
} }
try { try {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment