Search results for

“A Summary of the WWDC25 Group Lab”

10,641 results found

Post

Replies

Boosts

Views

Activity

Charts performance issue
Hi, I want to recreate a chart from Apple Health and I have code like this. When I scroll - especially the week and month charts, there are performance issues. If I remove .chartScrollPosition(x: $scrollChartPosition), it runs smoothly, but I need to know which part of the chart is currently displayed. Can you help me? import Charts import SwiftUI struct MacroChartView: View { var selectedRange: ChartRange var binnedPoints: [MacroBinPoint] @State private var scrollChartPosition: Date = .now var body: some View { VStack { Text((selectedRange.rangeLabel(for: scrollChartPosition))) Chart(binnedPoints) { point in BarMark( x: .value(Date, point.date, unit: selectedRange.binComponent), y: .value(Calories, point.calories) ) } .frame(height: 324) .chartXVisibleDomain(length: selectedRange.visibleDomainLength()) .chartScrollableAxes(.horizontal) .chartScrollPosition(x: $scrollChartPosition) .chartScrollTargetBehavior(.valueAligned(matching: selectedRange.scrollAlignmentComponents)) .chartXAxis { switch selectedRange {
0
0
105
1w
Reply to What is the best way to look for latest transaction_id for a given original_transaction_id?
Hello, have you tried calling Get All Subscription Statuses using the original TransactionId? This API returns the status for all of the customer’s subscriptions by their subscription group identifier. On the returned SubscriptionGroupIdentifierItem you can look at lastTransactionsItem to get the most recent transaction and renewal information for an auto-renewable subscription. Then, you can use status to determine the latest status for the user’s subscription.
Topic: App & System Services SubTopic: StoreKit Tags:
1w
Reply to Significant Location Change Event in two apps running on same device
There are no guarantees that SLC events will arrive simultaneously for different apps. First of all, the SLC is a relative distance service. When the app started the request will matter. Then how quickly they have processed the previous event and returned would matter. The load of the app on the main thread (which is the thread these events are delivered by default) will effect how fast the events are delivered to the callback function. And last but not least, the delivery of events to an app is controlled by the system and it will decide when an app, which is already not running in the foreground (at least one of them will be in the background), will receive these events. If the apps are terminated (as opposed to just being suspended in the background), further throttles will apply. In summary, you cannot rely on two apps receiving the events at the same moment. If they do, you should consider those as happy coincidences, and not something to rely on in production.
1w
Reply to Push Notifications not received on app.
There can be many reasons for notifications to not being received. And one would need a lot more details on what is being sent, what is the actual state of the devices, etc., for a meaningful answer as to what could be wrong: you might have an incorrect token for the user the push payload might be incorrect or otherwise malformed for certain pushes the users might have inadvertently turned off your notifications, silenced them, or sent them to daily summaries you are sending silent or low priority pushes that are being throttled If you can share the apns-id of a notification which did not make it to the user (a recent one, within the last couple days, and also share the time and time zone sent), we can take a look to see if the push was delivered at all.
1w
Reply to Crash when iterating over CMSensorDataList via NSFastEnumeration
Hi, thanks for the reply! I can attach a redacted crash report below. I've redacted our class and method names, so hopefully that does not make it too difficult to read. As for reproduction, we can reproduce the iteration, but we cannot get it to crash despite hours of testing. This does align with the fact that this crash only happens to a very small subset of users in the field. We are querying for at most 10 minutes of data at a time, with none being older than 3 days. I cannot attach an exact query that produces a crash because we cannot reproduce any crashes, but I can paste some of the logic below. @Published private var dateIntervals: [DateInterval] = [] { didSet { storage.save(intervals: dateIntervals) } } func consumeNextDataBatch(length: TimeInterval) -> AccelerationHistoryBatch { // length is always .minutes(10) dropUnreachableDateIntervals() guard let firstInterval = dateIntervals.first else { return .empty } if firstInterval.duration <= length { // The first interval is shorter then our tar
1w
MPS SDPA Attention Kernel Regression on A14-class (M1) in macOS 26.3.1 — Works on A15+ (M2+)
Summary Since macOS 26, our Core ML / MPS inference pipeline produces incorrect results on Mac mini M1 (Macmini9,1, A14-class SoC). The same model and code runs correctly on M2 and newer (A15-class and up). The regression appears to be in the Scaled Dot-Product Attention (SDPA) kernel path in the MPS backend. Environment Affected Mac mini M1 — Macmini9,1 (A14-class) Not affected M2 and newer (A15-class and up) Last known good macOS Sequoia First broken macOS 26 (Tahoe) ? Confirmed broken on macOS 26.3.1 Framework Core ML + MPS backend Language C++ (via CoreML C++ API) Description We ship an audio processing application (VoiceAssist by NoiseWorks) that runs a deep learning model (based on Demucs architecture) via Core ML with the MPS compute unit. On macOS Sequoia this works correctly on all Apple Silicon Macs including M1. After updating to macOS 26 (Tahoe), inference on M1 Macs fails — either producing garbage output or crashing. The same binary, same .mlpackage, same inputs work correctly on M2+. O
1
0
188
1w
Reply to TestFlight build visible on macOS but not installable: “Can only be tested on an iOS device” for Mac (Designed for iPad)
Had the same problem, testing an iOS app on macOS via TestFlight which previously worked, did recently stop working. But I found a setting in App Store Connect, under each testing group, that says Test iPhone and iPad Apps on Apple Silicon Macs. Enabling this setting made testing on macOS work again.
1w
Custom Reports GET API returning 403 Forbidden since March 16, 2026 — POST still works
Hi Apple Developer Community, Since March 16, 2026, our integration with the Apple Ads Campaign Management API (v5) is returning 403 Forbidden on all GET requests to the custom-reports endpoint, while POST requests to create reports continue to work without any issues. Environment API Version: v5 Base URL: https://api.searchads.apple.com/api/v5/ Authentication: OAuth 2.0 (Bearer token — token generation works fine) API User Role: API Account Manager What's broken GET /api/v5/custom-reports/63638557 → 403 Forbidden The response is raw HTML from Apple's gateway, not a JSON API error: 403 Forbidden 403 Forbidden Apple This indicates the request is being blocked at the reverse proxy / infrastructure level and never reaches the API application layer. A proper API-level authorization error would return JSON with messageCode and message fields. What still works POST creates report successfully POST /api/v5/custom-reports → 200 OK Response: { data: { id: 63638557, name: Impression_Share_Report_2026-03-22_daily, s
1
0
83
1w
Reply to Help with getting info for an WIFI USER EXPERIENCE APP
iOS has a limited set of Wi-Fi APIs. See TN3111 iOS Wi-Fi API overview for a summary of what’s available. Regarding signal strength specifically, I address that head on in iOS Network Signal Strength. In short, you’re unlikely to be able to achieve your goal here. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com
1w
Matter OTA on TestNet: HomePod always replies "UpdateNotAvailable" (Device is already CSA Certified)
Hi Apple Team / Community, We are currently pulling our hair out over a TestNet OTA issue and could really use some help. Our Matter Door Lock (VID: 5424, PID: 513) has already obtained official CSA Certification, so we are 100% confident that our device firmware and OTA Requestor logic are completely solid. However, we simply cannot get Apple's TestNet to serve the update via HomePod. Here is exactly what is happening: Our device successfully sends a QueryImage command to the HomePod. The HomePod receives it, but immediately fires back a QueryImageResponse that essentially means UpdateNotAvailable, forcing the device into an 86400-second sleep timeout. Here is what we have verified so far: Local OTA works perfectly: If we use Nordic's chip-ota-provider-app locally with the exact same .ota file, the BDX transfer triggers instantly and the device updates without a hitch. DCL details are 100% accurate: We published a brand new version (1.0.4 / 16778240) which is strictly higher than the device's current version
3
0
96
1w
Screen Time APIs showing severe inconsistencies (DeviceActivity not firing + impossible usage data)
Hi everyone, I’m the developer of one sec, an app used by a large number of users globally to reduce time spent on social media and to build healthier digital habits. Because of this, we rely heavily on Apple’s Screen Time / DeviceActivity / FamilyControls, ManagedSettings APIs – and unfortunately, we’re seeing increasingly severe issues in production that directly impact hundreds of thousands of real iOS users. During the past years, we have been busy filing dozens of feedback requests for different Screen Time issues – and there has been no response from Apple at all. Developer Relations might be able to confirm that the bugs are present and that they ended up with the right team – but they are never addressed, neither are workarounds provided. Instead, the situation gets worse and worse. iOS 26 introduced a series of heavy regressions (which have been reported via Apple’s official bug report tool Feedback Assistant on iOS 26 beta 1 in June 2025 – and have not been addressed 10 Months later). This is very f
1
0
211
1w
TestFlight External Build Stuck in 'Waiting for Review' for 32+ Hours
Hi everyone, My TestFlight build has been stuck in 'Waiting for Review' for over 32 hours and I'm hoping someone can help or share their experience. The situation: I have an External Testing group with a Public Link set up. The build was submitted for Beta App Review on March 19th but it's been over 32 hours with no update. I have 25+ testers waiting to install the app. What I've tried: Waited patiently Checked App Store Connect multiple times No rejection emails received No issues flagged by Apple Questions: Is anyone else experiencing unusually long review times for TestFlight external builds right now? Is there anything I can do to speed up the process or check if something is wrong? Has anyone successfully resolved this by contacting Apple Developer Support directly? Any advice would be greatly appreciated. Thank you! Apple Support Case ID: 102846633409
1
0
110
1w
Submission Rejected-5.1.1
Hello all, I've been running into issues with my initial App Review Submission getting rejected, with the following message: Guideline 5.1.1(v) - Legal - Privacy - Data Collection and Storage Issue Description The app still requires users to register or log in to access features that are not account based. Next Steps Revise the app to let users freely access the app's features that are not account based. The app may still require registration for other features that are account based. The app itself is a fairly simple grocery listing/receipt tracking/meal planning tool, in which users can share their groceries/receipts/meals in a group. I've revised my app to allow new users to see the main UI shell without signing in, but object creation is still blocked without account membership. Objects are tied to users-- being able to see what other users in your group have created is the core functionality of the app, and there's literally nothing else it does at the moment-- no offline features yet t
1
0
55
1w
Reply to How to store certificate to `com.apple.token` keychain access group.
Thanks for bringing this to the forums. The com.apple.token keychain access group, aka kSecAttrAccessGroupToken, isn’t a normal keychain access group. Rather, it’s a special group that holds all of the credentials that the system finds in CryptoTokenKit (CTK) tokens. Given that, you can’t add credentials to this group directly. It is possible to create a persistent CTK token, that is, one that’s not tied to smart card hardware. If you do that then the credentials published by that token will be available to all apps that are set up to use token-based credentials. It’s not clear whether this approach will work for your ultimate goal: [quote='819445021, h-noto, /thread/819445, /profile/h-noto'] so that Microsoft Edge for iOS … can … use it for client certificate authentication [/quote] My advice is that you first prototype this with an actual smart card [1]. If you can get that working, it’d be worth exploring the virtual token option. Finally, if you’re curious how an app ca
Topic: Privacy & Security SubTopic: General Tags:
1w
Charts performance issue
Hi, I want to recreate a chart from Apple Health and I have code like this. When I scroll - especially the week and month charts, there are performance issues. If I remove .chartScrollPosition(x: $scrollChartPosition), it runs smoothly, but I need to know which part of the chart is currently displayed. Can you help me? import Charts import SwiftUI struct MacroChartView: View { var selectedRange: ChartRange var binnedPoints: [MacroBinPoint] @State private var scrollChartPosition: Date = .now var body: some View { VStack { Text((selectedRange.rangeLabel(for: scrollChartPosition))) Chart(binnedPoints) { point in BarMark( x: .value(Date, point.date, unit: selectedRange.binComponent), y: .value(Calories, point.calories) ) } .frame(height: 324) .chartXVisibleDomain(length: selectedRange.visibleDomainLength()) .chartScrollableAxes(.horizontal) .chartScrollPosition(x: $scrollChartPosition) .chartScrollTargetBehavior(.valueAligned(matching: selectedRange.scrollAlignmentComponents)) .chartXAxis { switch selectedRange {
Replies
0
Boosts
0
Views
105
Activity
1w
Reply to 26.4 beta and RC versions are unable to be created on anything but 26.4 beta host OS
On my macOS 15.7.4 machine: $ pkgutil --pkg-info-plist com.apple.pkg.MobileDevice groups com.apple.findsystemfiles install-location Library/Apple/ install-time 1771452321 pkg-version 4.0.0.0.1.1762585687 pkgid com.apple.pkg.MobileDevice receipt-plist-version 1 volume /
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
1w
Reply to What is the best way to look for latest transaction_id for a given original_transaction_id?
Hello, have you tried calling Get All Subscription Statuses using the original TransactionId? This API returns the status for all of the customer’s subscriptions by their subscription group identifier. On the returned SubscriptionGroupIdentifierItem you can look at lastTransactionsItem to get the most recent transaction and renewal information for an auto-renewable subscription. Then, you can use status to determine the latest status for the user’s subscription.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
1w
Reply to Significant Location Change Event in two apps running on same device
There are no guarantees that SLC events will arrive simultaneously for different apps. First of all, the SLC is a relative distance service. When the app started the request will matter. Then how quickly they have processed the previous event and returned would matter. The load of the app on the main thread (which is the thread these events are delivered by default) will effect how fast the events are delivered to the callback function. And last but not least, the delivery of events to an app is controlled by the system and it will decide when an app, which is already not running in the foreground (at least one of them will be in the background), will receive these events. If the apps are terminated (as opposed to just being suspended in the background), further throttles will apply. In summary, you cannot rely on two apps receiving the events at the same moment. If they do, you should consider those as happy coincidences, and not something to rely on in production.
Replies
Boosts
Views
Activity
1w
Reply to Push Notifications not received on app.
There can be many reasons for notifications to not being received. And one would need a lot more details on what is being sent, what is the actual state of the devices, etc., for a meaningful answer as to what could be wrong: you might have an incorrect token for the user the push payload might be incorrect or otherwise malformed for certain pushes the users might have inadvertently turned off your notifications, silenced them, or sent them to daily summaries you are sending silent or low priority pushes that are being throttled If you can share the apns-id of a notification which did not make it to the user (a recent one, within the last couple days, and also share the time and time zone sent), we can take a look to see if the push was delivered at all.
Replies
Boosts
Views
Activity
1w
Reply to Crash when iterating over CMSensorDataList via NSFastEnumeration
Hi, thanks for the reply! I can attach a redacted crash report below. I've redacted our class and method names, so hopefully that does not make it too difficult to read. As for reproduction, we can reproduce the iteration, but we cannot get it to crash despite hours of testing. This does align with the fact that this crash only happens to a very small subset of users in the field. We are querying for at most 10 minutes of data at a time, with none being older than 3 days. I cannot attach an exact query that produces a crash because we cannot reproduce any crashes, but I can paste some of the logic below. @Published private var dateIntervals: [DateInterval] = [] { didSet { storage.save(intervals: dateIntervals) } } func consumeNextDataBatch(length: TimeInterval) -> AccelerationHistoryBatch { // length is always .minutes(10) dropUnreachableDateIntervals() guard let firstInterval = dateIntervals.first else { return .empty } if firstInterval.duration <= length { // The first interval is shorter then our tar
Replies
Boosts
Views
Activity
1w
MPS SDPA Attention Kernel Regression on A14-class (M1) in macOS 26.3.1 — Works on A15+ (M2+)
Summary Since macOS 26, our Core ML / MPS inference pipeline produces incorrect results on Mac mini M1 (Macmini9,1, A14-class SoC). The same model and code runs correctly on M2 and newer (A15-class and up). The regression appears to be in the Scaled Dot-Product Attention (SDPA) kernel path in the MPS backend. Environment Affected Mac mini M1 — Macmini9,1 (A14-class) Not affected M2 and newer (A15-class and up) Last known good macOS Sequoia First broken macOS 26 (Tahoe) ? Confirmed broken on macOS 26.3.1 Framework Core ML + MPS backend Language C++ (via CoreML C++ API) Description We ship an audio processing application (VoiceAssist by NoiseWorks) that runs a deep learning model (based on Demucs architecture) via Core ML with the MPS compute unit. On macOS Sequoia this works correctly on all Apple Silicon Macs including M1. After updating to macOS 26 (Tahoe), inference on M1 Macs fails — either producing garbage output or crashing. The same binary, same .mlpackage, same inputs work correctly on M2+. O
Replies
1
Boosts
0
Views
188
Activity
1w
Reply to TestFlight build visible on macOS but not installable: “Can only be tested on an iOS device” for Mac (Designed for iPad)
Had the same problem, testing an iOS app on macOS via TestFlight which previously worked, did recently stop working. But I found a setting in App Store Connect, under each testing group, that says Test iPhone and iPad Apps on Apple Silicon Macs. Enabling this setting made testing on macOS work again.
Replies
Boosts
Views
Activity
1w
Custom Reports GET API returning 403 Forbidden since March 16, 2026 — POST still works
Hi Apple Developer Community, Since March 16, 2026, our integration with the Apple Ads Campaign Management API (v5) is returning 403 Forbidden on all GET requests to the custom-reports endpoint, while POST requests to create reports continue to work without any issues. Environment API Version: v5 Base URL: https://api.searchads.apple.com/api/v5/ Authentication: OAuth 2.0 (Bearer token — token generation works fine) API User Role: API Account Manager What's broken GET /api/v5/custom-reports/63638557 → 403 Forbidden The response is raw HTML from Apple's gateway, not a JSON API error: 403 Forbidden 403 Forbidden Apple This indicates the request is being blocked at the reverse proxy / infrastructure level and never reaches the API application layer. A proper API-level authorization error would return JSON with messageCode and message fields. What still works POST creates report successfully POST /api/v5/custom-reports → 200 OK Response: { data: { id: 63638557, name: Impression_Share_Report_2026-03-22_daily, s
Replies
1
Boosts
0
Views
83
Activity
1w
Reply to Help with getting info for an WIFI USER EXPERIENCE APP
iOS has a limited set of Wi-Fi APIs. See TN3111 iOS Wi-Fi API overview for a summary of what’s available. Regarding signal strength specifically, I address that head on in iOS Network Signal Strength. In short, you’re unlikely to be able to achieve your goal here. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com
Replies
Boosts
Views
Activity
1w
Matter OTA on TestNet: HomePod always replies "UpdateNotAvailable" (Device is already CSA Certified)
Hi Apple Team / Community, We are currently pulling our hair out over a TestNet OTA issue and could really use some help. Our Matter Door Lock (VID: 5424, PID: 513) has already obtained official CSA Certification, so we are 100% confident that our device firmware and OTA Requestor logic are completely solid. However, we simply cannot get Apple's TestNet to serve the update via HomePod. Here is exactly what is happening: Our device successfully sends a QueryImage command to the HomePod. The HomePod receives it, but immediately fires back a QueryImageResponse that essentially means UpdateNotAvailable, forcing the device into an 86400-second sleep timeout. Here is what we have verified so far: Local OTA works perfectly: If we use Nordic's chip-ota-provider-app locally with the exact same .ota file, the BDX transfer triggers instantly and the device updates without a hitch. DCL details are 100% accurate: We published a brand new version (1.0.4 / 16778240) which is strictly higher than the device's current version
Replies
3
Boosts
0
Views
96
Activity
1w
Screen Time APIs showing severe inconsistencies (DeviceActivity not firing + impossible usage data)
Hi everyone, I’m the developer of one sec, an app used by a large number of users globally to reduce time spent on social media and to build healthier digital habits. Because of this, we rely heavily on Apple’s Screen Time / DeviceActivity / FamilyControls, ManagedSettings APIs – and unfortunately, we’re seeing increasingly severe issues in production that directly impact hundreds of thousands of real iOS users. During the past years, we have been busy filing dozens of feedback requests for different Screen Time issues – and there has been no response from Apple at all. Developer Relations might be able to confirm that the bugs are present and that they ended up with the right team – but they are never addressed, neither are workarounds provided. Instead, the situation gets worse and worse. iOS 26 introduced a series of heavy regressions (which have been reported via Apple’s official bug report tool Feedback Assistant on iOS 26 beta 1 in June 2025 – and have not been addressed 10 Months later). This is very f
Replies
1
Boosts
0
Views
211
Activity
1w
TestFlight External Build Stuck in 'Waiting for Review' for 32+ Hours
Hi everyone, My TestFlight build has been stuck in 'Waiting for Review' for over 32 hours and I'm hoping someone can help or share their experience. The situation: I have an External Testing group with a Public Link set up. The build was submitted for Beta App Review on March 19th but it's been over 32 hours with no update. I have 25+ testers waiting to install the app. What I've tried: Waited patiently Checked App Store Connect multiple times No rejection emails received No issues flagged by Apple Questions: Is anyone else experiencing unusually long review times for TestFlight external builds right now? Is there anything I can do to speed up the process or check if something is wrong? Has anyone successfully resolved this by contacting Apple Developer Support directly? Any advice would be greatly appreciated. Thank you! Apple Support Case ID: 102846633409
Replies
1
Boosts
0
Views
110
Activity
1w
Submission Rejected-5.1.1
Hello all, I've been running into issues with my initial App Review Submission getting rejected, with the following message: Guideline 5.1.1(v) - Legal - Privacy - Data Collection and Storage Issue Description The app still requires users to register or log in to access features that are not account based. Next Steps Revise the app to let users freely access the app's features that are not account based. The app may still require registration for other features that are account based. The app itself is a fairly simple grocery listing/receipt tracking/meal planning tool, in which users can share their groceries/receipts/meals in a group. I've revised my app to allow new users to see the main UI shell without signing in, but object creation is still blocked without account membership. Objects are tied to users-- being able to see what other users in your group have created is the core functionality of the app, and there's literally nothing else it does at the moment-- no offline features yet t
Replies
1
Boosts
0
Views
55
Activity
1w
Reply to How to store certificate to `com.apple.token` keychain access group.
Thanks for bringing this to the forums. The com.apple.token keychain access group, aka kSecAttrAccessGroupToken, isn’t a normal keychain access group. Rather, it’s a special group that holds all of the credentials that the system finds in CryptoTokenKit (CTK) tokens. Given that, you can’t add credentials to this group directly. It is possible to create a persistent CTK token, that is, one that’s not tied to smart card hardware. If you do that then the credentials published by that token will be available to all apps that are set up to use token-based credentials. It’s not clear whether this approach will work for your ultimate goal: [quote='819445021, h-noto, /thread/819445, /profile/h-noto'] so that Microsoft Edge for iOS … can … use it for client certificate authentication [/quote] My advice is that you first prototype this with an actual smart card [1]. If you can get that working, it’d be worth exploring the virtual token option. Finally, if you’re curious how an app ca
Topic: Privacy & Security SubTopic: General Tags:
Replies
Boosts
Views
Activity
1w