Search results for

A Summary of the WWDC25 Group Lab

10,091 results found

Post

Replies

Boosts

Views

Activity

Reply to iOS 26 Games app: Wired Switch Pro controllers (and GameSir X5 Lite) not working correctly
Thank you for taking the time to reply 🙏 I have already submitted a bug report via Feedback Assistant (FB20267035), but so far I haven’t received any follow-up. I also wanted to mention that on both Reddit and the GameSir Discord, many other users have confirmed experiencing the exact same issue with wired Switch Pro controllers (and GameSir X5 Lite). So it definitely seems to be affecting a larger group of users, not just me. Hopefully this additional context can help prioritize the fix. Thanks again!
Topic: Graphics & Games SubTopic: GameKit Tags:
Sep ’25
Reply to App Store–Compliant Methods for Uninstalling Root-Owned Applications
OK. Lemme start you out with a couple of links: On File System Permissions explains the different subsystems that all contribute to file system permissions on macOS. BSD Privilege Escalation on macOS describes the various ways to escalate privileges on macOS. In this case you’re dealing with two types of file system permissions: App Sandbox BSD You can get around the first with the coöperation of the user, that is, by having them select the relevant directory in an open or save panel. The issue you’re bumping into in the second. Consider the permissions on the Applications folder: % ls -ld /Applications drwxrwxr-x 89 root admin 2848 Sep 17 14:06 /Applications To remove application you need to be able to write to this directory. But you can only do that if you’re running as a user in the admin group. The directory is read-only for standard users. To get around this you need to escalate privileges. However, the App Review Guidelines specifically proscribe that (clause 2.4.5(v)) I’m only aware of one ex
Topic: App & System Services SubTopic: Core OS Tags:
Sep ’25
Reply to Best practice to prevent users from switching between subscriptions in the same group?
Hello - When offering in-app purchase subscriptions, it is common to offer different subscription periods for the same level of access - where the only differences are price and duration of subscriptions (e.g. monthly, quarterly, and annual.) If the access entitled by various subscriptions is the same (that is, a monthly subscriber has access to all of the same content, features, etc. as an annual subscriber), it is best practice to assign all of those subscription products to the same subscription group in App Store Connect, as documented here - including the assignment of subscription levels. This will ensure correct handling of upgrades, crossgrades, and downgrades, as documented here, and prevent customers from having more than one active subscription at a time. While developers can control how and when to merchandise subscription products in their app, it is not possible to restrict customers from switching between available products in the same subscription group from their Manage Subs
Topic: App & System Services SubTopic: StoreKit Tags:
Sep ’25
Subject: Advanced Commerce setup — one generic subscription vs per-product generics, and reporting identifiers
We’ve been approved for the Advanced Commerce API and are setting up the generic product identifiers per the guide: https://developer.apple.com/documentation/advancedcommerceapi/setting-up-your-project-for-advanced-commerce#Set-up-generic-product-identifiers We have multiple auto-renewable subscriptions (for simplicity: Product 1, Product 2, etc.). We created a new subscription group for Advanced Commerce and are about to add the subscription(s) inside that group. Should we create one auto-renewable subscription (generic, e.g. subscription.ac) to represent all of our subscriptions, or one generic per product family (e.g., product1.ac, product2.ac, …)? If the answer depends on whether subscribers can hold multiple products simultaneously, please advise which structure supports that (e.g., separate groups). Reporting identifiers / segmentation: In Sales and Trends and Payments & Financial Reports, which identifier(s) will appear after migration: the legacy StoreKit product_id, the
1
0
81
Sep ’25
Reply to Subject: Advanced Commerce setup — one generic subscription vs per-product generics, and reporting identifiers
The Advanced Commerce API utilizes two generic product identifiers that you configure within App Store Connect. A Consumable Product Type, which can be utilized for all one-time purchase products. An Auto-Renewable Subscription, which represents all your products in your catalog (also known as SKU). The reporting through App Store Connect provides the SKU. The SKU are available in Summary Sales Report & Financial Report. Note: A SKU can represent the in-app purchase product that you offer in the app. Therefore, ensure that you provide the identifier of the product that you offer customers to purchase.
Topic: App & System Services SubTopic: StoreKit Tags:
Sep ’25
Reply to Subscription Purchase product issue
Hello - First, to answer the question you asked in the video: how is it possible for subscribers to change from one plan to another? We can see that you have set up one subscription group with ten different products - eight of which are currently Ready for Sale (active.) When a customer subscribes to any product, they can at any time switch to a different product in the same group as documented here. See attached screenshot specific to your app and its available products. If your app is not presenting upgrade/downgrade/crossgrade options, then customers are switching from their Manage Subscriptions page. Any changes from one subscription to another can only be completed by the customer. Developers must ensure that the ordering and grouping of individual subscription products within a subscription group is addressed to meet their business needs, as documented here, under the section titled Assign subscription levels. This setup is completed in App Store Connect. Please let u
Topic: App & System Services SubTopic: StoreKit Tags:
Sep ’25
Reply to How to disable tab editing in a UITabBarController sidebar?
Thank you. Setting preferredPlacement to fixed was the missing piece. I already had allowsHiding set to false and I’m not using any tab groups. The Edit button no longer appears in the sidebar. But I have discovered an iOS 26 (and iOS 18) bug in the process. I need to file a bug report but here’s the issue. I present the tab bar controller as a modal view controller on an iPad. If I resize the app window from full screen to a size that is horizontally compact while the tab bar controller is in view, the tab bar controller of course changes from showing a sidebar to showing an old style tab bar on the bottom with a More tab. Selecting the More tab now shows an Edit button. But only in this case. If the tab bar controller is presented after the app window is made horizontally compact, then the More tab does not show the Edit button.
Topic: UI Frameworks SubTopic: UIKit Tags:
Sep ’25
Reply to How to disable tab editing in a UITabBarController sidebar?
The 'Edit' button will show up in the sidebar as long as editing is supported in UITabBarController for the current set of tabs. Editing is supported if any of the following are true: Any tab has a customizable preferredPlacement (i.e. not .fixed or .pinned) If a tab can be hidden: allowsHiding = true If a tab group can be reordered: allowsReordering = true By default , the preferredPlacement is automatic which does support editing. Set it to .fixed to disable customization for them.
Topic: UI Frameworks SubTopic: UIKit Tags:
Sep ’25
Reply to iOS 26 RC - UITextField duplicates first IME character when losing focus
Log Comparison Details for Bug Report Detailed Log Analysis: iOS 18.4 vs iOS 26 RC Complete Test Scenario Log Comparison Test Case: Type あ → Press Enter → Type あ → Delete → Type A iOS 18.4 / Xcode 16 (Correct Behavior) // Step 1: Type first あ === stringRange: 0[any]..<0[any], currentText: , replacementText: a changedText: a, allowChange: true === // Note: IME shows a first, then converts to あ // Step 2: IME converts a to あ === stringRange: 0[utf16]..<1[utf16], currentText: あ, replacementText: あ changedText: あ, allowChange: true === // Result: Text = あ, Count = 1 ✓ // Step 3: Press Enter (No additional delegate call - composition confirmed correctly) // Result: Text = あ, Count = 1 ✓ // Step 4: Delete あ === stringRange: 0[utf16]..<1[utf16], currentText: あ, replacementText: changedText: , allowChange: true === // Result: Text = , Count = 0 ✓ // Step 5: Type A === stringRange: 0[any]..<0[any], currentText: , replacementText: A changedText: A, allowChange: true === // Result: Text = A, Count = 1 ✓ Fina
Topic: UI Frameworks SubTopic: UIKit Tags:
Sep ’25
iOS 26 Beta breaks scroll/gesture in SwiftUI chat (worked in iOS 18): Simultaneous gestures & ScrollViewReader issues
Hi all, After upgrading to the iOS 26 beta, the scrolling in my SwiftUI chat view is completely broken. The exact same code works perfectly on iOS 18. Context: I have a chat view using ScrollViewReader and a vertically-reversed ScrollView (with .rotationEffect(.degrees(180))). Each message row (MessageBubble) uses multiple simultaneousGesture handlers: Horizontal drag for swipe-to-reply (and other actions: pin, delete) Long press for showing popover/actions Vertical scroll for normal chat scrolling This was working great on iOS 18. In iOS 26 beta, the vertical scroll is either completely disabled, jittery, or hijacked by the message row’s drag gestures, even though .simultaneousGesture is used (see code below). Minimal Repro Sample MessageListView.swift swift Copy Edit ScrollViewReader { proxy in ScrollView(.vertical, showsIndicators: false) { LazyVStack(spacing: 0) { // ... grouped messages ForEach(...) { ... MessageBubble(...) // see below } Color.clear.frame(height: 8).id(BOTTOM_ANCHOR) } .padding
8
0
436
Sep ’25
Xcode Cloud timeouts
Hey, We're crunching to get our products ready for the announcements next week but are being slowed down by Xcode Cloud. Builds are failing and are extremely slow. We're using the latest Xcode beta and latest macOS release so we can upload our builds continuously to TestFlight. We're seeing builds taking up to almost an hour, even though takes around 10-15 minutes when it doesn't fail. The errors we're seeing seem to be timeout, for example: Showing All Errors Only The step invocation hit a user timeout. The xcodebuild build invocation timed out. No activity has been detected on stdout, stderr or the result bundle in 30 minutes. Here are links to some builds which have been restarted multiple times but keep failing for reasons out of our control. Please advice on how to get unblocked. https://appstoreconnect.apple.com/teams/69a6de80-3540-47e3-e053-5b8c7c11a4d1/apps/1102236212/ci/groups/8da12ae3-b454-4810-abe8-829f1af56a54 https://appstoreconnect.apple.com/teams/69a6de80-3540-47e3-e053-5b8c7c11a4d1/ap
3
0
304
Sep ’25
Reply to Disable iOS 26 UINavigationBar Auto Intvert Background and Title
You could try adjusting the edge effect using UIScrollEdgeEffect and specifying a different style. That said, starting in iOS 26, the recommendation is to reduce your use of custom backgrounds in navigation elements and controls. Any custom backgrounds and appearances you use in the navigation bar might overlay or interfere with Liquid Glass or other effects that the system provides, such as the scroll edge effect. To learn how to update your app to adopt Liquid Glass, see the following resources: Adopting Liquid Glass WWDC25 session 356: Get to know the new design system WWDC25 session 284: Build a UIKit app with the new design.
Topic: UI Frameworks SubTopic: UIKit
Sep ’25
Reply to Internet stops working after idle time when using VPN on iOS 26 beta
This is a customer setup, and we are unable to reproduce the issue locally in our lab. The customer is experiencing unusual behavior they report that VPN performance is fine when connecting to a nearby VPN server, but it slows down when connecting to a server in a distant location. We have asked them to check their network and infrastructure on their end, as we believe this may not be a VPN issue, they are looking into it. For the first issue where the VPN fails, our investigation suggests that the socket enters a bad state once the device is locked and extension goes to sleep. It is neither timing out nor sending data, which indicates the socket enters a bad state and the resource is not accessible. Note: Both issues are not reproducible on iOS 18.
Sep ’25
Reply to Liquid Glass material behaviour question
There is a way to tell different views that they should be part of the same liquid glass group. i don't remember how it's called exactly and if it will help but you could give it a shot. Apple talked about that API in one of the WWDC videos
Topic: Design SubTopic: General Tags:
Sep ’25