Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iOS engine artifacts Flutter.xcframework contains old architecture triples directories #85062

Closed
jmagman opened this issue Jun 22, 2021 · 4 comments · Fixed by #85075
Closed
Assignees
Labels
P0 Critical issues such as a build break or regression platform-ios iOS applications specifically tool Affects the "flutter" command-line tool. See also t: labels.

Comments

@jmagman
Copy link
Member

jmagman commented Jun 22, 2021

As of #85052 the Flutter engine iOS artifacts contain iOS ARM simulator binaries, and the Flutter.xcframework should only contain a ios-arm64_x86_64-simulator directory. It also was built on Xcode 12, so the ios-armv7_arm64 directory has been renamed ios-arm64_armv7. However, because the artifact downloads do not remove old directories from the bundle, the old and new architecture triple directories exist next to each other.

Steps to reproduce

$ git checkout stable
$ flutter precache
$ git checkout a2fa6d4 # master as of https://github.com/flutter/flutter/pull/85052
$ flutter precache
$ ls bin/cache/artifacts/engine/ios/Flutter.xcframework

Expected

ios-arm64_armv7
ios-arm64_x86_64-simulator

Actual

ios-arm64_armv7
ios-arm64_x86_64-simulator
ios-armv7_arm64
ios-x86_64-simulator
@jmagman
Copy link
Member Author

jmagman commented Jun 22, 2021

This is blocking iOS ARM simulator adoption. The incorrect simulator directory happens to be selected when I test #85059 on an M1 ARM Mac.

@jmagman jmagman added platform-ios iOS applications specifically tool Affects the "flutter" command-line tool. See also t: labels. labels Jun 22, 2021
@jmagman jmagman added this to Awaiting triage in Tools - iOS review via automation Jun 22, 2021
@jmagman jmagman moved this from Awaiting triage to Engineer reviewed in Tools - iOS review Jun 22, 2021
@jmagman jmagman changed the title iOS engine artifacts Flutter.xcframework contains old architecture triples iOS engine artifacts Flutter.xcframework contains old architecture triples directories Jun 22, 2021
@jmagman
Copy link
Member Author

jmagman commented Jun 22, 2021

More urgently than iOS ARM simulator adoption, if the tool prefers embedding the Xcode 11 style ios-armv7_arm64 over the Xcode 12 ios-arm64_armv7 then the engine will remain out of date and won't be built with the newer cached dart.

@jmagman
Copy link
Member Author

jmagman commented Jun 22, 2021

See also #74818. The fix at #74818 didn't address this.
When this reproduced

/// Unzipping multiple file into a directory will not remove old files
/// from previous versions that are not present in the new bundle.
final Directory destination = location.childDirectory(
tempFile.fileSystem.path.basenameWithoutExtension(tempFile.path)
);

destination = flutter/bin/cache/artifacts/engine/ios/artifacts which never exists.

@github-actions
Copy link

This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jul 31, 2021
@flutter-triage-bot flutter-triage-bot bot added P0 Critical issues such as a build break or regression and removed P1 labels Jun 28, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
P0 Critical issues such as a build break or regression platform-ios iOS applications specifically tool Affects the "flutter" command-line tool. See also t: labels.
Projects
Tools - iOS review
  
Engineer reviewed
Development

Successfully merging a pull request may close this issue.

2 participants
@jmagman and others