Add support for referencing zipped .xcframeworks in binding projects. #21294
Labels
binding-projects
Issue or PR that affects binding projects
enhancement
The issue or pull request is an enhancement
Milestone
Apple platform
iOS, macOS, Mac Catalyst, tvOS
Framework version
net8.0-*
Affected platform version
net8.0_17.5/17.5.8030
Description
It is currently impossible to reference a zipped xcframework from a binding project. Without this ability, one cannot use Visual Studio on Windows as part of their main development workflow with a paired Mac in various cases. While it is supposedly possible to reference zipped xcframeworks from non-binding projects, existing, larger and shared code bases cannot leverage that functionality as their bindings need the clear separation and reusability offered by binding projects.
The main well known limiting factors are due to Windows shortcomings regarding path length limits and symlink support. xcframeworks typically have long paths which run up against the limit and frequently exceed it. And dynamic xcframeworks that target maccatalyst have symlinks which get resolved to real files when they are copied, which breaks linking and/or signing. While both limitations could be overcome with special handling, the easiest solution is to support references to zipped xcframework so they can remain compressed on the Windows side of the build process. While this was done for non-binding projects, the same solution should be applied to binding projects as well.
Steps to Reproduce
Did you find any workaround?
Build logs
No response
The text was updated successfully, but these errors were encountered: