I was able to test on my own, and in my tests it seems like provisioning profiles now work in the VM. But it took some extra work than just recreating the provisioning profile. My host is on macOS 15.7.1 (24G231).
tl;dr try making a brand new VM such that it has a new provisioning UDID and try again
My "success" case was as follows:
I had an older "clean install" VM on macOS 15.7, but it does have the newer provisioning UDID style. I did not add it to my account until just now, however.
I manually added the provisioning UDID to my devices list on the developer website. Now, the new device that I just registered on the website has an identifier with lowercase letters (e.g. c28165661eb...) (before, it looks like it automatically set it to uppercase).
I recreated the provisioning profile, and built an app using Xcode on my host.
I transferred the built app into the VM via a shared folder.
I opened the app, and the app extension worked successfully (in my case, my app itself doesn't use a provisioning profile, but its app extension does).
The "failed" case (where I tried just recreating the provisioning profile) was as follows:
I had a VM on macOS 26.1 beta 2, where I had already added the provisioning UDID on the site before. Under my account, any letters in the UDID are shown as uppercase (e.g. E784ACDA...)
Since the device was already on my account, I just regenerated a provisioning profile and rebuilt my app.
This did not work.
My assumption is that the OS version here is not what matters. Perhaps the difference is the capitalization in the UDID on the website, and if so then maybe that's how they were able to deploy a fix via the website. Unfortunately, you don't seem to be able to change the capitalization of the UDID if it is already registered. If you disable the device and attempt to add it again manually, it will see that the device is "already" there with the uppercase capitalization and simply re-enable the faulty one.
I would assume that you can recreate a new VM from scratch, such that it has a brand new provisioning UDID, then add it to your account. That seems like it should work.
Also note that I did not test building with Xcode directly in the new VM to register the VM with my account; I added it manually on the website. I would hope that Xcode handles this properly, but if it still doesn't work, perhaps try manually registering the device on the website.
Edit 2: I just ran another test where I allowed Xcode running in the VM to automatically handle the new device registration instead of doing that manually on the site, and the extension requiring a profile ran, with correct capitalization of the UDID appearing on the website. This was on a macOS 26.1 beta 2 VM.
So then it seems like this should "just work" on a VM with a UDID that hasn't been registered to your account before.
Edit: Also, if you don't want to make a whole new VM from scratch, you can do the following to cause the provisioning UDID to change:
Make a clone of your VM.
Run the clone.
While the cloned VM is still running, run the original VM simultaneously.
One of the VMs will have a new provisioning UDID. Use the VM with the new provisioning UDID. You can then delete the VM that has the old provisioning UDID, if you want.
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Tags: