The app bundle is ready, but it is unclear whether dropping it into Device Hub installs it or just transfers a file.
Fast answer: In Xcode 27.3 Beta, drop a .app or .ipa onto a device in Device Hub to install it; drop a link to open it on the device. On an iOS simulator, dropping another kind of file saves it in the Files app instead. Confirm the target and build first, then verify the app on that target. Keep the Beta workflow out of your release path until you have rechecked it against Apple’s current release notes. (Apple’s Xcode 27.3 release notes)
This guide is for independent iOS developers testing a local build with Xcode 27.3 Beta, and small teams checking the same build across simulators or physical devices. It also helps developers without a local Mac decide whether a remote Mac environment fits their build-and-test workflow.
Last updated November 5, 2026. We checked the feature description against Apple’s Xcode 27.3 Beta release notes, system requirements, and Beta announcement; the release notes identify the Beta as released on November 3, 2026. Beta behavior and compatibility can change, so check the current notes again before relying on the workflow.
Before dragging, verify Xcode and the build
Start by confirming that the open app is actually Xcode 27.3 Beta, not a different Xcode installation. Use About Xcode to check the version. This matters on Macs that keep a stable and a Beta copy side by side: opening the wrong copy can make a valid feature look unavailable or lead to a test against the wrong toolchain.
Apple’s current system-requirements page lists macOS Tahoe 26.6 or later for Xcode 27.3 Beta. That requirement applies to the Mac running Xcode. It is separate from the operating-system and device compatibility requirements of the app being tested. Check Apple’s Xcode system requirements before installing or switching to the Beta.
Record what you plan to install before you move the file. At minimum, identify the project commit or source revision, the build method, the app version and build number if available, and whether the artifact is a simulator build or a device-distribution build. That record gives the team a way to distinguish a Device Hub problem from a build made for a different destination.
| Item to check | What to confirm | Why it matters |
|---|---|---|
| Xcode copy | About Xcode shows Xcode 27.3 Beta | Avoid testing the feature in another installed version |
| Host Mac | The installed macOS meets Apple’s listed requirement | A supported Xcode build needs a supported host system |
| Artifact | The file is the intended .app or .ipa |
A similarly named or stale build can produce a misleading test |
| Build identity | Note the source revision, version, and build number where available | Helps tie an observed result to a reproducible build |
| Destination | Decide whether this check is for a simulator or physical device | The right artifact and validation criteria depend on the target |
Apple describes the drag-and-drop feature as a way to install an app bundle or package on a Device Hub device. That does not certify every artifact for every destination. Signing, provisioning, platform compatibility, and the build’s intended destination remain project-level checks. For physical-device testing, Apple’s guide to distributing an app to registered devices explains the archive, export, registration, and provisioning steps.
Choose a target that is available for this test
Open Device Hub and identify the simulator or physical device that matches the test plan. Do not treat a device appearing in the interface as proof that it is connected and ready for this operation. Check its current status in Device Hub, select the intended target, and confirm its platform and OS before dropping anything.
This is especially important when several similar simulators are open or when a team shares a set of test devices. A successful install on one simulator says nothing about another simulator’s state. Likewise, a device name in a list does not establish that the app was installed on the physical phone intended for release validation.
If the planned target is unavailable, pause the installation attempt. Resolve the separate pairing or device-discovery issue first; a disabled or disconnected target does not tell us whether the artifact itself is valid. We do not expand into pairing troubleshooting here because it is a separate failure path. For general account or service-access questions, the metalvnc help page is the relevant support route.
Use the drop that matches the intended action
Apple’s Xcode 27.3 Beta notes define three different outcomes: app installation for .app and .ipa, opening a dropped link, and saving other files in the Files app on iOS simulators. Treat the item’s type as part of the test, not as a cosmetic detail.
| Dropped item | Documented Device Hub action | What to check next |
|---|---|---|
.app |
Install the app on the selected device | Confirm the app appears on that target, then launch it |
.ipa |
Install the app on the selected device | Check installation and launch behavior on the intended physical device |
| Link | Open the link on the selected device | Confirm the expected destination opens |
| Other file on an iOS simulator | Save it with the Files app | Look for it in Files; do not count this as an app install |
The distinction answers a common testing question: putting a JSON fixture, image, or document onto an iOS simulator does not install an app. Apple documents that these other files are saved with the Files app on iOS simulators. The release notes do not promise the same ordinary-file behavior on physical iPhones, so do not assume that dropping an arbitrary file onto a phone imports it or exposes its filesystem. Verify any device-specific behavior on the actual target instead.
Reminder: If a file is intended to become app data, verify how the app receives that data. A file appearing in the simulator’s Files app is not proof that the app imported, parsed, or used it.
Drag the artifact, then check the actual installation
Once the target and artifact are confirmed, perform the install:
- [ ] Select the intended simulator or physical device in Device Hub.
- [ ] Confirm that the artifact belongs to the expected project revision and build.
- [ ] Drag the
.appor.ipaonto the selected device. - [ ] Wait for the operation to complete, then check the selected target rather than relying only on the drag action.
- [ ] Launch the app on that target and exercise the behavior the build was meant to test.
For .ipa installation on a registered physical device, a valid package alone is not the whole acceptance check. Apple’s registered-device instructions cover device registration and provisioning, and state that Developer Mode must be enabled to run an app installed from an iOS Package Archive. If installation fails, preserve the artifact and the exact result before changing signing or provisioning settings. That leaves a reproducible record and avoids guessing at a single cause.
For a simulator, verify that the app icon or app entry appears in the selected simulation and that the app launches. For a physical device, verify on the phone itself. If the app provides an About screen or build identifier, compare it with the build record. Otherwise, use the project’s established method for identifying the installed version. Do not call the test complete just because Device Hub accepted the drop: installation and correct runtime behavior are separate checks.
Apple notes that simulators do not replicate all physical-device performance or features. A simulator run is useful for functional checks, but it cannot replace a physical-device test when the behavior depends on hardware or a device-specific capability. Use Apple’s guide to running apps on simulated or physical devices to choose the right validation target for those cases.
Verify ordinary file drops separately from app installs
Use a small, recognizable test file when checking the simulator’s file-handling behavior. Drop it onto the intended iOS simulator, then open Files in that simulator and confirm that the file is present. Record the simulator model and OS alongside the result. This verifies the documented file-save path without confusing it with an install or an import into your app.
For a project-specific fixture test, follow the app’s existing import route after confirming the file is in Files. For example, if the app expects a document picker, use that picker and record whether the app can read the fixture. The drag itself tests Device Hub’s file delivery to Files; the subsequent import tests your app. Keeping those results separate makes failures easier to locate.
| Check | Pass condition | If it does not pass |
|---|---|---|
| App install | The intended app is present on the selected target | Preserve the artifact, target, Xcode version, and observed error |
| App launch | The app opens on the target and shows the expected build identity where available | Recheck destination compatibility and the project’s signing setup |
| Simulator file drop | The file appears in Files on the intended iOS simulator | Confirm the target was a simulator and repeat with a clearly identified file |
| App file import | The app receives and processes the file through its expected route | Debug the app’s import behavior separately from Device Hub |
The table is an acceptance record, not a guarantee that every artifact will install. Apple confirms the supported drop actions in the Beta notes, but the project must still meet its own build, signing, and compatibility requirements. When a result is unexpected, preserve the artifact and record the target, Xcode build, and exact observed behavior before rebuilding.
Keep Beta checks out of the release lane
Device Hub drag-and-drop is a convenient local validation path. It does not replace distribution through TestFlight or the App Store, and it does not replace signing checks or the team’s release acceptance process. Apple’s distribution documentation treats exporting to registered devices, TestFlight distribution, and App Store submission as distinct workflows. Use the project’s existing stable route for a release candidate, then assess the Beta behavior separately. (Apple’s distribution workflow documentation)
After testing, save a short result record:
- Xcode version and build identifier.
- Host macOS version.
- Simulator or physical device and its OS.
- Artifact type and build identity.
- Whether installation succeeded, whether launch succeeded, and what was verified.
- For ordinary simulator files, whether the file appeared in Files and whether the app separately imported it.
Re-run this check after a relevant Xcode Beta update, or when Apple changes the release notes or system requirements. The Xcode 27.3 Beta release notes confirm the feature as of the Beta announcement; they do not establish that later Betas or a final release will behave identically. For official TestFlight or App Store delivery, follow Apple’s distribution workflow documentation rather than treating a Device Hub install as the handoff.
If you already have a Mac and need frequent, stable device access, using that machine may be simpler than introducing a remote environment. But a personal Mac dedicated to builds can tie up local storage, stay powered and available, and still leave the team without a shared test environment. When the need is temporary or the team needs a remotely accessible Mac for Xcode builds and device checks, compare that workflow with the available metalvnc Mac options and plans. A remote Mac is not a fit if the workflow depends on physical interfaces or sustained workloads that make a dedicated local machine more practical. Whichever route you use, keep the release lane on its stable, verified distribution process.
Test Your Builds on a Dedicated Mac
Rent a dedicated Apple Silicon M4 Mac from metalvnc for beta builds and simulator checks.
