Use Xcode legacy build system for iOS builds (#21901)
Xcode 10 introduces a new build system which includes stricter checks on duplicate build outputs. When plugins are in use, there are two competing build actions that copy Flutter.framework into the build application Frameworks directory: 1. The Embed Frameworks build phase for the Runner project 2. The [CP] Embed Pods Frameworks build phase that pod install creates in the project. Item (1) is there to ensure the framework is copied into the built app in the case where there are no plugins (and therefore no CocoaPods integration in the Xcode project). Item (2) is there because Flutter's podspec declares Flutter.framework as a vended_framework, and CocoaPods automatically adds a copy step for each such vended_framework in the transitive closure of CocoaPods dependencies. As an immediate fix, we opt back into the build system used by Xcode 9 and earlier. Longer term, we need to update our templates and flutter_tools to correctly handle this situation. See: https://github.com/flutter/flutter/issues/20685
Showing
Please register or sign in to comment