proomt

Search

Search posts, papers, and topics

All posts

Ray Wenderlichhococoder5 min readintermediate

Seeing Double with the iPhone Duo [FREE]

Summary

A speculative preview of Apple’s upcoming iPhone Duo, summarizing hinted‑away SwiftUI/UIKit APIs (size classes, split view, tab‑bar placement, toolbar axis, badge, overflow) and advising developers to target iOS 27 SDK now while waiting for Xcode 27.1.

  • Target iOS 27.0 SDK now so your app can run on Duo, but full UI support requires the upcoming Xcode 27.1 / iOS 27.1 beta (expected Sep 2026).
  • Size classes and Split View multitasking remain the primary layout tools; Duo adds a hinge that can split the screen in portrait or landscape.
  • SwiftUI provides pre‑tuned components (NavigationStack, NavigationSplitView, TabView) that automatically adapt to the hinge; custom UI must use new overrides.
  • New SwiftUI modifiers: `.defaultTabBarPlacement(.sidebar)`, `.axisBehavior(.verticalPreferred)`, `.badge(_:)` (iOS 26), and overflow controls (`ToolbarOverflowMenu`, `.visibilityPriority`). UIKit equivalents exist (e.g.…

If you maintain iOS apps that need to survive the next generation of foldable hardware, knowing the upcoming layout primitives and API surface early can save refactor time once the official SDK lands.

3/10

Related reading

  1. Native Drag and Drop Meets Cross-Device Continuity

    Codename One 8.0 adds two user‑experience primitives: **Cross‑Device Continuity** (state checkpointing + Apple Handoff + custom HTTP relay) and **Native Drag‑and‑Drop** (OS‑level drag using the same ClipboardContent model). The post shows the API (StateProvider, Continuity.checkpoint, NativeDragOperation), platform support tables, and practical advice on payload size, security, thread handling, a…

    CodeName Onecodenameone.com7 min
  2. Watch Follow-Through: Complications, Tiles, and a Companion Wear APK

    Codename One 6.5 adds full watch‑face support: surface declarations now generate Apple Watch WidgetKit extensions and Wear OS complication data sources plus ProtoLayout Tiles. A phone‑side `Surfaces.publish()` mirrors descriptors to the watch via WatchConnectivity/Data Layer. Android builds now emit both a phone APK and a Wear‑only APK (or a standalone watch APK). WatchOS build failures were fixe…

    CodeName Onecodenameone.com5 min
  3. A Mac App, Not an iOS App on a Mac

    Codename One switched its default Mac build from iOS‑Catalyst to a native AppKit port. The new path creates true NSApplication/NSWindow objects with per‑window CAMetalLayer rendering, native menus, text input, multi‑monitor support and accessibility, eliminating the costly image‑copy pipeline of Catalyst and enabling proper desktop window behavior.

    CodeName Onecodenameone.com3 min