|I'm almost at the point of defeat.
To develop an iOS app using Visual Studio / Xamarin you need to connect to a host Mac running XCode.
Getting Visual Studio to connect to the Mac involved physically setting up a new router since Wifi seemed to be a problem, then installing XCode. And Xamarin Studio. Or may this wasn't necessary - depends on the forum you read. And cursing. And then suddenly it worked.
But then adding my Apple account to Xamarin requires installing fastlane which throws you to a terminal window in order to login to your account (but which? macOS or AppleID? Turns out AppleID), which then borks because you need to create an App-specific password, Which then doesn't work.
So back to VS. I build, but the build fails because I need a code signing certificate. Back to the mac. Generate a CSR, create a cert, download the cert, install it in the keychain (the login one, it turns out), and try again.
error : No installed provisioning profiles match the installed iOS signing identities.
OK. Sigh. Xamarin help says to use the "Organiser" window in XCode, so I go there, and I see "Archives" and "Crashes". Nothing in Archives, but "Crashes", for some reason, offers me the chance to sign in with my Apple Id and from there I can see my signing identities and provisioning profiles. Except it's not offering to create a provisioning profile.
So back to developer.apple.com to manually create a provisioning profile and we try again. No luck.
OK. Let's step back and have another crack at adding an account to Xamarin. Looks like the issue is with 2FA and the Apple ID. I hear that VS Code solves this so I download VS code, install, run, add account. It works!
I rebuild in Visual Studio on my Windows machine. It works! Oh - no it doesn't. No provisioning profile.
So I hunt around, I try to manually create a profile but it's asking for my device ID (what's the ID of an emulator?) and I give up. A day lost.
So I move to VS Code on the Mac and create a new project from the project templates and attempt to build / run. Except it doesn't even build. A new project generated by VS Code with zero changes doesn't even build out of the box. Looks like it's Android issues so I unload that portion and try the iOS.
No provisioning profile.
I know this stuff all works. Somehow. I'm just stunned beyond words that it's this painful, this complicated, this frustrating, this badly and misleadingly documented, and yet more patient people than I have worked through it.
It gives me such an immense respect for how simple Microsoft have made software development in complex and heterogeneous technologies (notwithstanding the pain of Xamarin / VS Code)