Will UVC native support come for the Iphone as well?
So, using external cameras with the ipad is greatly beneficial, but for the iphone, it can make it a production powerhouse!
So, have there been discussions around bringing UVC support for the Iphone as well? and if so, what were your conclusions?
Posts under iPadOS tag
159 Posts
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hi everyone!
I've considered this — what if Apple added a native system-wide feature in all of iOS, iPadOS, and macOS called “CrossRun” where you can natively execute non-App Store software like Windows or Linux apps natively on your device? But not in a sluggish emulator—this would use intelligent Apple-signed Just-In-Time (JIT) compilation inside the virtual containers, and the experience would actually perform fast and feel natural.
This is my vision for CrossRun:
Every developer, student, creative professional, and enterprise user who relies on specialized software—whether it’s legacy Windows tools, Linux-only applications, or vintage DOS and Classic Mac utilities—feels the pain of platform lock‑in. Artists can’t run niche Linux‑based graphics programs on their iPads. Engineers can’t test x64‑only binaries on Apple Silicon without juggling emulators. Retro‑gaming fans miss their favorite DOS titles. Even enterprises struggle to standardize on Apple hardware because critical Windows‑only applications won’t run seamlessly.
If we don’t push for CrossRun now, the Apple ecosystem remains siloed: iPads and iPhones will continue limited to App Store apps, Macs will still need multiple third‑party VM tools, and countless workflows stay fragmented across devices. That means slower development cycles, extra licensing costs for virtualization software, and lost opportunities for education, creativity, and business efficiency. Without CrossRun’s universal runtime, we’ll still be rebooting into different environments or paying for separate virtualization apps—year after year.
Apple already provides the building blocks: Rosetta 2, Virtualization.framework, Apple Silicon—and QEMU thrives as open‑source, battle‑tested code. With the next wave of Apple Silicon devices on the horizon, demand for cross‑architecture support, legacy‑app compatibility, and enterprise containerization is only growing. Delaying another year will cost developers, businesses, and users real time and money. Let’s show Apple that the community is ready for a truly universal, system‑integrated solution—right now.
Key features we should demand in CrossRun:
Built‑in Apple‑signed QEMU for all ISAs (x86, ARM, RISC‑V, PowerPC, 68k, MIPS, etc.)
Rosetta 2 JIT for seamless macOS and Windows x64 support
Metal‑backed 3D GPU passthrough and Vulkan→Metal / Direct3D→Metal translation
Downloadable OS and app containers via the App Store or verified repositories (Ubuntu, Windows ARM/x64, Android, Haiku, ReactOS, FreeBSD, retro OSes)
Predictive ML pre‑warm cache to speed cold starts
Dynamic resource scaling (CPU, GPU, RAM) per container
iCloud‑synced snapshots and shareable VM links for cross‑device continuity
Customizable on‑screen controls (D‑pad, virtual buttons, trackpad, keyboard) on iPhone, iPad, and macOS
Secure sandboxing via Virtualization.framework with VM disk encryption and MDM policy enforcement
Virtual LAN and VPN passthrough for container networking
Developer tooling (crossrunctl CLI, Xcode debugger integration, CI/CD support)
Plugin ecosystem and container SDK for community‑published templates and translation layers
Let Apple know it’s time to bake CrossRun into the system and unlock a universal runtime for every app, past and future, across iOS, iPadOS, and macOS.
i would like to ask what are the new touchpad shortcuts in the latest os for ipad using a trackpad. The three fingers swipe to the right and left seemed to be removed. Thank you
In iOS26, when using a standalone UITabBar without UITabBarController, the liquid glass blur effect is not applied when scrollable content moves behind the tab bar. However, the blur effect appears correctly when using UITabBarController.
Sample Screenshots:
When using UITababr
When using UITababrController
Sample Code:
class SimpleTabBarController: UIViewController, UITabBarDelegate {
let tabBar = UITabBar()
let redItem = UITabBarItem(title: "Red", image: .add, tag: 0)
let blueItem = UITabBarItem(title: "Blue", image: .checkmark, tag: 1)
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .white
tabBar.items = [redItem, blueItem]
tabBar.selectedItem = redItem
tabBar.delegate = self
tabBar.translatesAutoresizingMaskIntoConstraints = false
let tableContainerView = TableContainerView()
view.addSubview(tableContainerView)
tableContainerView.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
tableContainerView.topAnchor.constraint(equalTo: view.topAnchor),
tableContainerView.leadingAnchor.constraint(equalTo: view.leadingAnchor),
tableContainerView.trailingAnchor.constraint(equalTo: view.trailingAnchor),
tableContainerView.bottomAnchor.constraint(equalTo: view.bottomAnchor)
])
view.addSubview(tabBar)
NSLayoutConstraint.activate([
tabBar.leadingAnchor.constraint(equalTo: view.leadingAnchor),
tabBar.trailingAnchor.constraint(equalTo: view.trailingAnchor),
tabBar.bottomAnchor.constraint(equalTo: view.bottomAnchor)
])
}
Under macOS 26 and iPadOS, the Help menu in many cases has a menu item for "App Help". This item has the following icon:
I need to use this in my own app. I am unable to find this icon in SF Symbols 7 beta. I've scanned all of the icons under "What's New". I've searched for "help", "light", and "bulb" and this icon does not appear.
Does anyone know if it's even a new SF Symbol? Or does anyone know of a way to use this icon?
On iPadOS 26, dragging my draggable() View near the edge of the screen is causing a new window to open.
This doesn't happen with .onDrag on iPadOS 26, or with either .draggable() or .onDrag on iPadOS 18.5.
This is not something I'm intending to offer in my app, and doesn't really make sense. Is there any way to prevent this from happening? Is this a bug? I couldn't find any new documentation.
The thing being dragged: the "Font" rectangle on the right side of the screen, which represents an item in my app that is reorder-able when multiple are present.
I'm building an iPad app targeting iPadOS 26 using SwiftUI. Previously, I added a custom button by overlaying it in the top-left corner:
content
.overlay(alignment: .topLeading) {
Button("Action") {
// ...
}
This worked until iPadOS 26 introduced new window controls (minimize/close) in that corner, which now overlap my button.
In the WWDC Session Video https://developer.apple.com/videos/play/wwdc2025/208/?time=298, they show adapting via .toolbar, but using .toolbar forces me to embed my view in a NavigationStack, which I don’t want. I really only want to add this single button, without converting the whole view structure.
Constraints:
No use of .toolbar (as it compels a NavigationStack).
Keep existing layout—just one overlayed button.
Support automatic adjustment for the new window controls across all window positions and split-screen configurations.
What I’m looking for:
A way to detect or read the system′s new window control safe area or layout region dynamically on iPadOS 26.
Use that to offset my custom button—without adopting .toolbar.
Preferably SwiftUI-only, no heavy view hierarchy changes.
Is there a recommended API or SwiftUI technique to obtain the new control’s safe area (similar to a custom safeAreaInset for window controls) so I can reposition my overlayed button accordingly—without converting to NavigationStack or using .toolbar?
as a beta tester I am trying to explore the OS on multiple platforms like iO, iPadOS, MacOS, WatchOS. While on trying to use beta 1 have few issues and reported to Apple with analytics as I do for better improvements. But, in beta 2 there is an issue of glitches on UI. This also tried to report. But, while am trying record screen I can not see in that video after the screen record. But, in reality I can see that glitch with eyes. as everyone know without evidence we can not report the same with tickets properly and they also can not resolve the issues. It’s affecting on all types of OS platforms of Apple buttons and search positions etc.
one more thing I absorbed is while am trying use overlay player and browse the safari or any apple developer apps which are full screen the devices are freezing and not responding and after hard restart those are starting after 10mins. As per my knowledge. Those are going through the memory overflow issue.
I am checking the response of DeviceInformation Command to collect network information from iPad.
On iPad(iPad Pro 11, M4) devices that use WiFi without inserting Usim or Esim, network values such as CurrentMCC and ICCID are received in response to the DeviceInformation command.
cf.)Even though it may be garbage value, I blurred the unique information just in case.
<key>ServiceSubscriptions</key>
<array>
<dict>
<key>CarrierSettingsVersion</key>
<string>61.0</string>
<key>CurrentCarrierNetwork</key>
<string></string>
<key>CurrentMCC</key>
<string>450</string>
<key>CurrentMNC</key>
<string>08</string>
<key>EID</key>
<string>blah blah</string>
<key>ICCID</key>
<string>blah balh</string>
<key>IMEI</key>
<string>blah blah</string>
<key>IsDataPreferred</key>
<true/>
<key>IsRoaming</key>
<true/>
<key>IsVoicePreferred</key>
<false/>
<key>Label</key>
<string>Provisioning</string>
<key>LabelID</key>
<string>00000000-0000-0000-0000-000000000000</string>
<key>PhoneNumber</key>
<string></string>
<key>Slot</key>
<string>CTSubscriptionSlotOne</string>
<key>SubscriberCarrierNetwork</key>
<string>iPad</string>
</dict>
</array>
This is a bit weird. If I collect the same information from an iPhone(iPhone 15 Pro Max) that only uses wifi and does not use Usim or Esim, it does not respond with values like ICCID, CurrentMCC, etc.
<key>ServiceSubscriptions</key>
<array>
<dict>
<key>IMEI</key>
<string>blah blah</string>
<key>Slot</key>
<string>CTSubscriptionSlotOne</string>
</dict>
<dict>
<key>EID</key>
<string>blah blah</string>
<key>IMEI</key>
<string>blah blah</string>
<key>Slot</key>
<string>CTSubscriptionSlotTwo</string>
</dict>
</array>
I'm confused by the network information collected. Is there a reason why the collected network information of iPad and iPhone are different?
Topic:
Business & Education
SubTopic:
Device Management
Tags:
iOS
iPadOS
Core Telephony
Device Management
Hello Apple Developer Community,
I'm developing an application for iPadOS 26 on an 11th generation iPad, using Objective-C. With the recent update to iPadOS 26, I've noticed a significant change in how app windows are presented. Specifically, the new minimize and close buttons, similar to those found on macOS, now appear in the top-left corner of app windows.
The issue I'm encountering is that these newly introduced system buttons overlap with custom buttons I've programmatically added to the left side of my app's navigation bar. This overlap affects nearly all screens in my application, making some of my essential UI elements inaccessible or difficult to interact with.
I'm looking for guidance on whether there's an official way to opt out of displaying these minimize and close buttons, or perhaps a method to adjust their position or visibility to prevent them from interfering with existing UI elements. My aim is to maintain the functionality and user experience of my application without having to redesign a substantial portion of its interface.
Any insights or suggestions from the community would be greatly appreciated. Thank you in advance for your help!
Hi Apple developer community. I have a question a lot of users don’t like the new control center and notification center. Are you guys gonna blur the background or are you guys gonna keep it the same?
In iOS 26, the mini keyboard bar does not consistently appear when typing with a hardware keyboard. This behavior differs from iOS 18, where the bar was always visible. See screenshots:
On iPads after updating to iPadOS 16.4, Safari often "looses" the session cookie provided by PlayFramework: When the browser requests assets (js scripts) or when additional data is fetched by JavaScript, the session cookie is not included in the request.
These secondary requests will redirect through our IAM because no session cookie is present. The IAM redirects back to the original domain with a payload so that the login session can be resumed. A new Set-Cookie header is sent in the response with the new session cookie.
This causes the framework to issue a new CSRF token (that is part of the session cookie) which is different from the old one that was already rendered into a hidden form input. The browser stores this new token and includes it when it POSTs the form. The token in the body of the request is now different from the one in the cookies, causing the CSRF check to fail.
We have tried different devices (Android, Windows, MacBook, and iPads) on different versions. The problem only occurs with Safari on iPad/MacBook running version 16.4, 16.4.1, or 16.5 beta. The problem cannot be reproduced using Chrome on iPad. Furthermore, the problem does not occur with private browsing in Safari.
Some things we ruled out:
Same behaviour on devices managed by MDM and on open devices.
PlayFramework version is now updated to the latest 2.8 version.
Using a separate cookie for the CSRF token (instead of the play session cookie) does not make a difference either.
Modifying the Cache-Control header to cache responses more aggressively or not at all does not help.
Has anyone also experienced this or similar problems?
With the latest iPadOS 26 changes, the traditional multitasking experience using Slide Over and Split View has been removed in favor of Stage Manager. While Stage Manager is a great option for some, the old multitasking UI was more intuitive, stable, and ideal for quick productivity. Please consider restoring the classic multitasking gestures as an optional feature or toggle alongside Stage Manager. Many users like myself rely on the traditional layout for studying, work, and multitasking efficiency.
With iPadOS26, if I create a UITabBar, and use that to switch between views, the selected state never updates. I created this simple UIViewController to demonstrate the issue:
class SimpleTabBarController: UIViewController, UITabBarDelegate {
let tabBar = UITabBar()
let redItem = UITabBarItem(title: "Red", image: nil, tag: 0)
let blueItem = UITabBarItem(title: "Blue", image: nil, tag: 1)
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .white
tabBar.items = [redItem, blueItem]
tabBar.selectedItem = redItem
tabBar.delegate = self
tabBar.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(tabBar)
NSLayoutConstraint.activate([
tabBar.leadingAnchor.constraint(equalTo: view.leadingAnchor),
tabBar.trailingAnchor.constraint(equalTo: view.trailingAnchor),
tabBar.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor)
])
updateBackground(for: redItem)
}
func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
updateBackground(for: item)
}
private func updateBackground(for item: UITabBarItem) {
switch item.tag {
case 0: view.backgroundColor = .systemRed
case 1: view.backgroundColor = .systemBlue
default: view.backgroundColor = .white
}
}
}
The tabBar didSelect item method is called, and the background color gets updated as expected, but the selected state of the UITabBar stays the same.
I files a feedback for a related issue: FB17841678
I'm encountering an issue with front camera video recordings via browser (Safari/Chrome) on devices running iOS/iPadOS 18 and above:
On iPad, the recorded video appears upside down.
On iPhone, the recorded video is rotated 90 degrees.
The rear camera functions correctly without orientation issues.
This problem seems specific to browser-based recordings, as the native Camera app records videos with the correct orientation.
Has anyone else experienced this behavior? Is there a known workaround or fix?
The preview while recording is fine, the recorded video is oriented incorrectly.
There are significant crash reports coming from iOS 18 users regarding AVKit framework that starts from this line [AVPlayerController _observeValueForKeyPath:oldValue:newValue:] which seems to be coming from iOS internal SDK. There are 2 kinds of crash we found:
UI modification on background thread
From the stack trace it seems like when AVPictureInPictureController is being deallocated and its view is being removed from superview somehow the code is being executed in background thread because there is this line there _AssertAutoLayoutOnAllowedThreadsOnly highlighted before the crash.
But I’ve checked our code that plays around AVPictureInPictureController, in the locations where we would deallocate the object it will always be called on main thread which are insideviewDidLoad and deinit inside UIViewController class. From the log, it seems like the crash happened when user try to open another content when PIP player is active resulting in the current PIP instance will be replaced with a new one. My suspect is the observation logic inside AVPlayerController could be the hint to this issue, probably something broken over there since this issue happened across our app versions on iOS 18 users only.
Unfortunately, I was unable to reproduce this issue yet but one of my colleagues reproduced it once but haven’t been able to do it again since. The reports keep raising each day up to 1.3k events in the last 30 days now.
Over release object
This one has lower reports than the first one but I decided to include it since it might have relevant information regarding the first crash since the starting stack trace is similar. The crash timing seems to be similar to the first one, where we deallocate existing AVPictureInPictureController and later replace it with a new one and also found only in iOS 18 users which also refers to [AVPlayerController _observeValueForKeyPath:oldValue:newValue:]. I also was unable to reproduce this issue so far.
Oh, and both of the issues happened on both iPhone and iPad.
We’d appreciate any advice on what we can do to avoid this in the future and probably any hint on why it could happened.
I have reported this issue with bug number: FB15620734
I also attached one sample crash report for each of the crashes here.
non ui thread access.crash
over release.crash
We are using openURL:options:completionHandler: to open a tel:// number in the dialer to place a call. This works on iPhones and WiFi-only iPads (tested with a iPad Mini 6th Gen), but it is failing to open on an iPad 8th Gen (WiFi + Cellular) running iPadOS 18.5 being used by a customer. Prior to updating the iPad to iPadOS 18, the call worked on iPadOS 15.2 and opened the call in FaceTime as expected. Despite not opening the dialer in iPadOS 18, the completionHandler returns the success parameter as true. canOpenUrl also returns true. We created a small test application that reproduces the issue using the code snippet below in a new application, with the tel schema added to the info.plist Queried URL Schemes. We are currently using Xcode 16.3.
Test Steps:
Create a new blank application and replace ContentView.swift with the code snippet below
Run the test app on a physical iPad 8th Gen (WiFi + Cellular)
Tap the "place a test call" button
Expected Results:
The user is prompted to call the number and is taken to FaceTime to attempt the call. The user may then receive an alert telling them an iPhone must be paired if not already. Alternatively: return success = false in the completionHandler.
Actual Results:
No action occurs that is visible to the user, and the completionHandler returns success = true.
Separately, we should be able to have some method of checking if the device can actually complete a call, i.e. if an iPhone is paired, so that we can correctly show or hide a phone icon in the app based on if the user can place a call. canOpenUrl returns true even if there is not a device paired and the call cannot actually be placed, and there doesn't seem to be a proper method for making that check.
Code Snippet:
import SwiftUI
struct ContentView: View {
@State private var showAlert = false
var body: some View {
VStack {
Image(systemName: "globe")
.imageScale(.large)
.foregroundStyle(.tint)
Text("Hello, world!")
Button("Place a test call") {
if let url = URL(string: "tel://5555554567") {
UIApplication.shared.open(url) { success in
if success {
print("Call initiated successfully.")
} else {
showAlert = true
}
}
}
}
}
.padding()
.alert("Call Failed", isPresented: $showAlert) {
Button("OK") { showAlert = false }
} message: {
Text("The call could not be initiated.")
}
}
}
#Preview {
ContentView()
}
When I create a tab group for the sidebar on iPad, the title and disclosure triangle act like a single control. Every time I tap the section title, the disclosure triangle for that section activates and hides or exposes that section's children and actions.
I want the section title to behave like Photos, where tapping a section title just displays its view controller, and the disclosure triangle is a separate control that must be tapped to hide and show children and actions.
I did not see any delegate methods that would let me control this behavior. Is this supported?
Hello,
I've been trying to figure this thing for a while now, but I've not able to find any resolution. I've a UIAlertController object presented as UIAlertControllerStyleActionSheet.
It's fairly straightforward code:
UIAlertController *listSheet = [UIAlertController alertControllerWithTitle:NSLocalizedStringFromTableInBundle(@"Please Select a Report", nil, [LDKLocalizationTool currentBundle], @"Chart report selector") message:nil preferredStyle:UIAlertControllerStyleActionSheet];
[self.charts enumerateObjectsUsingBlock:^(ChartDefinition *chart, NSUInteger idx, BOOL *stop) {
UIAlertAction *anAction = [UIAlertAction actionWithTitle:chart.graphLabel style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
// handler logic
}];
[listSheet addAction:anAction];
}];
// Set the anchor point for the AlertController
UIPopoverPresentationController *popoverPresenter = [listSheet popoverPresentationController];
if (popoverPresenter) {
popoverPresenter.sourceView = sender;
popoverPresenter.sourceRect = [sender bounds];
}
// Display the AlertController
[self presentViewController:listSheet animated:YES completion:nil];
However, when presented, the action sheet shows up as shown in the attached screenshot.
There are no autoLayout constraints or anything like that to cause issues with layout.
I'm not sure why it's causing this issue. Any suggestions or help is much appreciated!
iPadOS version: 18.4
Xcode version: 16.3
M4 Mac with macOS 15.5