mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Use BUILD_LIBRARY_FOR_DISTRIBUTION build setting for generating add-to-app frameworks (#50536)
This commit is contained in:
parent
0a38f29c0d
commit
bfbb347682
@ -218,7 +218,7 @@ Future<void> main() async {
|
||||
);
|
||||
}
|
||||
|
||||
section("Check all modes' have plugin dylib");
|
||||
section('Check all modes have plugins');
|
||||
|
||||
for (final String mode in <String>['Debug', 'Profile', 'Release']) {
|
||||
final String pluginFrameworkPath = path.join(
|
||||
@ -238,6 +238,17 @@ Future<void> main() async {
|
||||
'device_info.framework',
|
||||
'device_info',
|
||||
));
|
||||
|
||||
checkFileExists(path.join(
|
||||
outputPath,
|
||||
mode,
|
||||
'device_info.xcframework',
|
||||
'ios-armv7_arm64',
|
||||
'device_info.framework',
|
||||
'Headers',
|
||||
'DeviceInfoPlugin.h',
|
||||
));
|
||||
|
||||
final String simulatorFrameworkPath = path.join(
|
||||
outputPath,
|
||||
mode,
|
||||
@ -246,10 +257,23 @@ Future<void> main() async {
|
||||
'device_info.framework',
|
||||
'device_info',
|
||||
);
|
||||
|
||||
final String simulatorFrameworkHeaderPath = path.join(
|
||||
outputPath,
|
||||
mode,
|
||||
'device_info.xcframework',
|
||||
'ios-x86_64-simulator',
|
||||
'device_info.framework',
|
||||
'Headers',
|
||||
'DeviceInfoPlugin.h',
|
||||
);
|
||||
|
||||
if (mode == 'Debug') {
|
||||
checkFileExists(simulatorFrameworkPath);
|
||||
checkFileExists(simulatorFrameworkHeaderPath);
|
||||
} else {
|
||||
checkFileNotExists(simulatorFrameworkPath);
|
||||
checkFileNotExists(simulatorFrameworkHeaderPath);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -475,7 +475,8 @@ end
|
||||
'-destination generic/platform=iOS',
|
||||
'SYMROOT=${iPhoneBuildOutput.path}',
|
||||
'BITCODE_GENERATION_MODE=$bitcodeGenerationMode',
|
||||
'ONLY_ACTIVE_ARCH=NO' // No device targeted, so build all valid architectures.
|
||||
'ONLY_ACTIVE_ARCH=NO', // No device targeted, so build all valid architectures.
|
||||
'BUILD_LIBRARY_FOR_DISTRIBUTION=YES',
|
||||
];
|
||||
|
||||
RunResult buildPluginsResult = await processUtils.run(
|
||||
@ -500,8 +501,8 @@ end
|
||||
'-destination generic/platform=iOS',
|
||||
'SYMROOT=${simulatorBuildOutput.path}',
|
||||
'ARCHS=x86_64',
|
||||
'ONLY_ACTIVE_ARCH=NO'
|
||||
// No device targeted, so build all valid architectures.
|
||||
'ONLY_ACTIVE_ARCH=NO', // No device targeted, so build all valid architectures.
|
||||
'BUILD_LIBRARY_FOR_DISTRIBUTION=YES',
|
||||
];
|
||||
|
||||
buildPluginsResult = await processUtils.run(
|
||||
|
||||
@ -10,17 +10,5 @@ target 'Runner' do
|
||||
install_flutter_plugin_pods flutter_application_path
|
||||
end
|
||||
|
||||
post_install do |installer|
|
||||
installer.pods_project.targets.each do |target|
|
||||
# Aggregate targets do not have a headers build phase.
|
||||
if target.respond_to?('headers_build_phase')
|
||||
target.headers_build_phase.files.each do |file|
|
||||
# Make headers public so they can be imported by the host application.
|
||||
file.settings = { 'ATTRIBUTES' => ['Public'] }
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# Prevent Cocoapods from embedding a second Flutter framework and causing an error with the new Xcode build system.
|
||||
install! 'cocoapods', :disable_input_output_paths => true
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user