{"id":51335,"date":"2026-03-23T17:39:10","date_gmt":"2026-03-23T21:39:10","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=51335"},"modified":"2026-03-23T17:39:10","modified_gmt":"2026-03-23T21:39:10","slug":"provisioning-profiles-in-mac-vms","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2026\/03\/23\/provisioning-profiles-in-mac-vms\/","title":{"rendered":"Provisioning Profiles in Mac VMs"},"content":{"rendered":"<p><a href=\"https:\/\/developer.apple.com\/forums\/thread\/787500?answerId=861714022#861714022\">Quinn<\/a>:<\/p>\n<blockquote cite=\"https:\/\/developer.apple.com\/forums\/thread\/787500?answerId=861714022#861714022\">\n<p>There may be other outstanding issues, but you can now:<\/p>\n<ul><li>On a macOS 15 or later host, install macOS 15 or later in a VM.<\/li><li>On the guest, log in using an Apple Account in System Settings.<\/li><li>And install Xcode.<\/li><li>And add your Apple Account to Xcode.<\/li><li>And then build and run a Mac app.<\/li><li>Even if it uses a restricted entitlement.<\/li><\/ul>\n<\/blockquote>\n\n<p>Via <a href=\"https:\/\/mastodon.social\/@chockenberry\/115352054085833954\">Craig Hockenberry<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@chockenberry\/115352054085833954\">\n<p>It&rsquo;s a momentous day for Mac developers: you can now provision a device running in a VM. Whether you use VirtualBuddy, UTM, or another app, Xcode can now build, run, and debug apps on multiple versions of macOS without having to reboot.<\/p>\n<p>This includes apps that have entitlements for iCloud and other Apple services.<\/p>\n<p>[&#8230;]<\/p>\n<p>Essentially, we now have a setup like the iOS simulator where you can work on two versions of the OS simultaneously. That&rsquo;s a huge boost for developer productivity!<\/p>\n<p>[&#8230;]<\/p>\n<p>One thing you cannot do in a VM: use your Apple ID to login to the Mac App Store. So no testing your shipping app version.<\/p>\n<p>This also means you can&rsquo;t run TestFlight builds, because you can&rsquo;t download the app from the store.<\/p>\n<\/blockquote>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2025\/09\/16\/xcode-26\/\">Xcode 26<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2025\/05\/22\/unable-to-update-virtualized-macos\/\">Unable to Update Virtualized macOS<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/11\/15\/m4-macs-cant-virtualise-older-macos\/\">M4 Macs Can&rsquo;t Virtualize Older macOS<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/08\/02\/securing-virtual-machines-on-apple-silicon\/\">Securing Virtual Machines on Apple Silicon<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/07\/15\/sequoia-beta-3-vms-dont-support-mac-app-store\/\">Sequoia Beta 3 VMs Don&rsquo;t Support Mac App Store<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/06\/13\/using-apple-accounts-with-macos-virtual-machines\/\">Using Apple Accounts With macOS Virtual Machines<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2023\/09\/15\/limitations-on-macos-virtual-machines\/\">Limitations on macOS Virtual Machines<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Quinn: There may be other outstanding issues, but you can now: On a macOS 15 or later host, install macOS 15 or later in a VM.On the guest, log in using an Apple Account in System Settings.And install Xcode.And add your Apple Account to Xcode.And then build and run a Mac app.Even if it uses [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2026-03-23T21:39:14Z","apple_news_api_id":"2aca9eea-9426-4c3d-b589-349dbc67baac","apple_news_api_modified_at":"2026-03-23T21:39:14Z","apple_news_api_revision":"AAAAAAAAAAD\/\/\/\/\/\/\/\/\/\/w==","apple_news_api_share_url":"https:\/\/apple.news\/AKsqe6pQmTD21iTSdvGe6rA","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[2518,30,39,2598,2742,71,2848,2016,2251],"class_list":["post-51335","post","type-post","status-publish","format-standard","hentry","category-technology","tag-entitlements","tag-mac","tag-macappstore","tag-macos-15-sequoia","tag-macos-tahoe-26","tag-programming","tag-provisioning-profiles","tag-testflight","tag-virtualization"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/51335","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=51335"}],"version-history":[{"count":1,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/51335\/revisions"}],"predecessor-version":[{"id":51336,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/51335\/revisions\/51336"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=51335"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=51335"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=51335"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}