dotnet / dotnet/xcsync

Relative file paths and Target Framework Monikers (TFM)

Open
#162 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
25
Forks
10
Avg merge
12h 50m
Merged PRs (30d)
10

Description

When copying static file content in either direction, the files relative path is kept intact. That is if the file `bar.storyboard` is in a subfolder `foo` under the .NET project folder. Then the file is copied into a subfolder name foo in the Xcode project.

This is fine until you consider the .NET MAUI project. .NET MAUI segregates platform specific files in the `Platforms` folder, so iOS-specific files are in the `Platforms/iOS` and Mac Catalyst files are in the `Platforms/MacCatalyst` folder. It is expected that `.storyboard`, `.xib`, files and `.xcassets` folders would reside under the appropriate platform folder. In that case those files/folders are copied to the Xcode project correctly, in a subfolder `Platforms/iOS` or `Platforms/MacCatalyst`

However, since by default, the Xcode project is generated in a TFM specific folder, and each Xcode project generated for a specific TFM when generating or syncing the project with a specified TFM, or if there is only one supported TFM, then the relative path for `Platforms/iOS` and `Platforms/MacCatalyst` can be removed. This makes the .NET MAUI project projection to Xcode appear similar to a non-MAUI project resulting in a unified user experience across different project types.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.