Search results for

A Summary of the WWDC25 Group Lab

10,107 results found

Post

Replies

Boosts

Views

Activity

iOS TestFlight Build constantly rejected with "App failed to load content" (Guideline 2.1) despite API key restriction removed
Hello Apple Developer Community, I am facing a persistent issue with my iOS TestFlight builds that keeps getting rejected for Guideline 2.1 - Performance - App Completeness, specifically Your app failed to load any content at launch. (blank white screen). My app is With Wans Camp Map (App ID: com.jiro.withwanscampmap). Here's a summary of the situation: App Functionality: The app uses Google Sheets API to fetch campsite data (pins) and Google Maps API to display them on a map. Local Development (Expo Go): When running the app locally using npx expo start and connecting with the Expo Go app, and with the Google Cloud Platform (GCP) API key Application restrictions set to None (no restriction), the app loads successfully and displays all pins correctly. This confirms the API keys themselves and the data fetching logic are working. TestFlight Builds (Rejected): All attempts to upload builds via EAS Build (profile preview with autoIncrement: true in eas.json) and Transporter have resulted in rejection wi
1
0
279
Jul ’25
Core Data crash when used in widget extension
I have this very simple PersistenceController setup. It's used in both the main app and widget target. struct PersistenceController { static let shared = PersistenceController() @MainActor static let preview: PersistenceController = { let result = PersistenceController(inMemory: true) let viewContext = result.container.viewContext return result }() let container: NSPersistentContainer /// The main context. var context: NSManagedObjectContext { return container.viewContext } init(inMemory: Bool = false) { container = NSPersistentContainer(name: Gamery) if inMemory { container.persistentStoreDescriptions.first!.url = URL(fileURLWithPath: /dev/null) } else { do { let storeURL = try URL.storeURL(forAppGroup: XXXXXXXXXX, databaseName: Gamery) let storeDescription = NSPersistentStoreDescription(url: storeURL) /// Enable history tracking for cloud syncing purposes. storeDescription.setOption(true as NSNumber, forKey: NSPersistentHistoryTrackingKey) print(### Persistent container location: (storeURL)) container.persi
1
0
96
Jul ’25
Reply to Passing URLAuthenticationChallenge with cert installed on device
[quote='847825022, michael_aiphone, /thread/791563?answerId=847825022#847825022, /profile/michael_aiphone'] For now, the user would need to install manually. [/quote] OK. Just to be clear, this is not a great approach. Historically iOS made it hard for site admins to provision credentials to specific apps. However, that changed in iOS 18.4 with the advent of the ManagedApp framework. That would be a great path forward for you. However, if you want to do this manually then things get tricky. If the site admin sends a certificate to a user and the user installs it, the system puts that certificate in one of two places: If it’s a root certificate, the system adds it to the per-device trust store. If not, the system adds it to an Apple keychain access group. Neither of these is ideal. In the first case, the user has to explicitly trust the root, with lots of scary warnings. And those scary warnings are justified. Installing a root is a massive extension of trust. In the second case, your app can’t access
Jul ’25
Reply to "FoundationModels GenerationError error 2" on iOS 26 beta 3
Thanks for providing more info. Error code 2 indicates a guardrail violation, meaning that the system determined your prompt might contain sensitive or unsafe content, and triggered the safety guardrails. To avoid the violation, consider rephrasing your prompt by removing words that are potentially sensitive or unsafe, if any. If your prompt is short, adding more details may help as well. For more information about prompt safety, watch the WWDC25 video: Explore prompt design & safety for on-device foundation models. If your input doesn't really contain any sensitive or unsafe content, I’d suggest that you follow this post to file an actionable feedback report using LanguageModelFeedbackAttachment, and then share your report ID here. Thanks. Best, —— Ziqiao Chen  Worldwide Developer Relations.
Jul ’25
App Store blocker related to the use of a private iOS class, NSBlock
Hi, Our recent security scans, performed by Data Theorem, have flagged a potential App Store blocker related to the use of a private iOS class, NSBlock. We are concerned that this identified warning may lead to our apps being rejected during the next App Store submission. Issue Summary: We integrate a library, this SDK is developed using Kotlin Multiplatform, and during compilation, Kotlin automatically generates Objective-C/Swift interoperability code. As a result of this code generation, the compiled framework includes a reference to a private Apple class, NSBlock. It’s important to note that: No methods or functionality from NSBlock are being invoked or used. This reference is auto-generated by Kotlin’s ObjCExport.mm module. For additional context, you may refer to a related discussion on this issue: https://github.com/ricohapi/theta-client/issues/98 https://github.com/JetBrains/kotlin-native/issues/1642 https://github.com/JetBrains/kotlin-native/pull/1652/files We would like to confirm whether th
0
0
97
Jul ’25
Reply to CAMetalLayer nextDrawable crash
Even I force set the invalid value to the CAMetalLayer's frame ( zero width and height)or bounds (zero width and height) or drawableSize ( zero or extreme large number ) 3 property, I can not local repro any crash in the my org's lab on dozens of various iPhone
Topic: Graphics & Games SubTopic: Metal Tags:
Jul ’25
Reply to Swift iOS iPadOS app for Smartcard Token PIV using CryptoTokenKit
Hi @DTS Engineer Quinn. I am new to swift development, and it's possible that I'm missing something fundamental/obvious. If so, I apologize in advance. I also realize that this post is a couple of years old - and perhaps outdated. However, I'm trying to accomplish something similar to what the original inquirer is asking for here, and thus far I haven't found anything recent that is as relevant as this post. The only difference is that I'm trying to use a PIV smart card to achieve authentication to a server rather than digitally signing a document. Unfortunately, I'm getting stuck when attempting to run the list() function you posted in the accepted answer above to simply list the certificates from the smart card. When attempting to call SecItemCopyMatching(), I'm getting a -34018 missing entitlement error. I've attempted to add the com.apple.token to my app's keychain-access-groups entitlements, but this does not resolve the issue. I have checked the entitlements in my built app, per your recommen
Topic: Privacy & Security SubTopic: General Tags:
Jul ’25
Reply to Local Push Connectivity - Unreliable Connection
Hi @DTS Engineer ! As we've taken some time to deep-dive into this, we're running into a dead-end here and are hoping to seek further guidance. To clarify, when our test iPhones (iPhone 15 on iOS 18.5, and iPhone 16 Pro on iOS 18.4) are locked and the app is backgrounded, the app extension will stop receiving the keep-alive messages over the SSE connection. Given our solution supports first responders, it is critical that the connection is stable to allow critical notifications to arrive as quick as possible. If the app does not receive the keep-alives from our local server within 5s, it tears down the connection and establishes a new one. While testing at home on an Eero router and TP Link Deco XE75 Pro, I have been unable to reproduce any issues with it. I will leave the phone, unplugged, with the app running in the background and it works as expected. Given this, we determined our issue was likely with the vendor who supplies our customer routers, which are Cradlepoint IBR900s. We have been working with th
Jul ’25
Is it possible to pass the streaming output of Foundation Models down a function chain
I am writing a custom package wrapping Foundation Models which provides a chain-of-thought with intermittent self-evaluation among other things. At first I was designing this package with the command line in mind, but after seeing how well it augments the models and makes them more intelligent I wanted to try and build a SwiftUI wrapper around the package. When I started I was using synchronous generation rather than streaming, but to give the best user experience (as I've seen in the WWDC sessions) it is necessary to provide constant feedback to the user that something is happening. I have created a super simplified example of my setup so it's easier to understand. First, there is the Reasoning conversation item, which can be converted to an XML representation which is then fed back into the model (I've found XML works best for structured input) public typealias ConversationContext = XMLDocument extension ConversationContext { public func toPlainText() -> String { return xmlString(options: [.nodePrettyPri
0
0
231
Jul ’25
Reply to SwiftData changes made in widget via AppIntent are not reflected in main app until full relaunch
In SwiftData, there are local changes and remote changes. Local changes are made from the same model container (ModelContainer); remote changes are made from a different model container. This is covered in the WWDC25 session: SwiftData: Dive into inheritance and schema migration (starting at 13:54). Your main app and its widget use different model containers (because they run in a different process). For your main app, a change made from your widget is remote, and isn't observable. If a view in your main app observes a SwiftData model, or a result set that you fetch from a SwiftData store, it won't get updated for any remote change. If you use @Query, however, the query controller under the hood observes the remote changes, and so a query-back SwiftUI view is supposed to get updated for a remote change. This is clearly described in the mentioned WWDC25 session. If you see otherwise, I’d suggest that you file a feedback report with a reproducible case, and share your report ID here. Best, ——
Jul ’25
Reply to DriverKit issue with TestFlight
In addition to the main app's entitlements and provisioning profile described above, here are the entitlements and provisioning profile details for our DriverKit extension: Driver Entitlements com.apple.developer.driverkit com.apple.developer.driverkit.transport.usb com.apple.security.app-sandbox Entitlements section in the Driver's Provisioning Profile Entitlements beta-reports-active com.apple.developer.driverkit application-identifier ABC123456.abc.def.ABCDriver com.apple.developer.driverkit.transport.usb idVendor 1234 com.apple.developer.driverkit.allow-third-party-userclients keychain-access-groups ABC123456.* com.apple.token get-task-allow com.apple.developer.team-identifier ABC123456
Topic: App & System Services SubTopic: Drivers Tags:
Jul ’25
DriverKit issue with TestFlight
Hi, We’re developing a DriverKit extension for iPadOS. In local Debug and Release builds, everything works as expected, but the same build uploaded to TestFlight fails at IOServiceOpen with the following errors: -536870212 (0xE00002EC) kIOReturnUnsupported -536870201 (0xE00002F7) kIOReturnNotPermitted What we’ve verified so far App entitlements We checked our main app entitlements file, and it has the correct capabilities for the driverkit communication <?xml version=1.0 encoding=UTF-8?> <!DOCTYPE plist PUBLIC -//Apple//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd> <plist version=1.0> <dict> <key>com.apple.developer.driverkit.communicates-with-drivers</key> <true/> <key>com.apple.developer.driverkit.userclient-access</key> <array> <string>abc.def.ABCDriver</string> </array> <key>com.apple.developer.system-extension.install</key> <true/> <key>com.apple.security.app-sandbox</key> <t
8
0
213
Jul ’25
Reply to Foundation Models performance reality check - anyone else finding it slow?
You can probably start with profiling your app with Instruments.app, as discussed in the WWDC25 code along session (starting at 24:32). How to set up the Foundation Models instrument is detailed here. The Foundation Models instrument provides the token numbers the models generate. From there, you can calculate how many tokens per second. The number can vary a lot, but if it is consistently much worse than 20~30/s, I'd suggest that you file a feedback report and share your report ID here. The WWDC25 session also discusses how to use prewarm and includesSchemaInInstructions to improve performance in cases that are appropriate. You can check if that can be applied to your app. Best, —— Ziqiao Chen  Worldwide Developer Relations.
Jul ’25
Subscriptions Missing from App After Approval – "Updates Pending Review" Blocked State
Hey everyone, I'm dealing with a really frustrating issue with auto-renewable subscriptions in my app and hoping someone can help or at least tell me what's going on. Here's what happened: When I first submitted my app I had already set up the monthly and yearly subscriptions in App Store Connect After a few rejections the app finally got approved, but when it went live I noticed the subscriptions were completely gone. Users could only see the lifetime purchase. I never removed anything or changed any major configurations, so I have no idea why they just disappeared I tried removing the app from sale and then also temporarily removed the subscriptions. After re-enabling them they now show as Approved when I look at them individually But in the Subscription Group it still says Updates Pending Review and I can't do anything - can't edit anything, can't resubmit I thought about submitting a new build hoping I could reselect the subscriptions, but they still don't show up as selectable in the in-app purc
1
0
193
Jul ’25