Fellow iOS developers, can you tell me how to make UIDatePicker usable on iOS 26?
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
I was searching for demo code from WWDC 2015 (Maze: Getting Started with GamePlayKit). Turns out, Apple remove the project from their website.
But I finally found the project on my Mac because I must have downloaded it in the past.
Does anyone know if I'm allowed to put that project to a public GitHub page without any modifications? Has anyone of you experience with this?
I think it's really bad that Apple is removing those old projects. And as this particular project is in ObjC it compiles with only minor adjustments.
When I try to get the frames of a AXUIElementRef using AXUIElementCopyAttributeValue(element, (CFStringRef)attribute, &result) the frames are shifted and rotated on the iOS simulator.
I get the same frames when using the Accessibility Inspector when the Max is selected as the host.
When I switch the host to the iOS simulator the frames are correct.
How is the Accessibility Inspector getting the correct frames? And how can I do the same in my app?
Topic:
Accessibility & Inclusion
SubTopic:
General
I'd like to add borders to all buttons in the iOS simulator from my Mac app. First I get the simulator window. Then I access the children of all AXGroup and if it's a button or a static text, I add a border.
But for some buttons this does not work. In the example image the NavigationBarButtons are not found. I guess the problem is, that for some AXGroup the children array access with AXChildren is empty.
Here is some relevant code:
- (NSArray<DDHOverlayElement *> *)overlayChildrenOfUIElement:(AXUIElementRef)element index:(NSInteger)index {
NSMutableArray<DDHOverlayElement *> *tempOverlayElements = [[NSMutableArray alloc] init];
NSLog(@">>> -----------------------------------------------------");
NSString *role = [UIElementUtilities roleOfUIElement:element];
NSRect frame = [UIElementUtilities frameOfUIElement:element];
NSLog(@"%@, role: %@, %@", element, role, [NSValue valueWithRect:frame]);
NSArray *lineage = [UIElementUtilities lineageOfUIElement:element];
NSLog(@"lineage: %@", lineage);
NSArray<NSValue *> *children = [UIElementUtilities childrenOfUIElement:element];
if (children.count < 1) {
NSLog(@"NO CHILDREN");
}
for (NSInteger i = 0; i < [children count]; i++) {
NSValue *child = children[i];
AXUIElementRef uiElement = (__bridge AXUIElementRef)child;
NSString *role = [UIElementUtilities roleOfUIElement:uiElement];
NSRect frame = [UIElementUtilities frameOfUIElement:uiElement];
NSLog(@"----%@, role: %@, %@", child, role, [NSValue valueWithRect:frame]);
}
NSLog(@"<<< -----------------------------------------------------");
for (NSInteger i = 0; i < [children count]; i++) {
NSValue *child = children[i];
AXUIElementRef uiElement = (__bridge AXUIElementRef)child;
NSString *role = [UIElementUtilities roleOfUIElement:uiElement];
NSRect frame = [UIElementUtilities frameOfUIElement:uiElement];
NSLog(@"%@, role: %@, %@", child, role, [NSValue valueWithRect:frame]);
if ([role isEqualToString:@"AXButton"] ||
[role isEqualToString:@"AXTextField"] ||
[role isEqualToString:@"AXStaticText"]) {
NSString *tag = [NSString stringWithFormat:@"%ld%ld", (long)index, (long)i];
NSLog(@"tag: %@", tag);
DDHOverlayElement *overlayElement = [[DDHOverlayElement alloc] initWithUIElementValue:child tag:tag];
[tempOverlayElements addObject:overlayElement];
} else if ([role isEqualToString:@"AXGroup"] ||
[role isEqualToString:@"AXToolbar"]) {
[tempOverlayElements addObjectsFromArray:[self overlayChildrenOfUIElement:uiElement index:++index]];
} else if ([role isEqualToString:@"AXWindow"]) {
[self.overlayWindowController setFrame:[UIElementUtilities frameOfUIElement:uiElement]];
[tempOverlayElements addObjectsFromArray:[self overlayChildrenOfUIElement:uiElement index:index]];
}
}
return [tempOverlayElements copy];
}
For some AXGroup the children are found. For some they are empty. I cannot figure out why.
Does anyone have an idea what I'm doing wrong?
Topic:
Accessibility & Inclusion
SubTopic:
General
From the Documentation of .timeLimit(_:):
Test timeouts do not support high-precision, arbitrarily short durations due to variability in testing environments. The time limit must be at least one minute, and can only be expressed in increments of one minute.
Unit Tests are usually considered too long when they take more than 0.1 seconds. So a minimal time limit of on minute is completely useless for unit tests.
Is there a similar trait in Swift Testing to handle millisecond time limits?
I created a menu bar only macOS app using SwiftUI. 'Application is agent (UIElement)' is set to YES in the Info.plist. I use automatic signing.
When I try to upload the app to App Store Connect, I get the following error.
Invalid Provisioning Profile. The provisioning profile included in the bundle de.dasdom.XcodeTips [de.dasdom.XcodeTips.pkg/Payload/XcodeTips.app] is invalid. [Invalid 'com.apple.application-identifier' entitlement value.] For more information, visit the macOS Developer Portal.
I also tried to create the certificates and the provisioning profile myself but got the exact same error each and every time.
How can I fix this?
Xcode Version: Version 14.1 (14B47b)
Deployment Target: macOS 13.0
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect
Tags:
TestFlight
Code Signing
App Store Connect
Mac App Store
I added widgets to my app and now it is crashing on launch when installed via TestFlight. The crashlog only shows ??? and the address 0x0 (see screenshot).
Has someone of you seen something like this already and has an idea how to fix it?
Some parameters:
Very old project (started in 2009)
some ObjC, some Swift, some SwiftUI
Added an intent handler extension and a widget extension
added base internationalisation
the project has localisations that are marked as deprecated. When I delete them, App Store connect tells me that the binary is invalid.
If you need more information, please let me know.
crashlog-D727A673-E3C1-405C-B002-F7581A78DA09.crash