-
Notifications
You must be signed in to change notification settings - Fork 511
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[dotnet] Add support for universal apps. (#11983)
Add support for universal / fat apps for iOS, macOS and Mac Catalyst. We detect if we need to build a universal app by checking if `RuntimeIdentifiers` (plural) is set, and in that case we do a complete inner build for every `RuntimeIdentifier`, and then once those inner builds are done, we merge the resulting .app bundles together (using a new MSBuild task called `MergeAppBundles`). When merging app bundles together, we'll run into files that exist in both apps. Depending on the file type, we do different things: * MachO flies: lipo'ed together. * Managed assemblies: we do a binary comparison, if the assemblies are different, we put them in a RID-specific subdirectory. At runtime we know to look for assemblies in this directory. * runtimeconfig.bin, icudt.dat: put in a RID-specific subdirectory. * Info.plist: computed in the outer (fat) build, the one from the inner build is ignored. * Other files: for identical files we just copy one, otherwise we show an error. If we run into files that are different between apps, but we should handle somehow, then we'll have to decide on a case-to-case basis what to do. Some code shuffling was required to increase code sharing between the tools/ code, the msbuild/ code, and tests. I've also added support for a default `RuntimeIdentifier`. Fixes #10294. Fixes #10861.
- Loading branch information
Showing
70 changed files
with
2,227 additions
and
213 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
ebf6c13
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.
✅ [CI Build] Tests passed on Build. ✅
Tests passed on Build.
Packages generated
View packages
🎉 All 221 tests passed 🎉
Pipeline on Agent XAMBOT-1036.BigSur'
[dotnet] Add support for universal apps. (#11983)