Conversation
There was a problem hiding this comment.
Pull request overview
Updates the app to align with an updated camera library API and adjusts project configuration to multi-target more MAUI platforms.
Changes:
- Replace
CameraStateusages withHardwareStatein view and viewmodel camera state handling. - Update
ShadersCamera.csprojto multi-target Android/iOS/MacCatalyst (plus conditional Windows) and switch to NuGet package references (removing the local camera project reference).
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| src/app/Views/MainPageCameraFluent.cs | Updates camera state change handler and state checks to use HardwareState. |
| src/app/ViewModels/CameraViewModel.cs | Updates camera state checks and StateChanged handler signature to HardwareState. |
| src/app/ShadersCamera.csproj | Expands target frameworks and updates package references / removes local camera project reference. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| <!--<TargetFrameworks>net9.0-android;net9.0-ios;net9.0-maccatalyst</TargetFrameworks> | ||
| <TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net9.0-windows10.0.19041.0</TargetFrameworks>--> | ||
| <TargetFrameworks>net9.0-android;net9.0-ios;net9.0-maccatalyst</TargetFrameworks> |
There was a problem hiding this comment.
TargetFrameworks now always includes net9.0-ios and net9.0-maccatalyst. On non-macOS environments (e.g., Windows dev machines), a plain dotnet build src/app/ShadersCamera.csproj will attempt to build all TFMs and typically fail for iOS/MacCatalyst. Consider conditioning iOS/MacCatalyst TFMs on IsOSPlatform('osx') (similar to how Windows is conditional) or otherwise ensuring the default build path on Windows/Linux doesn’t include Apple TFMs unless explicitly requested.
| <TargetFrameworks>net9.0-android;net9.0-ios;net9.0-maccatalyst</TargetFrameworks> | |
| <TargetFrameworks>net9.0-android</TargetFrameworks> | |
| <TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('osx'))">$(TargetFrameworks);net9.0-ios;net9.0-maccatalyst</TargetFrameworks> |
| <!--<ItemGroup> | ||
| <ProjectReference Include="..\..\..\DrawnUi.Maui\src\Maui\Addons\DrawnUi.Maui.Camera\DrawnUi.Maui.Camera.csproj" /> | ||
| </ItemGroup>--> | ||
|
|
||
| <ItemGroup> | ||
| <!--<PackageReference Include="DrawnUi.Maui.Camera" Version="1.9.1.1" />--> | ||
| <PackageReference Include="AppoMobi.Maui.FastPopups" Version="1.2.1" /> | ||
| <PackageReference Include="DrawnUi.Maui.Camera" Version="1.9.4.1" /> | ||
| <PackageReference Include="AppoMobi.Maui.FastPopups" Version="1.10.1.1" /> | ||
| <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="9.0.0" /> |
There was a problem hiding this comment.
The local DrawnUi.Maui.Camera ProjectReference was removed (now commented out), but the project still has build flags/targets implying a “build with project reference” path (e.g., UseNuget warning target and UseSource group). As-is, those switches appear to be dead/misleading and there’s no longer an obvious way to build against the local camera source. Either reintroduce a conditional ProjectReference when UseNuget != true/UseSource == true, or remove/update the related MSBuild logic so the build configuration matches what the project actually does.
No description provided.