Election-Tech-Initiative / Election-Tech-Initiative/electionguard-cpp

✨ Add Xamarin support (iOS) to C# Wrapper

Open
#319 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C++
Stars
26
Forks
25
PR merge metrics
No merged PRs in 30d

Description

### Is there an existing issue for this?

- [X] I have searched the existing issues

### Suggestion

Description
Xamarin support was temporarily removed but should still be supported under the .NET Standard implementations.
This may require some specialized building of the package for these particular runtimes and more complicated setup so that a developer can easily utilize the library.

The suggestion is to implement Conditions to implement some of the previous code originally in the previously made iOS and Android projects. This may require using [Build Extras](https://github.com/novotnyllc/MSBuildSdkExtras).

-[iOS specifics](https://github.com/microsoft/electionguard-cpp/blob/0bad662f3c6c32f4f7c257b2826d448930736594/bindings/netstandard/ElectionGuard/ElectionGuard.iOS/ElectionGuard.iOS.csproj#L52)

See

Add iOS binaries into runtimes and project
Update documentation after iOS support
Build test project to demonstrate usage but do not commit within PR.

Helpful Links

https://docs.microsoft.com/en-us/nuget/create-packages/multiple-target-frameworks-project-file
https://docs.microsoft.com/en-us/nuget/create-packages/creating-a-package-msbuild
https://docs.microsoft.com/en-us/dotnet/standard/frameworks
https://github.com/edsnider/latestversionplugin/blob/master/src/Xam.Plugin.LatestVersion.csproj
https://docs.microsoft.com/en-us/nuget/create-packages/supporting-multiple-target-frameworks

### Possible Implementation

_No response_

### Anything else?

_No response_

Contributor guide

Open the contributing guide

Research direction

Start by comparing the current .NET Standard wrapper projects with the historical ElectionGuard.iOS.csproj linked in the issue, then review the MSBuildSdkExtras and multi-target NuGet guidance. Verify the iOS runtime binaries and project setup, update the documentation, and use a separate test project to demonstrate Xamarin usage without committing it.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, ios
Domain
build-system, documentation, mobile-dev, testing-qa
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.