Handle hidden dot files in iOS framework bundles (#99771)
This commit is contained in:
parent
bb1b2fd072
commit
47a5b18e14
@ -79,6 +79,26 @@ Future<void> main() async {
|
||||
);
|
||||
}
|
||||
|
||||
section('Build ephemeral host app when SDK is on external disk');
|
||||
|
||||
// Pretend the SDK was on an external drive with stray "._" files in the xcframework
|
||||
// and build again.
|
||||
Directory(path.join(
|
||||
projectDir.path,
|
||||
'.ios',
|
||||
'Flutter',
|
||||
'engine',
|
||||
'Flutter.xcframework',
|
||||
'._ios-arm64_x86_64-simulator',
|
||||
)).createSync(recursive: true);
|
||||
|
||||
await inDirectory(projectDir, () async {
|
||||
await flutter(
|
||||
'build',
|
||||
options: <String>['ios', '--no-codesign', '--simulator', '--debug'],
|
||||
);
|
||||
});
|
||||
|
||||
section('Clean build');
|
||||
|
||||
await inDirectory(projectDir, () async {
|
||||
|
@ -60,6 +60,7 @@ def flutter_additional_ios_build_settings(target)
|
||||
# Profile can't be derived from the CocoaPods build configuration. Use release framework (for linking only).
|
||||
configuration_engine_dir = build_configuration.type == :debug ? debug_framework_dir : release_framework_dir
|
||||
Dir.new(configuration_engine_dir).each_child do |xcframework_file|
|
||||
continue if xcframework_file.start_with?(".") # Hidden file, possibly on external disk.
|
||||
if xcframework_file.end_with?("-simulator") # ios-arm64_x86_64-simulator
|
||||
build_configuration.build_settings['FRAMEWORK_SEARCH_PATHS[sdk=iphonesimulator*]'] = "\"#{configuration_engine_dir}/#{xcframework_file}\" $(inherited)"
|
||||
elsif xcframework_file.start_with?("ios-") # ios-armv7_arm64
|
||||
|
Loading…
x
Reference in New Issue
Block a user