I need the USB Host Controller Interface Specification for Apple Silicon to develop low-level USB communication on iOS,could you send me the link to the document?
Overview
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
The buttons in the navigation bar are not available in the element tree after iOS 26 upgrade of the test phones. The same IPA version, the same XCode version, but different trees on different phones. There is no way to automate UI testing for these missing buttons.
# ios 18
NavigationBar, 0x108e0c3c0, {{0.0, 47.0}, {390.0, 44.0}}, identifier: 'Profile'
Button, 0x108e0c500, {{8.0, 47.0}, {43.0, 44.0}}, identifier: 'UserProfileSceneViewController_profile_back_button', label: 'chevronLeftIcon'
StaticText, 0x108e0c640, {{169.3, 58.0}, {51.3, 22.0}}, label: 'Profile'
Button, 0x108e0c780, {{339.0, 47.0}, {43.0, 44.0}}, identifier: 'UserProfileSceneViewController_settings_bar_button', label: 'Settings'
# ios 26
NavigationBar, 0x13d63c8c0, {{0.0, 47.0}, {428.0, 54.0}}, identifier: 'Profile'
StaticText, 0x13d63ca00, {{188.3, 58.0}, {51.3, 22.0}}, label: 'Profile'
I've been experimenting with the Muse pen and understand that it can be accessed by my app through a SpatialTrackingSession, but is there any current or planned support for devices like this as for general UI input like game controllers are? For example, using the button as a tap analogue for SwiftUI views.
Topic:
Spatial Computing
SubTopic:
General
I have the June 2025 version, but I'd like to find the 2022. There was something removed from the 2022 that I would like to check out.
I added a new device and it's not recognizing the device model. This causes a message saying "Unable to verify" when signing an app. Has anyone else encountered this issue? This only happens with this one device, not others.
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Currently, we are using the Apple V2 interface to develop the payment function. We generate a transaction ID on the mobile client and obtain the receipt. Now, when we call the Apple sandbox environment interface to verify the receipt, we always get a 404 error. The above is the request and response. The token used in it is also the original data after decoding, and there is no problem. Could you help me figure out what other possible reasons there might be?
Topic:
App & System Services
SubTopic:
StoreKit
Hello,
I am trying to create a new distribution version in the App Store connect but keep on getting a pop-up prohibiting me from doing so because it says I have to agree to an updated agreement on the Apple Developer website.
When I visit the account settings in the Apple Developer website there is no agreement for me to select and agree to.
Please help. Pics attached.
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect
方法不执行,当我点击avplayerviewcontroller 全屏点击返回按钮 时 func playerViewController(_ playerViewController: AVPlayerViewController,
willEndFullScreenPresentationWithAnimationCoordinator coordinator: UIViewControllerTransitionCoordinator) 没有执行
Topic:
Media Technologies
SubTopic:
Video
Hi, I have started app development fairly recently and I decided to develop for Apple due to the fact that my school uses iPads and they were so convincing that I decided to buy more Apple products adding to the experience with the iPad such as a Mac where I learned Xcode, Swift and SwiftUI as far as I could comprehend.
I am working on a document based app for my school and I want to implement a toolbar that’s user customizable. There seems to be no way to get a customizable toolbar running on iPadOS26 though iPadOS16 has supported this feature and it has been till 18, I believe. I have set up a doc-based app in Xcode and that and all of its views do work except the toolbar that I added to my NavigationSplitView. The items show, when their defaultCustomization isn’t set to .hidden. The toolbar is given an id and the items are all wrapped in the ToolbarItem structure that also is given an id and the placement of .secondaryAction. The items show up and behave as expected in terms of grouping and making space if there isn’t enough room for all items so some appear in the overflow menu. From apps like Preview, Reminders and MindNode I know that the customization is supposed to still be available but it lives in the menu bar, where I haven’t seen it under view. It seems like there is a thing that my toolbar does not conform to or that there is a method that‘s called, when the user wants to customize the toolbar that I don’t know about. I would much appreciate a quick fix, solution or suggestion.
I have this MWE right here -- it has a toolbar with a random action on it, in addition to a scroll view as the content of the window, with random labels attached inside. Since the redeisgn of the NSToolbar stuff in Tahoe, I expect the share button be able to "float" on top of the scrolled out content as shown as the first image at https://developer.apple.com/documentation/TechnologyOverviews/adopting-liquid-glass.
#import <Cocoa/Cocoa.h>
@interface AppDelegate : NSObject <NSApplicationDelegate, NSToolbarDelegate>
@property (strong) NSWindow *window;
@end
@implementation AppDelegate
- (void)applicationDidFinishLaunching:(NSNotification *)notification {
NSRect frame = NSMakeRect(100, 100, 600, 400);
self.window = [[NSWindow alloc] initWithContentRect:frame
styleMask:(NSWindowStyleMaskTitled |
NSWindowStyleMaskClosable |
NSWindowStyleMaskResizable |
NSWindowStyleMaskMiniaturizable)
backing:NSBackingStoreBuffered
defer:NO];
[self.window setTitle:@"Scroll View + Toolbar Demo"];
NSToolbar *toolbar = [[NSToolbar alloc] initWithIdentifier:@"MainToolbar"];
toolbar.displayMode = NSToolbarDisplayModeIconAndLabel;
toolbar.delegate = self;
[self.window setToolbar:toolbar];
NSScrollView *scrollView = [[NSScrollView alloc] initWithFrame:self.window.contentView.bounds];
[scrollView setAutoresizingMask:(NSViewWidthSizable | NSViewHeightSizable)];
[scrollView setHasVerticalScroller:YES];
[scrollView setHasHorizontalScroller:YES];
NSView *documentView = [[NSView alloc] initWithFrame:NSMakeRect(0, 0, 1000, 1000)];
for (int i = 0; i < 10; i++) {
NSTextField *label = [[NSTextField alloc] initWithFrame:NSMakeRect(50, 950 - i*80, 400, 40)];
[label setStringValue:[NSString stringWithFormat:@"Sample Label #%d", i + 1]];
[label setBezeled:NO];
[label setDrawsBackground:NO];
[label setEditable:NO];
[label setSelectable:NO];
[documentView addSubview:label];
}
[scrollView setDocumentView:documentView];
[self.window setContentView:scrollView];
[self.window makeKeyAndOrderFront:nil];
}
- (NSArray<NSToolbarItemIdentifier> *)toolbarAllowedItemIdentifiers:(NSToolbar *)toolbar {
return @[NSToolbarFlexibleSpaceItemIdentifier, @"ShareItem"];
}
- (NSArray<NSToolbarItemIdentifier> *)toolbarDefaultItemIdentifiers:(NSToolbar *)toolbar {
return @[@"ShareItem"];
}
- (NSToolbarItem *)toolbar:(NSToolbar *)toolbar itemForItemIdentifier:(NSToolbarItemIdentifier)itemIdentifier willBeInsertedIntoToolbar:(BOOL)flag {
if ([itemIdentifier isEqualToString:@"ShareItem"]) {
NSToolbarItem *shareItem = [[NSToolbarItem alloc] initWithItemIdentifier:itemIdentifier];
shareItem.toolTip = @"Share this content";
shareItem.image = [NSImage imageNamed:NSImageNameShareTemplate];
shareItem.target = self;
shareItem.action = @selector(shareAction:);
return shareItem;
}
return nil;
}
- (void)shareAction:(id)sender {
NSLog(@"Share button clicked!");
// Here you could present a sharing service picker
NSSharingServicePicker *picker = [[NSSharingServicePicker alloc] initWithItems:@[@"Hello, world!"]];
[picker showRelativeToRect:[sender view].bounds ofView:[sender view] preferredEdge:NSRectEdgeMinY];
}
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSApplication *app = [NSApplication sharedApplication];
AppDelegate *delegate = [[AppDelegate alloc] init];
[app setDelegate:delegate];
[app run];
}
return EXIT_SUCCESS;
}
But it doesn't and produces this image:
https://imgur.com/a/kA7MzIe
I've tried to set various settings to make the top bar transparent, but all it does is that it makes it completely opaque instead. How can I make the share button float on top of the content?
P.S. the app is a single-file app, compile it with
clang -fobjc-arc -framework Cocoa -o ScrollApp toolbar.m
Topic:
UI Frameworks
SubTopic:
AppKit
We are using Apple's PSSO to federate device login to out own IdP. We have developed our own extension app and deployed it using MDM. Things works fine but there are 2 issues that we are trying to get to the root cause -
On some devices after restarting we see an error message on the logic screen saying "The registration for this device is invalid and must be repaired"
And other error message is "SmartCard configuration is invalid for this account"
For the 1st we have figured out that this happens when the registration doesn't happen fully and the key is not tied to the user so when the disk needs to be decrypted at the FileVault screen the issue is raised.
For the "SmartCard configuration is invalid for this account" issue also one aspect is invalid registration but there has been other instances as well where the devices were registered completely but then also the the above error was raised. We verified the registration being completed by checking if the SmartCard is visible in the System Report containing the key.
Has anyone seen the above issues and any possible resolution around it?
Hello,
I'm experiencing consistent crashes of XCPreviewAgent when using Xcode Previews on macOS 26.0.1 Tahoe (25A362).
Configuration:
macOS: 26.0.1 (25A362) - stable release
Xcode: 16.0 (23.0.54) - stable release
Hardware: MacBook Pro M4
Project: SwiftUI iOS app
Issue:
Every time I try to use Xcode Previews, XCPreviewAgent crashes with:
Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Subtype: KERN_PROTECTION_FAILURE at 0x0000000340e54000
Termination Reason: Namespace SIGNAL, Code 10, Bus error: 10
The crash occurs in shared memory region during dynamic library loading.
What I've tried:
Cleared all caches: rm -rf ~/Library/Developer/Xcode/DerivedData
Deleted Preview data: rm -rf ~/Library/Developer/Xcode/UserData/Previews
Reset simulators: xcrun simctl --set previews delete all
Switched xcode-select to /Applications/Xcode.app/Contents/Developer
Tried both Xcode stable and Xcode beta
Created fresh simulators
Clean build (Cmd+Shift+K)
Rebooted Mac multiple times
The app runs fine on simulator (Cmd+R), but Previews consistently crash.
Our app is developed for iOS, but some users also run it on macOS (as an iOS app via Apple Silicon). The app requires local network permission, which works perfectly on iOS. Previously, the connection also worked fine on macOS, but since the recent macOS update, the app can no longer connect to our device.
Additionally, our app on macOS doesn't prompt for local network permission at all, whereas it does on iOS. Is this a known issue with iOS apps running on macOS? Has anyone else experienced this problem, or is there a workaround?
Any help would be appreciated!
Topic:
App & System Services
SubTopic:
Networking
Hi,
macOS (latest macOS, latest HW, but doesn't matter) seems to prevent CoreMIDI driver logging with standard logging procedures (syslog, unified logging).
The only chance to log something is writing to a file at one of the rare write-accessible locations for CoreMIDI.
How is this supposed to work? Any hint is highly appreciated. Thanks!
Problem Description
I am using CLLocationManager to obtain the device's compass heading (direction), and I have encountered an abnormal behavior:
When the user is stationary: After calling startUpdatingHeading(), the CLHeading object returned in the locationManager(_:didUpdateHeading:) callback correctly reflects the device’s actual physical orientation (i.e., the direction the top of the device is pointing) in terms of magnetic north / true north, via the magneticHeading and trueHeading properties. When I rotate the device, the heading values change accordingly — this is the expected behavior.
But when the user is in motion (e.g., driving a car): Even if I rotate the device, the values of magneticHeading and trueHeading no longer reflect the device’s actual orientation. Instead, they consistently return what appears to be the user's or vehicle's travel direction (forward direction). In other words, the compass behaves as if it is reporting the direction of motion rather than the device’s actual facing direction.
Only after the user has completely stopped moving, does rotating the device again result in magneticHeading and trueHeading reflecting the actual device orientation as expected.
However, on another device running iOS 16 (iPhone XR), this behavior does not occur — everything works normally.
Expected Behavior
I expect that regardless of whether the user is moving or not, the CLHeading values returned by CLLocationManager should always represent the physical orientation of the device itself (i.e., which direction the top of the device is pointing), as a standard compass should.
Actual Behavior
User is stationary, rotating the device: magneticHeading / trueHeading change properly according to the device’s actual orientation
User is in motion (e.g., driving):magneticHeading / trueHeading remain fixed to the direction of motion (travel direction), and do not change when the device is rotated
User stops moving, then rotates the device:Compass behaves normally again, reflecting the actual device orientation
Environment Information
iOS Version: iOS 26.0.1
Device Models: iPhone 15 Pro / iPhone 17 Pro
Xcode Version: Xcode 26.0.1
Language: Objective-C
Questions
Is this a known issue in iOS? Are there any related radars or official documentation about it?
Have other developers encountered similar issues, especially where CLHeading behaves incorrectly when the user is in motion?
Do I need to set any specific parameters in CLLocationManager (such as headingOrientation) to resolve or work around this issue?
🙏 Thank you for your help — any insights, experiences, or official feedback regarding this issue would be greatly appreciated!
Some Apple URL schemes are documented for third-party use. It’s fine to use those URL schemes for their intended purpose.
Other Apple URL schemes are not officially documented. Their use is unsupported. If you rely on such implementation details, things might work, or they might not, and that state might change over time.
IMPORTANT If you ship via the App Store, pay attention to clause 2.5.1 of the App Review Guidelines.
The Apple URL scheme documentation is not always easy to find. I’m aware of the following:
Apple URL Scheme Reference
QA1924 Opening Keyboard Settings from a Keyboard Extension [This Q&A was retired years ago.]
Preparing your app to be the default messaging app
The doc comments for es_new_client in <EndpointSecurity/ESClient.h>
Developer > Bug Reporting describes the applefeedback scheme
Additionally, as questions about this most commonly crop up in the context of opening Settings (System Settings on macOS), I wanted to highlight the following:
UIApplication.openSettingsURLString property (in Objective-C this is UIApplicationOpenSettingsURLString)
UIApplication.openNotificationSettingsURLString property (in Objective-C this is UIApplicationOpenNotificationSettingsURLString)
UIApplication.openDefaultApplicationsSettingsURLString property (in Objective-C this is UIApplicationOpenDefaultApplicationsSettingsURLString)
AccessibilitySettings.openSettings(for:) method
FIFinderSyncController.showExtensionManagementInterface() class method
SMAppService.openSystemSettingsLoginItems() class method
VSOpenTVProviderSettingsURLString global
CXCallDirectoryManager.openSettings(completionHandler:) method
If your app needs to perform some action that’s not covered by the above, file an enhancement request for a supported way to do that. Make sure to describes your use case in detail.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
Revision History
2025-10-28 Added a reference to UIApplication.openDefaultApplicationsSettingsURLString. Made other minor editorial changes.
2025-04-21 Added a reference to CXCallDirectoryManager.openSettings(completionHandler:).
2024-10-25 Added a reference to UIApplication.openNotificationSettingsURLString and VSOpenTVProviderSettingsURLString. Added a link to Preparing your app to be the default messaging app.
2024-10-01 Added info about the applefeedback URL scheme.
2024-09-29 Added a reference to SMAppService.openSystemSettingsLoginItems().
2024-09-27 Added a titbit for Finder Sync extension developers. Added an invitation to file feedback.
2024-08-05 First posted.
I am writing an NSFileProviderReplicatedExtension for my app. Every once in a while it will get to a point where
NSFileProviderManager.getDomainsWithCompletionHandler { domains, error in
DispatchQueue.main.async {
if let error = error {
completion(.failure(.domainQueryFailed(error)))
} else {
completion(.success(domains))
}
}
}
this always fails, once this happens then regardless of what I do - clean build, restart machine, uninstall plugin nothing works. The only way to get back to a wokring state is a full reinstall of the OS. It seems like when this happens Finder gets to a weird irrecoverable state that only a restart can fix. When it fails the error is always :
The application cannot be used right now.
the only way out is reisntall the OS. When this happened last time, I was advised to the use the debugging profile: https://developer.apple.com/forums/thread/797053 I now have that and have the log which is 300MB file, where do I upload it to? My machine is in that state, is there anything else I can run or diagnose to address this?
Hello,
I am setting up a feature for my company's banking app that allows users to add their payment/debit card they have with us to the Apple Wallet on their device. We have the in-app provisioning entitlement setup and configured in the app and configured with our banking partner/TSP. We are able to manually provision production environment cards via the Wallet app.
I am using test card data from my TSP. I send them the two certificates, nonce, and nonce signature data and am given activationData, encryptedPassData, and an ephmeralPublicKey that we then set on an instance of PKAddPaymentPassRequest. We call the handler on the delegate method that is called with that request object and get an error:
The operation couldn’t be completed. (PKPassKitErrorDomain error 2.)
Looking at the PassKit library shows this is PKUnsupportedVersionError - Unsupported pass version.
Our TSP hasn't been super helpful in troubleshooting this issue and just said we should contact Apple as it is an Apple error.
I am trying to figure out if the issue is with how we are implementing the feature or with the test data itself given to us.
Topic:
App & System Services
SubTopic:
Apple Pay
Hi, it seems that with iOS26 the system displays two entries in the screentime report for apps that use a WKWebView: one for the app itself and one for the website that was displayed in the app. We don't see this behaviour in iOS18.7.
I'm reseaching how to disable the recording for the webviews in one of our apps (written in Swift with UIKit).
The STWebpageController looked promising, especially the field suppressUsageRecording, but the whole class is poorly documented.
We initialized it with the bundle identifier of the app and set the url of the wkwebview as the url in STWebpageController. It looks a bit like this:
webView = WKWebView(frame: .zero, configuration: config)
view.addSubview(webView)
//setup STWebpageController
webpageController = STWebpageController()
do {
try webpageController!.setBundleIdentifier(bundleIdentifier)
} catch{
}
webpageController!.suppressUsageRecording = true
addChild(webpageController!)
view.addSubview(webpageController!.view)
webpageController!.view.frame = view.frame
webpageController!.didMove(toParent: self)
//load url in webView
let request = URLRequest(url: url, cachePolicy: .reloadIgnoringLocalCacheData)
webview.load(request)
webpageController?.url = request.url
This has no effect on the recorded screentime for the webview inside our app - we still see the same time for the container app and the included webview.
Any suggestions?
Thanks,
Heiko
Its possible to add the Declared Age Range entitlement to extensions, in particular I'm looking at a Notification Service Extension.
However the DAR requestAgeRange() API takes a view controller as a parameter. Presumably therefore its not possible for a notification service extension to obtain the age range itself directly?
Yes the extension can read it from shared groups if the app reads it and set it into the group. However the scenario I'm thinking of is this:
App runs and gets the age range. Sets its functionality accordingly.
The server sends pushes which are intercepted by the notification service extension, the extension adjusts its functionality based upon what the app wrote to shared groups
The user changes the age range setting, but the app doesn't run.
The extension keeps receiving pushes but its functionality is now out of sync with the age range as its not able to obtain it directly
Topic:
App & System Services
SubTopic:
General