XIBs from the class library are not included in the generated XCode project
- Dominant language
- C#
- Stars
- 25
- Forks
- 10
- Avg merge
- 12h 50m
- Merged PRs (30d)
- 10
Description
### Is there an existing issue for this?
- [x] I have searched the existing issues
### Apple platform
macOS
### Framework version
net9.0-*
### Describe the bug
I have some shared UI components across the several executable projects. So, I moved such an UI (XIBs) and corresponding C# code in the class library.
This works fine - I can reuse both the UI components and the C# code from the class library.
But I can't edit UI there because xcsync does not include the XIBs from the class library in the generated XCode project (but adding the C#-classes with a `RegisterAttribute`)
### Expected Behavior
The entire dependency tree, including class library, shared project and even executables (it looks weird, but you actually can use the executable in the `ProjectReference` and reuse at least a C#-code from there) is scanned for the specific entities (classes with the `RegisterAttribute`, UI definitions, etc) and such entities are included in the generated XCode project.
### Steps To Reproduce
* download and unpack a [Test.zip](https://github.com/user-attachments/files/20595429/Test.zip)
* navigate in the `UiFromClassLib` folder
* `xcsync generate`
* check the generated XCode project
* `MyItem.h & MyItem.m`, which represent the `MyItem` class from the class library are included in the XCode project - it's ok
* `MyItem.xib` from the same class library is missing
### Exceptions (if any)
no exceptions
### .NET Version info
```
.NET SDK:
Version: 9.0.203
Commit: dc7acfa194
Workload version: 9.0.202
MSBuild version: 17.13.20+a4ef1e90f
Runtime Environment:
OS Name: Mac OS X
OS Version: 14.7
OS Platform: Darwin
RID: osx-arm64
Base Path: /usr/local/share/dotnet/sdk/9.0.203/
.NET workloads installed:
[macos]
Installation Source: SDK 9.0.200
Manifest Version: 15.2.9180/9.0.100
Manifest Path: /usr/local/share/dotnet/sdk-manifests/9.0.100/microsoft.net.sdk.macos/15.2.9180/WorkloadManifest.json
Install Type: FileBased
[ios]
Installation Source: SDK 9.0.200
Manifest Version: 18.2.9180/9.0.100
Manifest Path: /usr/local/share/dotnet/sdk-manifests/9.0.100/microsoft.net.sdk.ios/18.2.9180/WorkloadManifest.json
Install Type: FileBased
[maccatalyst]
Installation Source: SDK 9.0.200
Manifest Version: 18.2.9180/9.0.100
Manifest Path: /usr/local/share/dotnet/sdk-manifests/9.0.100/microsoft.net.sdk.maccatalyst/18.2.9180/WorkloadManifest.json
Install Type: FileBased
[tvos]
Installation Source: SDK 9.0.200
Manifest Version: 18.2.9180/9.0.100
Manifest Path: /usr/local/share/dotnet/sdk-manifests/9.0.100/microsoft.net.sdk.tvos/18.2.9180/WorkloadManifest.json
Install Type: FileBased
[android]
Installation Source: SDK 9.0.200
Manifest Version: 35.0.50/9.0.100
Manifest Path: /usr/local/share/dotnet/sdk-manifests/9.0.100/microsoft.net.sdk.android/35.0.50/WorkloadManifest.json
Install Type: FileBased
Configured to use workload sets when installing new manifests.
Host:
Version: 9.0.4
Architecture: arm64
Commit: f57e6dc747
.NET SDKs installed:
6.0.425 [/usr/local/share/dotnet/sdk]
7.0.410 [/usr/local/share/dotnet/sdk]
8.0.401 [/usr/local/share/dotnet/sdk]
9.0.203 [/usr/local/share/dotnet/sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 6.0.33 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 7.0.20 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 8.0.8 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 9.0.4 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.33 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 7.0.20 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 8.0.8 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 9.0.4 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Other architectures found:
None
Environment variables:
Not set
global.json file:
Not found
Learn more:
https://aka.ms/dotnet/info
Download .NET:
https://aka.ms/dotnet/download
```
### Anything else?
```
> xcsync --version
xcSync v0.1.0.0, (c) Microsoft Corporation. All rights reserved.
0.1.0-preview.24509.2+275197d5c1f6f320b077346fc3b46d97c01fb287
```
Contributor guide
Assessment
This issue has not been assessed yet.