My device with Device ID (00008130-001E35840483401C) is stuck in Processing state and cannot be activated. Please refresh or delete it.
Overview
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
For important background information, read Extra-ordinary Networking before reading this.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
Network Interface APIs
Most developers don’t need to interact directly with network interfaces. If you do, read this post for a summary of the APIs available to you.
Before you read this, read Network Interface Concepts.
Interface List
The standard way to get a list of interfaces and their addresses is getifaddrs. To learn more about this API, see its man page.
A network interface has four fundamental attributes:
A set of flags — These are packed into a CUnsignedInt. The flags bits are declared in <net/if.h>, starting with IFF_UP.
An interface type — See Network Interface Type, below.
An interface index — Valid indexes are greater than 0.
A BSD interface name. For example, an Ethernet interface might be called en0. The interface name is shared between multiple network interfaces running over a given hardware interface. For example, IPv4 and IPv6 running over that Ethernet interface will both have the name en0.
WARNING BSD interface names are not considered API. There’s no guarantee, for example, that an iPhone’s Wi-Fi interface is en0.
You can map between the last two using if_indextoname and if_nametoindex. See the if_indextoname man page for details.
An interface may also have address information. If present, this always includes the interface address (ifa_addr) and the network mask (ifa_netmask). In addition:
Broadcast-capable interfaces (IFF_BROADCAST) have a broadcast address (ifa_broadaddr, which is an alias for ifa_dstaddr).
Point-to-point interfaces (IFF_POINTOPOINT) have a destination address (ifa_dstaddr).
Calling getifaddrs from Swift is a bit tricky. For an example of this, see QSocket: Interfaces.
IP Address List
Once you have getifaddrs working, it’s relatively easy to manipulate the results to build a list of just IP addresses, a list of IP addresses for each interface, and so on. QSocket: Interfaces has some Swift snippets that show this.
Interface List Updates
The interface list can change over time. Hardware interfaces can be added and removed, network interfaces come up and go down, and their addresses can change. It’s best to avoid caching information from getifaddrs. If thats unavoidable, use the kNotifySCNetworkChange Darwin notification to update your cache. For information about registering for Darwin notifications, see the notify man page (in section 3).
This notification just tells you that something has changed. It’s up to you to fetch the new interface list and adjust your cache accordingly.
You’ll find that this notification is sometimes posted numerous times in rapid succession. To avoid unnecessary thrashing, debounce it.
While the Darwin notification API is easy to call from Swift, Swift does not import kNotifySCNetworkChange. To fix that, define that value yourself, calling a C function to get the value:
var kNotifySCNetworkChange: UnsafePointer<CChar> {
networkChangeNotifyKey()
}
Here’s what that C function looks like:
extern const char * networkChangeNotifyKey(void) {
return kNotifySCNetworkChange;
}
Network Interface Type
There are two ways to think about a network interface’s type. Historically there were a wide variety of weird and wonderful types of network interfaces. The following code gets this legacy value for a specific BSD interface name:
func legacyTypeForInterfaceNamed(_ name: String) -> UInt8? {
var addrList: UnsafeMutablePointer<ifaddrs>? = nil
let err = getifaddrs(&addrList)
// In theory we could check `errno` here but, honestly, what are gonna
// do with that info?
guard
err >= 0,
let first = addrList
else { return nil }
defer { freeifaddrs(addrList) }
return sequence(first: first, next: { $0.pointee.ifa_next })
.compactMap { addr in
guard
let nameC = addr.pointee.ifa_name,
name == String(cString: nameC),
let sa = addr.pointee.ifa_addr,
sa.pointee.sa_family == AF_LINK,
let data = addr.pointee.ifa_data
else { return nil }
return data.assumingMemoryBound(to: if_data.self).pointee.ifi_type
}
.first
}
The values are defined in <net/if_types.h>, starting with IFT_OTHER.
However, this value is rarely useful because many interfaces ‘look like’ Ethernet and thus have a type of IFT_ETHER.
Network framework has the concept of an interface’s functional type. This is an indication of how the interface fits into the system. There are two ways to get an interface’s functional type:
If you’re using Network framework and have an NWInterface value, get the type property.
If not, call ioctl with a SIOCGIFFUNCTIONALTYPE request. The return values are defined in <net/if.h>, starting with IFRTYPE_FUNCTIONAL_UNKNOWN.
Swift does not import SIOCGIFFUNCTIONALTYPE, so it’s best to write this code in a C:
extern uint32_t functionalTypeForInterfaceNamed(const char * name) {
int fd = socket(AF_INET, SOCK_DGRAM, 0);
if (fd < 0) { return IFRTYPE_FUNCTIONAL_UNKNOWN; }
struct ifreq ifr = {};
strlcpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
bool success = ioctl(fd, SIOCGIFFUNCTIONALTYPE, &ifr) >= 0;
int junk = close(fd);
assert(junk == 0);
if ( ! success ) { return IFRTYPE_FUNCTIONAL_UNKNOWN; }
return ifr.ifr_ifru.ifru_functional_type;
}
Finally, TN3158 Resolving Xcode 15 device connection issues documents the SIOCGIFDIRECTLINK flag as a specific way to identify the network interfaces uses by Xcode for device connection traffic.
Revision History
2025-12-10 Added info about SIOCGIFDIRECTLINK.
2023-07-19 First posted.
Dear Forum,
after decades, I'm back to MacOS dev just for the need of it. Besides Mac, I'm also toying around with vintage IBM mainframe systems and therefore I'm in need for a good terminal emulation. So far, I use x3270 on my Apple Silicon M1 MacBook Air - nice. However, I can't compile it on my collection of vintage Macs (iMac G3, Cube G4) so I pondered to create it on my own using Cocoa (starting with MacOS X 10.4 Tiger up to the current level (on Sequoia) so that rules out Carbon. tn3270 X from Brown University works nice on those vintage Macs but misses some features. Having browsed some info about the Cocoa Text system, I wonder if that would be the right place to start.
At the end of the day, I need to be able to intercept all keystrokes, have more or less a fixed font 80x25 (136x25 etc..) col/row layout of protected and unprotected areas where text can be entered. Cusor should be visible and movable by using cursor control keys. I'd be happy for any suggestion on where to start here.
Kind regards
Michael
Topic:
UI Frameworks
SubTopic:
AppKit
Hello,
I am encountering the following error when uploading a build to App Store Connect:
ITMS-90555: Thinned app size is too large – Your on-demand resources in the universal variant are 30 GB, which exceeds the maximum allowable size. After app thinning, the total size of your on-demand resource asset packs in any variant must be less than 30 GB.
Our application includes a large amount of font resources delivered via ODR.
Before making structural changes, I need clarification because the documentation does not fully explain how ODR size calculations work per variant.
Environment
Xcode: (latest stable)
Distribution method: App Store submission
ODR total size before thinning: approximately (28 GB)
Build processing fails immediately with the ITMS-90555 error
Questions
How exactly does App Thinning compute the size of ODR asset packs per variant?
Is ODR size evaluated:
Per device-specific variant,
Or is the “universal variant” treated as an additional variant that must independently stay under 30GB?
The documentation mentions a 30GB limit per variant, but the universal variant error message is ambiguous.
If device-specific variants are below 30GB but only the “universal variant” exceeds it, is the build still rejected?
In our case:
iPhone-only variants appear to be below the limit,
But the universal variant exceeds 30GB due to aggregated resources.
Is this expected behavior?
Best practices for managing very large ODR sets (e.g., fonts)
Fonts are small individually, but thousands of them produce very large ODR groups.
Is there recommended guidance from Apple for:
Structuring ODR bundles to avoid the universal variant exceeding the limit
Segmenting ODR by device class / feature sets
Any alternative packaging strategies
Are there tools or logs that reveal how App Store Connect decides variant groupings and ODR size?
At the moment, the failure only shows the ITMS-90555 error without further detail.
Case-ID for DTS reference
DTS advised submitting this question here.
Case-ID: 17273913
Any clarification from Apple engineers or community members who have navigated ODR size limits would be greatly appreciated.
Thank you very much!
Hello,
I am implementing "Sign in with Apple" on my backend and validating the Identity Token (JWT) received from the client.
I noticed that for some users who choose the "Hide My Email" option, the is_private_email claim is missing from the ID Token payload, even though the email address clearly belongs to the private relay domain (@privaterelay.appleid.com).
Here is an example of the decoded payload I received:
{ "iss": "https://appleid.apple.com", "aud": "xxx", "exp": 1764402438, "iat": 1764316038, "sub": "xxxxxxxx", "c_hash": "3FAJNf4TILzUgo_YFe4E0Q", "email": "xxx@privaterelay.appleid.com", "email_verified": true, "auth_time": 1764316038, "nonce_supported": true // "is_private_email": true <-- This field is missing }
My Questions:
Is the is_private_email claim considered optional in the ID Token?
Is it safe and recommended to rely solely on the email domain suffix (@privaterelay.appleid.com) to identify if a user is using a private email?
Any insights or official references would be appreciated.
Thanks.
I submitted my app for review on November 12, but I still haven’t received any response. It’s now November 25, and the review is still pending. Android is much faster with reviews, it took them 2 days.
Could someone from the App Review Team please check my submission? Thank you very much! 🙏 Apple Id: 6753878193
Avplayer encapsulates a player. After connecting to an Apple Bluetooth headset, it immediately reports an error. Non-Apple Bluetooth headsets can be played, but currently the issue is that the player works normally in one app but not in another. We are an educational app.
Validation failed
Missing app icon. Include a large app icon as a 1024 by 1024 pixel PNG for the 'Any Appearance' image well in the asset catalog of apps built for iOS or iPadOS. Without this icon, apps can't be submitted for review. For details, visit: https://developer.apple.com/documentation/xcode/configuring-your-app-icon. (ID: 525f6327-6859-4ae7-977b-7951423127a6)
getting this error while archive and validation then validation failed and got this error
But in my xcode each icon is present and when i build the app then in simulator or a real phone the icon is present but while archive and validation then validation failed also i have tried a lot solution but unable to resolve this.
We are implementing a camera intercom calling feature using VoIP Push notifications (PushKit) and LiveCommunicationKit (iOS 17.4+). The app works correctly when running in foreground or background, but fails when the app is completely terminated (killed by user or system). After accepting the call from the system call UI, the app launches but gets stuck on the launch screen and cannot navigate to our custom intercom interface.
Environment
iOS Version: iOS 17.4+ (testing on latest iOS versions)
Xcode Version: Latest version
Device: iPhone (tested on multiple devices)
Programming Languages: Objective-C + Swift (mixed project)
Frameworks Used: PushKit, LiveCommunicationKit (iOS 17.4+)
App State When Issue Occurs: Completely terminated/killed
Problem Description
Expected vs Actual Behavior
App State Behavior
Foreground ✅ VoIP push → System call UI → User accepts → Navigate to intercom → Works
Background ✅ VoIP push → System call UI → User accepts → Navigate to intercom → Works
Terminated ❌ VoIP push → System call UI → User accepts → App launches but stuck on splash screen → Cannot navigate
Root Issues
When app is terminated and user accepts the call:
Data Loss: pendingNotificationData stored in memory is lost when app is killed and relaunched
Timing Issue: conversationManager(_:perform:) delegate method is called before homeViewController is initialized
Lifecycle Confusion: App initialization sequence when launched from terminated state via VoIP push is unclear
Code Flow
VoIP Push Received (app terminated):
func pushRegistry(_ registry: PKPushRegistry,
didReceiveIncomingPushWith payload: PKPushPayload,
for type: PKPushType,
completion: @escaping () -> Void) {
let notificationDict = NotificationDataDecode.dataDecode(payloadDict) as? [AnyHashable: Any]
let isAppActive = UIApplication.shared.applicationState == .active
// Store in memory (PROBLEM: lost when app is killed)
pendingNotificationData = isAppActive ? nil : notificationDict
if !isAppActive {
// Report to LCK
try await conversationManager.reportNewIncomingConversation(uuid: uuid, update: update)
}
completion()
}
User Accepts Call:
func conversationManager(_ manager: ConversationManager, perform action: ConversationAction) {
if let joinAction = action as? JoinConversationAction {
// PROBLEM: pendingNotificationData is nil (lost)
// PROBLEM: homeViewController might not be initialized yet
if let pendingData = pendingNotificationData {
ModelManager.share().homeViewController.gotoCallNotificationView(pendingData)
}
joinAction.fulfill(dateConnected: Date())
}
}
Note: When user taps "Accept" on system UI, LiveCommunicationKit calls conversationManager(_:perform:) delegate method, NOT a manual acceptCall method.
Questions for Apple Support
App Lifecycle: When VoIP push is received and app is terminated, what is the exact lifecycle? Does app launch in background first, then transition to foreground when user accepts? What is the timing of application:didFinishLaunchingWithOptions: vs pushRegistry:didReceiveIncomingPushWith: vs conversationManager(_:perform:)?
State Persistence: What is the recommended way to persist VoIP push data when app is terminated? Should we use UserDefaults, NSKeyedArchiver, or another mechanism? Is there a recommended pattern for this scenario?
Initialization Timing: When conversationManager(_:perform:) is called with JoinConversationAction after app launch from terminated state, what is the timing relative to app initialization? Is homeViewController guaranteed to be ready, or should we implement a waiting/retry mechanism?
Navigation Pattern: What is the recommended way to navigate to a specific view controller when app is launched from terminated state? Should we:
Handle it in application:didFinishLaunchingWithOptions: with launch options?
Handle it in conversationManager(_:perform:) delegate method?
Use a notification/observer pattern to wait for initialization?
Completion Handler: In pushRegistry:didReceiveIncomingPushWith, we call completion() immediately after starting async reportNewIncomingConversation task. Is this correct, or should we wait for the task to complete when app is terminated?
Best Practices: Is there a recommended pattern or sample code for integrating LiveCommunicationKit with VoIP push when app is terminated? What are the best practices for handling app state persistence and navigation in this scenario?
Attempted Solutions
Storing pendingNotificationData in memory → Failed: Data lost when app is killed
Checking UIApplication.shared.applicationState → Failed: Doesn't reflect true state during launch
Calling gotoCallNotificationView in conversationManager(_:perform:) → Failed: homeViewController not ready
Additional Information
Singleton pattern: LCKCallManagerSwift, ModelManager
homeViewController accessed via ModelManager.share().homeViewController
Mixed Objective-C and Swift architecture
conversationManager(_:perform:) is called synchronously and must call joinAction.fulfill() or joinAction.fail()
Requested Help
We need guidance on:
Correct app lifecycle handling when VoIP push is received in terminated state
How to persist VoIP push data across app launches
How to ensure app initialization is complete before navigating
Best practices for integrating LiveCommunicationKit with VoIP push when app is terminated
Thank you for your assistance!
Topic:
App & System Services
SubTopic:
Notifications
Environment
macOS Version: 26.1
Xcode Version: 16.2
Description
I'm developing a custom file system using FSKit and have encountered an issue where the removeItem(_:named:fromDirectory:) method in my FSVolume.Operations implementation is not being invoked when attempting to delete files or directories through Finder or the command line.
Implementation
My volume implements the required FSVolume.Operations protocol with the following removeItem implementation:
func removeItem(
_ item: FSItem,
named name: FSFileName,
fromDirectory directory: FSItem
) async throws {
logger.info("remove: \(name)")
if let item = item as? MyFSItem, let directory = directory as? MyFSItem {
directory.removeItem(item)
} else {
throw fs_errorForPOSIXError(POSIXError.EIO.rawValue)
}
}
Steps to Reproduce
Mount the custom FSKit-based file system using:
mount -F -t MyFS /dev/diskX /tmp/mountpoint
Create files using Finder or terminal (works correctly - createItem is called)
Attempt to delete a file using any of the following methods:
Terminal command: rm -rf /path/to/mounted/file
option + cmd + delete to remove the file in Finder
Expected Behavior
The removeItem(_:named:fromDirectory:) method should be called, logging "remove: [filename]" and removing the item from the directory's children collection.
Actual Behavior
The removeItem method is never invoked. No logs appear from this method in Console.app. The deletion operation either fails silently or returns an error, but the callback never occurs.
Additional Context
Working operations: Other operations work correctly including:
createItem - files and directories can be created
lookupItem - items can be looked up successfully
enumerateDirectory - directory listing works
read and write - file I/O operations work correctly
Volume state:
The volume is properly mounted and accessible
Files can be created, read, and written successfully
Volume capabilities configured:
var supportedVolumeCapabilities: FSVolume.SupportedCapabilities {
let capabilities = FSVolume.SupportedCapabilities()
capabilities.supportsHardLinks = true
capabilities.supportsSymbolicLinks = true
capabilities.supportsPersistentObjectIDs = true
capabilities.doesNotSupportVolumeSizes = true
capabilities.supportsHiddenFiles = true
capabilities.supports64BitObjectIDs = true
capabilities.caseFormat = .insensitiveCasePreserving
return capabilities
}
Questions
Are there specific volume capabilities or entitlements required for removeItem to be invoked?
Is there a specific way deletion operations need to be enabled in FSKit?
Could this be related to how file permissions or attributes are set during createItem?
Are there any known issues with deletion operations in the current FSKit implementation?
Do I need to implement additional protocols or set specific flags to support item deletion?
Any guidance would be greatly appreciated. Has anyone successfully implemented deletion operations in FSKit?
Thank you!
I’m building a firefighter app that needs to automatically check in a firefighter when they arrive at the station and check them out when they leave — even if the app is killed. We need reliable enter/exit detection, low latency, and only one fixed location per user.
We’re evaluating Region Monitoring, which works in the killed state but may introduce delays and inconsistent accuracy. To ensure mission-critical reliability, we are considering the Location Push Service Extension, since it can fetch precise location on demand and wake the extension even when the app is terminated.
Before requesting the restricted entitlement, we need clarification on Apple’s expectations:
Is Region Monitoring recommended for this fixed-location use case?
Would Apple consider approving the Location Push Service Extension for a public-safety workflow?
What prerequisites do we need before submitting the entitlement request (Always permission, prototype, privacy disclosures, etc.)?
What details should be included in the justification form?
Our goal is to follow the most reliable and Apple-approved approach for firefighter check-in/out. Any guidance would be greatly appreciated.
Our company sells insurance and we'd like to offer annual renewals via Apple Pay on the Web. Most of the docs seem to point towards using recurringpaymentrequest but this method required an amount value which would only be calculated at renewal time.
It appears that Shopify is doing something akin to what we want where they do auto payments so my question is can we do annual payments with unknown renewal prices with Apple Pay for Web ?
What we cannot do is show the renewal price like this as it being insurance is almost certain to change.
This is our current code which works but won't get past the regulator.
const applePayPaymentRequestAnnual = {
countryCode: 'GB',
currencyCode: 'GBP',
supportedNetworks: ['visa', 'masterCard'],
merchantCapabilities: ['supports3DS'],
requiredBillingContactFields: ['postalAddress', 'email'],
requiredShippingContactFields: ['phone'],
recurringPaymentRequest: {
paymentDescription: 'Annual Insurance Renewal',
regularBilling: {
label: 'Annual Renewal Premium',
amount: price,
paymentTiming: "recurring",
recurringPaymentIntervalUnit: "year",
recurringPaymentStartDate: year + "-" + month + "-" + day + "T00:00:00.000Z",
type: 'final'
},
managementURL: window.location.protocol + '//' + window.location.host + '/manage-policy',
tokenNotificationURL: window.location.protocol + '//' + window.location.host + '/apple-pay-notifications'
},
lineItems: [{
label: alabel,
amount: price,
}],
total: { label: alabel, amount: price, type: "final" },
}
Trying to test IAP in sandbox. I created the test group and tester accounts. Accepted the invite downloaded the app. Signed into to sandbox in settings with the tester account. In app the purchases are failing and throwing my catch error message product couldn't be found. I decided to test it from settings/ sandbox/ manage/ initiate purchase/ but I've been getting "can't complete transaction. Something went wrong, ant this transaction couldn't be completed. Try again later" since last week. I reached out to dev support over the phone then email and they couldn't or wouldn't provide assistance. I asked my senior at work she took a look at it and confirmed I created the IAP correctly and that my sandbox account could make test purchases in apps she make but couldn't get mine to work. The storekit test work fine in xcode I just don't know what to do now.
Hi - I've tried around 6/7 variants of the Description for 'Localization' and all have been rejected, can someone provide reasons why this one in particular has beenrejected and what may be accepted please?
This is my app's description:
Premium Subscription Required
(14 day free trial)
ADHD Acclaim is the daily focus coach built with and for neurodivergent minds. Track energy, capture “wins” in a tap, and celebrate the progress that actually keeps you moving forward.
WHY YOU’LL LOVE ADHD ACCLAIM
• Energy-level slider suggests quick wins that match how you feel right now.
• Beautiful, low-distraction design with bold colour cues and gentle encouragement.
• Points, streaks, and confetti moments keep motivation friendly—not overwhelming.
• Cross-screen sync means every win appears instantly on Home, Wins, Calendar, and Rewards.
CAPTURE WINS IN SECONDS
• Scrollable Quick Wins carousel: tap “Add Win” to log a task and cheer yourself on.
• Create custom wins with notes, boost level, and schedule options.
• Active Wins list shows what’s next; swipe to complete or tidy up with a single tap.
MAP YOUR WEEK
• Calendar view highlights upcoming or completed wins with easy-to-spot dots.
• Filter by day to review achievements or add new wins directly from selected dates.
MOTIVATION THAT FEELS GOOD
• Earn points for every win, then redeem them for rewards you define—tea break, walk, screen time, and more.
• Progress stats surface total wins, energy trends, and milestone streaks without information overload.
DESIGNED WITH ADHD IN MIND
• Calmer typography, carefully tuned contrast, and purposeful colour accents reduce cognitive noise.
• Positive microcopy, lightning-fast interactions, and accessible layouts support focus at any energy level.
• Built-in celebration toast and confetti toggle let you control how much excitement you need.
FREE TRIAL & PREMIUM
Start with a 14-day free trial to explore everything. Stay on the free tier for core win tracking, or upgrade to ADHD Acclaim Premium to unlock unlimited rewards and advanced planning tools. Cancel anytime in Settings—no pressure, just support.
SUBSCRIPTION & BILLING
• Payment is charged to your Apple ID at confirmation.
• Subscription renews automatically unless cancelled at least 24 hours before the end of the current period.
• Manage or cancel anytime in your App Store account settings; refunds aren’t provided for unused portions.
• Any unused portion of a free trial is forfeited if you purchase a subscription.
Need a hand? Reach the team at xxxx —real humans ready to help.
https://www.apple.com/legal/internet-services/itunes/dev/stdeula/
The current stable macOS version, 26.1 (build 25B78) is missing a corresponding Kernel Debug Kit (KDK) on the developer downloads page.
This means I can't do any kernel-level development tasks currently. For example, if I try to build a new kernel collection with kmutil I get the message
Missing Developer Kit: As of macOS 13.0, you will need to install a KDK matching your build 25B78 to rebuild kernel collections.
but there is no build 25B78 KDK available to download. The latest 26.1 KDK on the download page is 25B5062e (from a beta I believe) and the final stable KDK for build 25B78 (which kernel development tools require) was never published.
Is there any workaround for this to correctly do kernel-level development targeting the latest stable release, or a timeline for when the KDK will release?
Thanks!
I am developing a SWIFITUI app that transfers playlists between Apple Music and Spotify but I am not directly create my requests to those companies APIs. I have my own backend. But when fetching users playlists due to "https://api.music.apple.com/v1/me/library/playlists" the response is 403 all the time. I tried many ways including creating new DevToken and UserToken when user login and sending those tokens in headers with Authorization and Music-User-Token. What else can be the problem?
Note: My team ids in Xcode and apple developer portal seems different. Maybe this is the problem.
We're experiencing crashes in our production iOS app related to Apple's DeviceCheck framework. The crash occurs in DCAnalytics internal performance tracking, affecting some specific versions of iOS 18 (18.4.1, 18.5.0).
Crash Signature
CoreFoundation: -[__NSDictionaryM setObject:forKeyedSubscript:] + 460
DeviceCheck: -[DCAnalytics sendPerformanceForCategory:eventType:] + 236
Observed Patterns
Scenario 1 - Token Generation:
Crashed: com.appQueue
EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x0000000000000010
DeviceCheck: -[DCDevice generateTokenWithCompletionHandler:]
Thread: Background dispatch queue
Scenario 2 - Support Check:
Crashed: com.apple.main-thread
EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x0000000000000008
DeviceCheck: -[DCDevice _isSupportedReturningError:]
DeviceCheck: -[DCDevice isSupported]
Thread: Main thread
Root Cause Analysis
The DCAnalytics component within DeviceCheck attempts to insert a nil value into an NSMutableDictionary when recording performance metrics, indicating missing nil validation before dictionary operations.
Reproduction Context
Crashes occur during standard DeviceCheck API usage:
Calling DCDevice.isSupported property
Calling DCDevice.generateToken(completionHandler:) (triggered by Firebase App Check SDK)
Both operations invoke internal analytics that fail with nil insertion attempts.
Concurrency Considerations
We've implemented sequential access guards around DeviceCheck token generation to prevent race conditions, yet crashes persist. This suggests the issue likely originates within the DeviceCheck framework's internal implementation rather than concurrent access from our application code.
Note: Scenario 2 occurs through Firebase SDK's App Check integration, which internally uses DeviceCheck for attestation.
Request
Can Apple engineering confirm if this is a known issue with DeviceCheck's analytics subsystem? Is there a recommended workaround to disable DCAnalytics or ensure thread-safe DeviceCheck API usage?
Any guidance on preventing these crashes would be appreciated.
Hi. I have an iOS application with multiple input fields. I have to design an experience such that whenever the user presses enter key on a textfield, it should move focus to the next input field.
Similarly, consider a stack of 3 textfields, I want to cycle the focus as and when the user presses up/down arrow keys.
Other platforms like Android, have this feature out-of-the-box. I wanted to understand if iOS also supports this kind of behavior.
I know how to manually code such UX, but just wanted to confirm whether there is some inherent feature like on android which i can leverage?
Thanks.
I have a script that stop working since Tahoe migration.
The script need to send a notification on the my mac.
The issue is this line:
osascript -e 'display notification "The task has been completed" with title "✅ My script"'
It doesn't fail (return 0), nothing in outputs, but doesn't show anything.
I check all my notification settings, but all seems to be right, I tested the configuration of iterm & script editor.
And the global ettongs of the notifications:
We are getting vulnerabilities for passkit generator, used for apple wallet creation. Could you please suggest how to resolve this issue
In our system we updated MIME with latest version but passkit is referring older version 1.4.1
npm audit report
mime <1.4.1
Severity: high
mime Regular Expression Denial of Service when MIME lookup performed on untrusted user input - https://github.com/advisories/GHSA-wrvr-8mpx-r7pp
No fix available
node_modules/mime
passkit *
Depends on vulnerable versions of mime
node_modules/passkit
2 high severity vulnerabilities
Some issues need review, and may require choosing
a different dependency.
Topic:
App & System Services
SubTopic:
Wallet