{"slug": "show-hn-iphone-duo-simulator-in-the-browser-no-waitlist-agents-cli", "title": "Show HN: iPhone Duo simulator in the browser (no waitlist, agents CLI)", "summary": "VibeView launched a browser-based iPhone Duo simulator that streams Apple's iOS 27.1 beta simulator from its own Macs, letting developers test apps on the foldable without an Apple silicon Mac running macOS 26.6 or later or the Xcode 27.1 beta. The service offers three hinge presets (Closed, Partial, Open) plus a 0-to-180-degree angle slider, quarter-turn rotation in any posture, and a VibeView CLI and MCP server that give coding agents the same fold, posture and rotation controls. VibeView notes the simulator's inner screen reports 2007 × 2853 pixels versus the 1878 × 2670 Apple lists for the hardware, and advises testing layout in points and size classes rather than pixel-matching screenshots.", "body_md": "Apple’s own iPhone Duo simulator, online and streamed from our Macs. Test your app on it in a browser tab: fold it to a preset or an exact hinge angle, rotate it in any posture, and let your coding agent do the same.\n\nThe iPhone Duo simulator, folding in a browser tab.\n\nApple announced the iPhone Duo on September 9:\na 5.4-inch cover screen outside and a 7.6-inch folding screen inside, shipping on iOS 27.1.\nTo build for it today you need Xcode 27.1 beta,\nwhich runs only on an Apple silicon Mac with macOS 26.6 or later.\n\nVibeView runs that simulator for you. Pick iPhone Duo (iOS 27.1) in the device picker, where it carries a\nFoldable badge, and your app starts on the cover screen in a browser tab. There is no Xcode download, no\nruntime to update and no Mac on your desk.\n\nTest your app on iPhone Duo, not a viewport mock-up\n\nSearch for an iPhone Duo simulator online, or an iPhone Duo emulator, and most results are web pages that resize a website to the Duo’s two screen sizes. That is\nuseful for a responsive site. It cannot install a native app, run iOS or fold anything.\n\nHere your app runs on Apple’s iPhone Duo simulator itself: the iOS 27.1 beta runtime, a hinge angle the system reacts to, and\ntwo screens that hand over to each other as the device folds. If your app reads the hinge, switches layouts when the device\nopens or rotates on the inner screen, this is where those code paths actually run.\n\nFold to a preset or an angle\n\nClosed, Partial and Open are one click each. Turn on Set by angle to drag to any whole angle from 0 to 180 degrees.\n\nRotate in any posture\n\nEach press turns the device a quarter clockwise, closed, half-open or flat. Apps that support the new orientation turn their layout.\n\nBoth screens, live\n\nWhere your browser supports it, the Duo is drawn as a 3D model that folds with the hinge, with each screen showing what it is displaying.\n\nAn agent can fold it too\n\nThe VibeView CLI and MCP server give your coding agent the same controls: start on the Duo, set a posture or an angle, rotate.\n\nPosture · Hinge angle\n\nFold it the way a person would.\n\nStarts closed, on the cover screenThe device’s normal at-rest state. Add ?posture=open or ?posture=partial to the sandbox URL to start unfolded instead.\n\nThree presets and a sliderPartial opens it partway and hands over to the inner screen; Open lays it flat, inner screen in landscape. The hinge moves smoothly, so the screens change over within about a second, as they do on the device.\n\nThe device decides which screen is litJust like the hardware, it can keep the inner screen on until the hinge is nearly shut, so the same angle can land differently depending on the direction you came from. Taps always go to the screen in use.\n\nThe Rotate button beside the device, and the Orientation control in the Device tab, turn the Duo a quarter turn clockwise each\npress: portrait, landscape, upside down, landscape the other way, then back. It works closed, half-open and open. The 3D model\nturns with it, and the screen shows what your app does with the new orientation: an app that supports it turns its layout to\nstay upright, while the Home screen and portrait-only apps turn with the device.\n\nBoth screens, live\n\nIn a browser that can draw it, the session is a 3D model of the Duo that folds along with the posture you set, and you tap and\ndrag directly on whichever screen is open. Both screens stay live on the model: your app on the screen in use, the device’s own\nfold animation on the other while the hinge moves, and black once it settles off. Where the 3D model is not available, a flat\nview shows the screen the device is using, live and tappable at any angle.\n\nOne thing worth knowing about sizes: the simulator’s inner screen reports 2007 × 2853 pixels, larger than the 1878 × 2670\nApple lists for the hardware. The cover matches at 1398 × 2034.\nTest layout in points and size classes, not by pixel-matching screenshots against the device.\n\nShare a folding demo\n\nA share link is an ordinary URL: pick the iPhone Duo as its device and the person you send it\nto opens your app on the Duo in their browser, with no install and no account. To put it in your own page, an\nembed key can include the Duo as well, and ?posture=open on the iframe starts it\nalready unfolded. Embedding needs Starter or above.\n\nDrive it from an agent\n\nApple ships no command to set the hinge angle; simctl has nothing for it, and Device Hub’s slider is a mouse\ncontrol. VibeView’s CLI (0.23.0 and later) and its MCP server expose the fold as commands your\ncoding agent or CI job can call:\n\n```\nvibeview list-devices --models              # the Duo is marked \"foldable\"\nvibeview dev --detach --json --model \"iPhone Duo\"\nvibeview set-posture partial --session <id>\nvibeview set-posture --angle 75 --session <id>\nvibeview rotate --degrees 270 --session <id>\n```\n\nEach response says where the device ended up: the posture it settled in, the hinge angle and the size of the screen now\nshowing (with an angle, also which screen is lit), or the new orientation. Folding changes the screen, so earlier element references are stale and the response carries the new one.\nOver MCP the same controls are list_device_models, dev_start with a model,\nset_posture and rotate. Agent Control lists every command, and\nthis guide walks through a fold test from a script.\n\nIn VibeView’s own AI tests, the agent can fold the Duo to Closed, Partial or Open as a test step. AI testing is in beta.\n\nWhat this does not do\n\nA beta runtime. The Duo runs on the iOS 27.1 beta runtime from Xcode 27.1 beta, so expect the rough edges of\na beta: behaviour can change as Apple ships new builds.\n\nA simulator, not an iPhone Duo. There is no physical Duo here. Camera, real hinge feel, sensors, performance,\nbattery and thermal behaviour are not simulated, and the inner screen’s pixel size differs from the hardware’s. Keep a pass on\nthe device before release; simulator vs real device testing covers where the\nline falls.\n\nOne screen in use at a time. Part-way through a fold the device can keep the cover in use while the inner\nscreen faces you. Taps on the screen that is not in use are ignored until the device switches, which it normally does as the\nfold settles.\n\nIt runs simulator builds. An .ipa is a device build and is rejected at upload. React Native and\nExpo projects can skip the local toolchain: cloud builds (beta) compile the simulator build\nfrom Windows or Linux and drop it straight into your app, ready to open on the Duo. For other projects,\npreparing your build has the command.\n\nThe full inner screen needs the iOS 27.1 SDK. An app built with an earlier SDK runs on the inner screen in\ncompatibility mode, in a phone-sized window with black on either side, as iOS shows it on the device. Cloud builds use a\nstable Xcode, so for now that is how a cloud-built app opens there. To test the two-pane layout, build with Xcode 27.1 beta\nand add the build with vibeview upload-app; cloud builds will do the same once that Xcode is out of beta.\n\nWhat it costs\n\nThe Duo is priced like any other device. Pricing is per organization rather than per seat, and streaming minutes are metered on\nevery plan. The free tier is two concurrent sessions, 30 streaming minutes a month, $1 of usage credit\nrefilling monthly, up to 3 people and no card, with each free session ending after 5 minutes.\n\nFrequently asked questions\n\nIs this the real iPhone Duo simulator or a mock-up?\n\nIt is Apple’s own iPhone Duo simulator on the iOS 27.1 beta runtime from Xcode 27.1 beta, running on our Macs and streamed to your browser. It is the same simulator Device Hub runs on a Mac, not a resized viewport or a picture of a phone frame.\n\nDo I need a Mac or Xcode 27.1 to use it?\n\nNo. Running the Duo locally needs Xcode 27.1 beta on an Apple silicon Mac with macOS 26.6 or later. Here the browser is enough, on Windows or Linux included. A React Native or Expo app can be built in the cloud and run on the Duo today; cloud builds use a stable Xcode, so for now the app opens in a phone-sized window on the inner screen. To fill the inner screen it needs the iOS 27.1 SDK: build it with Xcode 27.1 beta and add it with vibeview upload-app. Cloud builds will fill it too once that Xcode is out of beta.\n\nIs there an iPhone Duo emulator?\n\nNot as such. Apple ships a simulator for the iPhone Duo, not an emulator: it runs iOS on the Mac rather than imitating the phone’s hardware, which is what most people mean when they search for an iPhone Duo emulator. VibeView streams that simulator online, so you can test your app on the iPhone Duo in a browser without installing Xcode.\n\nCan I set an exact hinge angle?\n\nYes. Pick Closed, Partial or Open, or turn on Set by angle and drag to any whole angle from 0 to 180 degrees. From the command line it is vibeview set-posture --angle 75, and an agent calls the set_posture tool with an angle.\n\nWhich screen do my taps go to?\n\nThe one the device is using. Closed, that is the cover screen; opened, the inner screen takes over and taps follow it. Part-way through a fold the device can keep the cover in use for a moment while the inner screen faces you, and taps on the unused screen are ignored until it switches.\n\nIs the simulator pixel-identical to the hardware?\n\nNo, and it should not be read that way. It runs the same iOS 27.1 beta build of your app on Apple’s simulator profile of the device, which is what layout, posture and orientation testing needs. Camera, sensors, real hinge feel, performance and battery are not simulated. Keep a pass on hardware before release.\n\nCan someone without an account try my app on the Duo?\n\nYes. Choose the iPhone Duo as a share link’s device and the recipient opens your app on it in their browser. An embed key can include the Duo too, and adding ?posture=open to the iframe starts it unfolded.", "url": "https://wpnews.pro/news/show-hn-iphone-duo-simulator-in-the-browser-no-waitlist-agents-cli", "canonical_source": "https://vibeview.io/platforms/iphone-duo-simulator/", "published_at": "2026-09-25 12:06:35+00:00", "updated_at": "2026-09-25 12:30:02.139784+00:00", "lang": "en", "topics": ["ai-agents", "agent-protocols", "developer-tools", "ai-tools"], "entities": ["Apple", "VibeView", "iPhone Duo", "Xcode 27.1", "iOS 27.1", "macOS 26.6", "VibeView CLI", "MCP"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/show-hn-iphone-duo-simulator-in-the-browser-no-waitlist-agents-cli", "markdown": "https://wpnews.pro/news/show-hn-iphone-duo-simulator-in-the-browser-no-waitlist-agents-cli.md", "text": "https://wpnews.pro/news/show-hn-iphone-duo-simulator-in-the-browser-no-waitlist-agents-cli.txt", "jsonld": "https://wpnews.pro/news/show-hn-iphone-duo-simulator-in-the-browser-no-waitlist-agents-cli.jsonld"}}