Search results for

A Summary of the WWDC25 Group Lab

10,098 results found

Post

Replies

Boosts

Views

Activity

DID_FAIL_TO_RENEW Notification with a null gracePeriodExpiresDate
We are seeking clarification on the behavior of App Store Server Notifications V2. Summary In our production environment, we received a notification with notificationType: DID_FAIL_TO_RENEW and subtype: GRACE_PERIOD. However, the gracePeriodExpiresDate field in the payload was null. We understand this notification indicates that a user's subscription has entered a grace period. The null value for its expiration date is unexpected, and we are looking for an official explanation of this behavior and the correct way to handle it. The Scenario Here are the details of the notification we received: Notification Type: DID_FAIL_TO_RENEW Notification Subtype: GRACE_PERIOD Environment: Production Upon decoding the signedRenewalInfo JWS from the responseBodyV2, we found that the gracePeriodExpiresDate field inside the JWSRenewalInfoDecodedPayload was null. The notificationUUID for this event was in the format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. Our Implementation and its Impact Our backend is designed to ensu
2
0
153
Jul ’25
Reply to iOS Dynamically loaded custom fonts in WidgetKit not working on real device (simulator is fine). Sandbox chronod deny file-read-data for font file.
I am also facing the same problem. I am downloading the font dynamically and registering in main app before using but same thing is not working with Widget extension (live activity) .Even If I moved the font file into App Group container and registering them in Widget extension but didn't work. @kelin , can you please tell the work around which worked for you.
Jul ’25
[iOS Lab] Widespread Malware Blocked Alerts on Snippet Test Output Files (Starting 7/9)
We are experiencing a significant issue with macOS security alerts that began on July 9th, at approximately 4:40 AM UTC. This alert is incorrectly identifying output files from our snippet tests as malware, causing these files to be blocked and moved to the Trash. This is completely disrupting our automated testing workflows. Issue Description: Alert: We are seeing the Malware Blocked and Moved to Trash popup window. Affected Files: The security alert triggers when attempting to execute .par files generated as outputs from our snippet tests. These .par files are unique to each individual test run; they are not a single, static tool. System-Wide Impact: This issue is impacting multiple macOS hosts across our testing infrastructure. Timeline: The issue began abruptly on July 9th, at approximately 4:40 AM UTC. Before that time, our tests were functioning correctly. macOS Versions: The problem is occurring on hosts running both macOS 14.x and 15.x. Experimental Host: Even after upgrading an experimental host to m
1
0
95
Jul ’25
iOS 26 Beta 3 — iPhone 13 stuck at 1% battery, 0% battery health, reboots every few minutes
Hello Apple team and community, I’m reporting a critical issue affecting iPhone 13 (128 GB) on iOS 26 Public Beta 3. Problem Summary: • Device stays stuck at 1% battery, even while charging • Battery Health shows 0% in Settings • Phone reboots every 5 minutes while unplugged • Only works when connected to power • Cannot update, charge properly, or maintain uptime Additional Context: • The issue appeared immediately after installing iOS 26 beta 3 • Affected devices often have a replaced battery (even official or high-quality replacements) • Seems to be a software validation bug related to battery firmware • Reported by many users across Reddit, Apple Forums, and Twitter — but not listed in Known Issues What Has Been Tried: • Recovery Mode / Safe charging / Clean install (same version) – no effect • Third-party repair tools (ReiBoot, 3uTools) — partial workaround • Jailbreak with Nugget or iCleaner to disable crash daemons – temporarily helps • Apple Support suggested full device replacement (!) ⸻ Requ
4
0
1.2k
Jul ’25
Reply to Device identifier for framework
[quote='792132021, dwkf, /thread/792132, /profile/dwkf'] Is there a usable device identifier for the framework, regardless of app vendor? [/quote] No. One goal of the iOS sandbox is to prevent unmediated IPC between apps from different teams [1]. Creating the identifier you’re looking for would require such IPC, and that runs counter to this goal. Normally I might suggest filing an enhancement request for such a feature, and you’re totally free to do that, of course. However, I very much doubt that it’ll get traction because of this reason. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com [1] This is, for example, why all the apps from your team can share data via an app group container, but you can’t share that with apps from other teams.
Topic: Privacy & Security SubTopic: General Tags:
Jul ’25
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
277
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
94
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