-
Notifications
You must be signed in to change notification settings - Fork 27.8k
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
After upgrading to Flutter 3.16 and XCode 15.0.1 I get Error vailability_version_check.cc(39)] Check failed on iOS less than 17 #138711
Comments
Same for me. Runs fine in the iPhone simulator though. The app appears to get installed (the icon appears in the launcher), but when I tap it it shows the launch image then crashes back to the launcher, printing the following message in the Flutter debug console:
My development iPod is quite old and running iOS version 12.5.5 (I notice you are running iOS 12.5.7, @JacoFourie ). I suspect the minimum required iOS version has been bumped up and we're just out of luck :-( |
@vashworth Is there a version compatibility matrix we can link to? |
https://docs.flutter.dev/reference/supported-platforms This link states 11 - 15 is best effort, so it should still work. It was not in the breaking changes list. The iPhone 6 still runs my app fine so it should not be excluded from the OS versions. |
This comment was marked as outdated.
This comment was marked as outdated.
I'm not very familiar with this availability check, but Xcode 15.0.1 should still support iOS 12 (https://developer.apple.com/support/xcode/). I don't get this error when I run with an iOS 14 simulator or iOS 16.7.2 physical device Seems like this availability version check was added in flutter/engine#44711. @zanderso Do you have any insight into why this would error for iOS 12? |
I suspect that #138711 (comment) is the answer here. The availability check implementation added in flutter/engine#44711 was copied from clang's implementation from its iOS runtime library prior to an ABI breaking change to clang, which allowed Flutter to roll clang forward across the ABI break. Which is to say, the failures on iOS 12 in this issue and #135317 would be happening even without flutter/engine#44711 and leaving clang pinned to the old version. |
Well this is obviously not the case as my device is iOS 12 |
This comment was marked as duplicate.
This comment was marked as duplicate.
1 similar comment
This comment was marked as duplicate.
This comment was marked as duplicate.
It seems that my previous answer is incorrect. All of my other projects are failing on iOS 12 with Flutter 3.16 on this error, also on the Beta channel. I think this should have the highest priority right now since this is a stable release which breaks iOS 12. |
This comment was marked as duplicate.
This comment was marked as duplicate.
Does this issue reproduce only with Xcode 15, or does it also happen with earlier versions of Xcode? Also, folks should be aware of Flutter's issue hygiene policies, especially around comments: https://github.com/flutter/flutter/wiki/Issue-hygiene#comments. Please do not make "me too" comments that don't contribute new information---use the thumbs-up reaction on the original issue report, instead. |
This occured with my project (running on iOS 11) using xcode 14.0.1 |
This comment was marked as duplicate.
This comment was marked as duplicate.
Also happening here. |
My previous comment is incorrect. The old clang-rt implementation uses a fallback to a read from a system plist file if the dynamic symbol lookup fails, and Flutter will need to emulate that as well. |
This comment was marked as duplicate.
This comment was marked as duplicate.
This PR ports more of the implementation of availability checking from clang-rt into the Engine. In particular, when the call to look up the symbol `_availability_version_check` fails, this PR falls back on reading the platform version information out of a plist file at a well-known location, as is done [here](https://github.com/llvm/llvm-project/blob/2fd66e6eb659701b9d4c88708d55d5854a246815/compiler-rt/lib/builtins/os_version_check.c#L163). This change fixes a mistake in #44711, which didn't account for `_availability_version_check` not being available on iOS 11 and 12. Fixes flutter/flutter#138711
Hi folks, we think this is fixed on the master channel following 67edaef. It would be very much appreciated if anyone who was seeing this could switch over to the master channel and verify that it is fixed. Cheers! |
i was changed channel master but i still get EXC_BAD_ACCESS (code=1, address=0x1170000) on ios |
I can confirm that my app is working on |
This comment was marked as off-topic.
This comment was marked as off-topic.
This PR ports more of the implementation of availability checking from clang-rt into the Engine. In particular, when the call to look up the symbol `_availability_version_check` fails, this PR falls back on reading the platform version information out of a plist file at a well-known location, as is done [here](https://github.com/llvm/llvm-project/blob/2fd66e6eb659701b9d4c88708d55d5854a246815/compiler-rt/lib/builtins/os_version_check.c#L163). This change fixes a mistake in flutter#44711, which didn't account for `_availability_version_check` not being available on iOS 11 and 12. Fixes flutter/flutter#138711
@juliansteenbakker @daomydong1995 I suspect that you might be hitting a different bug. Would you mind filing a new issue with full details? |
FWIW, I am not able to reproduce the home button crash in the sample app. |
@daomydong1995 @juliansteenbakker I was encountering a similar error. When I updated Xcode to version 15.1, the issue was resolved. |
This comment was marked as outdated.
This comment was marked as outdated.
Actually, apologies. The release announcement was mistaken. The change mentioned above will go out in the hotfix release next week. |
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 |
Is there an existing issue for this?
Steps to reproduce
I upgraded my Flutter to version 3.16 and XCode 15.0.1
Expected results
The app should work after the upgrade
Actual results
Installing and launching...
[FATAL:flutter/shell/platform/darwin/common/availability_version_check.cc(39)] Check failed: AvailabilityVersionCheck.
Code sample
Code sample
Screenshots or Video
Screenshots / Video demonstration
[Upload media here]
Logs
Logs
Flutter Doctor output
Doctor output
The text was updated successfully, but these errors were encountered: