Using restricted entitlements in a macOS 26 VM

We have a Mac app that uses some restricted macOS entitlements, thus to test it we embed a development provisioning profile, that needs to contain the correct provisioning UDID.

Typically, for test VMs, we extract the provisioning and UDID and add it to the developer portal and then re-generate the provisioning profiles.

However when we try to do this in our newly created VM (Apple Silicon), our executable won't run, and macOS logs that the provisioning profile doesn't allow the device:

2025-06-12 12:37:52.168 E  taskgated-helper[27489:e97da] [com.apple.ManagedClient:ProvisioningProfiles] embedded provisioning profile not valid: file:///Applications/foo.app/Contents/embedded.provisionprofile error: Error Domain=CPProfileManager Code=-212 "Provisioning profile does not allow this device." UserInfo={NSLocalizedDescription=Provisioning profile does not allow this device.}
2025-06-12 12:37:52.169 E  taskgated-helper[27489:e97da] [com.apple.ManagedClient:ProvisioningProfiles] Disallowing com.company.foo because no eligible provisioning profiles found
2025-06-12 12:37:52.169 Df amfid[112:e99b0] [com.apple.xpc:connection] [0xb34c74a00] invalidated because the current process cancelled the connection by calling xpc_connection_cancel()
2025-06-12 12:37:52.169 Df taskgated-helper[27489:e97da] [com.apple.xpc:connection] [0x839144000] invalidated because the client process (pid 112) either cancelled the connection or exited
2025-06-12 12:37:52.169 E  amfid[112:e91ac] [com.apple.MobileFileIntegrity.framework:default] Failure validating against provisioning profiles: <private>
2025-06-12 12:37:52.169 E  amfid[112:e91ac] [com.apple.MobileFileIntegrity.framework:default] Restricted entitlements not validated, bailing out. Error: Error Domain=AppleMobileFileIntegrityError Code=-413 "No matching profile found" UserInfo={NSURL=<private>, NSLocalizedDescription=No matching profile found}
2025-06-12 12:37:52.169 Df amfid[112:e91ac] /Applications/foo.app/Contents/MacOS/foo not valid: Error Domain=AppleMobileFileIntegrityError Code=-413 "No matching profile found" UserInfo={NSURL=file:///Applications/foo.app/, NSLocalizedDescription=No matching profile found}

The UDID for this VM does look weird, in System Profiler:

But I can verify that this UDID string is present in the provisioning profile embedded in the app bundle:

$ security cms -D -i /Applications/foo.app/Contents/embedded.provisionprofile | grep -i 7cd9234e9aa4fa8ba528ee417f857b2c993a20a3
		<string>7CD9234E9AA4FA8BA528EE417F857B2C993A20A3</string>

I also tried deleting the manually added device from the Developer portal and installing Xcode on the VM and letting Xcode register the device, but I end up in the same situation there. Even after letting Xcode itself register the device, it says that "this device not registered to your account" and then when I click "Register device" it changes into "<uuid> already exists".

Has anyone else managed to get Mac development provisioning profiles to work in a VM?

Answered by DTS Engineer in 843322022

Yeah, this isn’t going to work, at least not easily. I have the full backstory in this thread.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Accepted Answer

Yeah, this isn’t going to work, at least not easily. I have the full backstory in this thread.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Thank you! That clarifies the situation. We (primarly) aren't interested in running Xcode on our VMs, just testing. I was just involving Xcode to see if it had changed how devices were provisioned on the Developer portal.

So for our use case, just upgrading the VM from macOS 15 to macOS 26 appears to work as expected, as the UDID is preserved, and our existing provisioning profiles work.

for our use case, just upgrading the VM from macOS 15 to macOS 26 appears to work as expected

Cool.

Obviously this is all less than ideal, but I’m glad to hear that the current state of affairs is good enough for your use case.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Using restricted entitlements in a macOS 26 VM
 
 
Q