banditoth / maui-archiver-vscode

Visual Studio Code extension for archiving/publishing .NET MAUI applications
MIT License
35 stars 3 forks source link

IOS publish appears to be misimplemented #6

Closed thetownfool closed 3 months ago

thetownfool commented 4 months ago

I have just tried to use this plugin to archive my app ready to publish (disclaimer, this is my first ios app)

Whenever I tried to publish, no matter which options I tried, I received the following error:

"The specified iOS provisioning profile '' could not be found."

On further analysis, the values passed to dotnet publish are the cert name and the thumbprint, and not the publishing profile.

I looked at the code to discover this:

https://github.com/banditoth/maui-archiver-vscode/blob/5868ced519635f6d1f6ae3ef08cdfa691a58b03c/banditoth-VSCode-MAUI-Archive/Platforms/iOSFeatures.js#L17C28-L17C28

The above does not retrieve the provisioning profile. That said, the code did highlight a new command for me to dig deeper.

Reviewing the MS docs here -> https://learn.microsoft.com/en-us/dotnet/maui/ios/deployment/publish-cli?view=net-maui-8.0, told me I was missing the actual profile name from the resulting cmd.

I published the app correctly by updating the resultant cmd to include both the cert name and the profile name correctly.

The installed profiles can be found in ~/Library/MobileDevice/Provisioning\ Profiles/

Whilst each file is actually binary, the plist XML can be retrieved using security cms -D -I <profile-uid>.mobileprovision; from this, the profile Name can be extracted.

Unfortunately, I don't have time to fork and implement a fix for this right now. If I get a chance, though, I will. Hopefully, this is enough to go on in the meantime.

banditoth commented 3 months ago

Hey @thetownfool

Thanks for the details. I will ship the bugfix soon!

banditoth commented 3 months ago

Fixed in https://github.com/banditoth/maui-archiver-vscode/pull/7/commits/5ea4085d3fb4cfdc059d935f85681a9a69ff90ce Available in version 1.0.0