-
Notifications
You must be signed in to change notification settings - Fork 4.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
[NativeAOT] Do not use private APIs on iOS/macOS #90430
Conversation
platforms since it's a private API and it blocks uploads to TestFlight, iOS App Store, and Mac App Store.
Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas Issue DetailsFixes #90408. Tested with upload of empty iOS app through TestFlight process.
|
Tagging subscribers to 'os-ios': @steveisok, @akoeplinger, @kotlarmilos Issue DetailsFixes #90408. Tested with upload of empty iOS app through TestFlight process.
|
src/coreclr/nativeaot/BuildIntegration/Microsoft.NETCore.Native.Unix.targets
Outdated
Show resolved
Hide resolved
/azp run runtime-ioslike,runtime-ioslikesimulator |
Azure Pipelines successfully started running 2 pipeline(s). |
There is one testfailure in the iOS nativeaot smoke tests that might be related:
|
I saw that. Curiously it happened only on tvOS and not on iOS, and even more curiously it actually produced the stack trace for the Assert. |
I got the payload from Helix for the failed tvOS test ( |
I just checked the same failure is visible in different CI run with console log. So that particular test failure is not related to this change. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. Thank you!
Unfortunately, with this change we should expect a size regression of ~2,5Mb
for NativeAOT iOS apps.
Estimated regression with HelloiOS app:
HelloiOS | main | this PR | diff-to-main (%) | this PR + deadstrip | diff-to-main(%) |
---|---|---|---|---|---|
SOD (Mb) | 6,40 | 8,86 | 38,44% | 8,18 | 27,81% |
I also included the measurement with -dead_strip
enabled for reference.
/cc: @kotlarmilos @SamMonoRT
FWIW I found a way to mark the ILC output non-dead-strippable but I didn't get a chance to test it end-to-end. |
Is that because we are linking a private copy of ICU now? Does the |
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Yep, this just gets on the same plan as MonoVM.
It should but I don't think it's tested. |
Correct - We haven't fully tested the HybridGlobalization with NativeAOT. But basic testing on a simple app works fine. Both of these (HybridGlobalization and NativeAOT for iOS/MAUI iOS are opt-in for .NET8) |
Awesome work, thank you @filipnavara 💟 |
Thanks for handling this so quickly! |
Fixes #90408.
Tested with upload of empty iOS app through TestFlight process.