Post

Replies

Boosts

Views

Activity

Reply to PTT - PushToTalk - App Identifier Register
Hello Thanks the above review agreement was the reason for app identifier register problem, Its resolved. Tried sample application just to setupChannelManager and joinTheChannel, but for some reason PTChannelManager initialised successfully but with NO channelUUID and Error param also nil Xcode Configuration wise, we have done the following things, New PushToTalk Capability added for our application-identifier [ Apple Dev account] New PushToTalk BackgroundMode is enabled APNS capability added Microphone Permission entry added in pList We have the below required entitlements     a> com.apple.developer.push-to-talk     b> aps-environmentdevelopment Could you please help here and see whether anything we are missing which is resulting in NULL channelUUID within didFinishLaunchingWithOptions delegate method [PTChannelManager channelManagerWithDelegate:self restorationDelegate:self completionHandler:^(PTChannelManager * _Nullable manager, NSError * _Nullable error) {     NSLog(@"Active Channel ID = %@", [[manager activeChannelUUID] description]); }];
Jun ’22
Reply to PushToTalk: Issues with beginning transmission
Hello Tried sample application just to setupChannelManager and joinTheChannel, but for some reason PTChannelManager initialised successfully but with NO channelUUID Xcode Configuration wise, we have done the following things, New PushToTalk Capability added for our application-identifier [ Apple Dev account] New PushToTalk BackgroundMode is enabled APNS capability added Microphone Permission entry added in pList We have the below required entitlements     a> com.apple.developer.push-to-talk     b> aps-environmentdevelopment Could you please help here and see whether anything we are missing which is resulting in NULL channelUUID within didFinishLaunchingWithOptions method [PTChannelManager channelManagerWithDelegate:self restorationDelegate:self completionHandler:^(PTChannelManager * _Nullable manager, NSError * _Nullable error) {      NSLog(@"Active Channel ID = %@", [[manager activeChannelUUID] description]);     }   }];
Jun ’22
Reply to BGTask expiry is never called for the requested BGTask.
Client explicitly never does the Audio activate session: Looks OS on behalf of the client and expects the deactivation as well and also unable to find the root cause of the audio session activation. Please find the detailed use case for the time the issue occurred: Application is in suspended and received PTT push notification: 2024-09-03 16:18:43.258467 +0530 default AT&T EPTT <ALA_SIGNAL>: [OS-CCF] -[PushToTalkInterface incomingPushResultForChannelManager:channelUUID:pushPayload:] Part of PTT call - didActivateAudioSession activated 2024-09-03 16:18:43.570734 +0530 default AT&T EPTT <ALA_SIGNAL>: Enter -[PushNotificationManager didActivateAudioSession:] Due to internal settings/constraint, client ended the call by setting setActiveRemoteParticipant to null 2024-09-03 16:18:43.601432 +0530 default AT&T EPTT <ALA_SIGNAL>: Enter -[PushNotificationManager setActiveRemoteParticipant:useCallerThread:image:] [talkerName = (null)] 2024-09-03 16:18:43.603754 +0530 default AT&T EPTT Enter -[KN_CallStateMachine cleanUp] [current state = STATE_CALL_DISCONNECTED] 2024-09-03 16:18:43.606457 +0530 default AT&T EPTT Provider <CXXPCChannelProvider: 0x301ed4180> reports channel with UUID 46FA76CB-A956-4FDF-9DC1-A435C8576D4E ended an incoming transmission with reason 0 Part of PTT call end - didDeactivateAudioSession deactivated 2024-09-03 16:18:43.948898 +0530 default AT&T EPTT <ALA_SIGNAL>: Enter -[PushNotificationManager didDeactivateAudioSession:] 2024-09-03 16:18:43.410607 +0530 default callservicesd AVAudioSession_iOS.mm:2774 Deactivated session 0x6800c 2024-09-03 16:18:43.948975 +0530 error runningboardd [app<com.msikodiak.eptt(35408D99-1B85-4B85-A639-D03A7D98DE18)>:282] client not entitled to get limitationsForInstance: <Error Domain=RBSServiceErrorDomain Code=1 "Client not entitled" UserInfo={RBSEntitlement=com.apple.runningboard.process-state, NSLocalizedFailureReason=Client not entitled, RBSPermanent=false}> And later in BG , received the Audio route change and seen audio activate session for the client, please let us what is causing the activate session also suppose to be deactivated by OS since it is activate behalf of client: 2024-09-03 16:18:47.351851 +0530 default AT&T EPTT [IOS] audioRouteChangeEventNotification Exit 2024-09-03 16:18:47.352385 +0530 default AT&T EPTT AVAudioSession_iOS.mm:2654 Activated session 0x6800c
Topic: App & System Services SubTopic: Core OS Tags:
Oct ’24
Reply to Application is not able to access any keychain info on application launch post device reboot
Further analysis: When client couldn't get the key from the keychain then it goes for a key to save in keychain for the same identity anyway here on this task keychain error occured, does any chance on this might have deleted the existing key from keychain even though keychain locked:? 2025-06-17 12:12:30.246151 +0530 securityd insert failed for item <keys,kcls=0,klbl=3026A4A26A2CF40D21517C07AD2BEA631768FDBF,atag=636F6D2E6D73692E696E737461506F432E617373796D65747269632E7075626C69634B6579,crtr=0,type=42,bsiz=2048,esiz=2048,sdat=2001-01-01 00:00:00 +0000,edat=2001-01-01 00:00:00 +0000,agrp=group.com.msikodiak.eptt,sync=0,musr=, |otherAttr,tomb=0,cdat=2025-06-17 06:42:30 +0000,mdat=2025-06-17 06:42:30 +0000,perm=1,priv=1,modi=1,sens=0,asen=0,extr=1,next=0,encr=1,decr=0,drve=0,sign=0,vrfy=1,snrc=0,vyrc=0,wrap=1,unwp=0,pdmn=ck,sha1=4D6CC4172C5F6BA16D034165E2E365A070D16347,v_Data=<?>,UUID=7B669714-C788-4AAD-9992-52A706742B45,persistref=9295DE3FB385455BACFAA0E4656FE30E,clip=0> with Error Domain=NSOSStatusErrorDomain Code=-25308 "ks_crypt: e00002e2 failed to 'od' item (class 7, bag: 0) Access to item attempted while keychain is locked (hibernation?)." UserInfo={numberOfErrorsDeep=0, NSDescription=ks_crypt: e00002e2 failed to 'od' item (class 7, bag: 0) Access to item attempted while keychain is locked (hibernation?).} default 2025-06-17 12:12:30.263329 +0530 securityd deleted <keys, |otherAttr,rowid=374,sha1=005C72451B95532930BD165CE3F0D174DA2CD1B1,clip=0> from default 2025-06-17 12:12:30.265810 +0530 securityd WAVE PTX[235]/1#12 LF=0 add Error Domain=NSOSStatusErrorDomain Code=-25308 "ks_crypt: e00002e2 failed to 'od' item (class 7, bag: 0) Access to item attempted while keychain is locked (hibernation?)." UserInfo={numberOfErrorsDeep=0, NSDescription=ks_crypt: e00002e2 failed to 'od' item (class 7, bag: 0) Access to item attempted while keychain is locked (hibernation?).} default HK
Topic: Privacy & Security SubTopic: General Tags:
Jun ’25
Reply to Application is not able to access any keychain info on application launch post device reboot
You have a keychain item whose access is set to one of the after-first-unlock values. YES Your app is being launched before first unlock. YES And thus can’t access the item. To clarify further, Here App got launched in background when device is still locked state and tries to access the keychain item and it got failed which is expected, the same time client tries to save the keychain item for the same keychain item id which is also got failed as expected BUT DOES THIS SAVE ATTEMPT DELTES THE EXSTING ONE when device is locked ? 2025-06-17 12:12:30.263329 +0530 securityd deleted <keys, |otherAttr,rowid=374,sha1=005C72451B95532930BD165CE3F0D174DA2CD1B1,clip=0> from default 2025-06-17 12:12:30.265810 +0530 securityd WAVE PTX[235]/1#12 LF=0 add Error Domain=NSOSStatusErrorDomain Code=-25308 "ks_crypt: e00002e2 failed to 'od' item (class 7, bag: 0) Access to item attempted while keychain is locked (hibernation?)." UserInfo={numberOfErrorsDeep=0, NSDescription=ks_crypt: e00002e2 failed to 'od' item (class 7, bag: 0) Access to item attempted while keychain is locked (hibernation?).} default Device unlocked here 2025-06-17 12:15:11.172081 +0530 symptomsd First unlock occurred, proceeding default When attempted to retrive the same key post unlock, client never got the key says key not found 2025-06-17 12:15:28.914700 +0530 WAVE PTX <ALA_ERROR> [DB_ENCRYPTION] Error retrieving key from the Keychain: -25300 default
Topic: Privacy & Security SubTopic: General Tags:
Jun ’25
Reply to Application is not able to access any keychain info on application launch post device reboot
Wanted to understand the Keychain behaviour in case Device is rebooted and Locked state: SecItemCopyMatching: this API throws error saying Keychain locked(-25800), AS EXPECTED SecItemDelete: this API doesn't throws any error on deletion(how this is happened even though device is locked): but as per logs looks deleted the key ?? NOT SURE WHAT's happening in the issue case as explained below, later key not found from the keychain SecItemAdd: this API also throws error saying Keychain locked(-25800), AS EXPECTED Here I see that below is executed without any error, meant Delete API succeeded without any error(device is still locked) OSStatus status = SecItemDelete((__bridge CFDictionaryRef)query); But below SAVE API failed with error KEYCHAIN LOCKED but it is not same for Delete API as mentioned above on the same time status = SecItemAdd((__bridge CFDictionaryRef)query, NULL); ERROR: 2025-06-17 12:12:30.265810 +0530 securityd WAVE PTX[235]/1#12 LF=0 add Error Domain=NSOSStatusErrorDomain Code=-25308 "ks_crypt: e00002e2 failed to 'od' item (class 7, bag: 0) Access to item attempted while keychain is locked (hibernation?)." UserInfo={numberOfErrorsDeep=0, NSDescription=ks_crypt: e00002e2 failed to 'od' item (class 7, bag: 0) Access to item attempted while keychain is locked (hibernation?).} default HK So the Query is Does SecItemDelete should also fail(shouldn't delete the key) in case of Device in locked state(First reboot), right? : I dont find any logs indicating the success or failure in this case If this is not deleted at this moment, then next client queries the same key post device First Unlock says key not exist `2025-06-17 12:15:11.172081 +0530 symptomsd First unlock occurred, proceeding default 2025-06-17 12:15:28.914700 +0530 WAVE PTX <ALA_ERROR> [DB_ENCRYPTION] Error retrieving key from the Keychain: -25300 default ` Code: keyIdentifier is same for both case + (BOOL)saveSymetricKeyToKeychain:(NSData *)symmetricKeyData keyIdentifier:(NSString *)keyIdentifier { NSString *appGrpIdentifier = [SQLiteExtUtil getAppGroupIdentifier]; NSDictionary *query = @{ (__bridge id)kSecClass: (__bridge id)kSecClassKey, (__bridge id)kSecAttrApplicationTag: keyIdentifier, (__bridge id)kSecValueData: symmetricKeyData, (__bridge id)kSecAttrKeyClass: (__bridge id)kSecAttrKeyClassSymmetric, (__bridge id)kSecAttrAccessible: (__bridge id)kSecAttrAccessibleAfterFirstUnlock, (__bridge id)kSecAttrAccessGroup: appGrpIdentifier }; // First, check if the key already exists in the Keychain. To handle downgrade client upgrade usecases OSStatus status = SecItemDelete((__bridge CFDictionaryRef)query); if (status != errSecSuccess && status != errSecItemNotFound) { NSLog(@"<ALA_ERROR> [DB_ENCRYPTION] Error deleting existing key: %d", (int)status); return NO; } // Now add the key to the Keychain status = SecItemAdd((__bridge CFDictionaryRef)query, NULL); if (status == errSecSuccess) { NSLog(@"[DB_ENCRYPTION] Key successfully stored in the Keychain"); return YES; } else { NSLog(@"<ALA_ERROR> [DB_ENCRYPTION] Error storing key in the Keychain: %d", (int)status); return NO; } } // Retrieve a symmetric key from the Keychain + (NSData *)retrieveSymmetricKeyFromKeychain:(NSString *)keyIdentifier { NSDictionary *query = @{ (__bridge id)kSecClass: (__bridge id)kSecClassKey, (__bridge id)kSecAttrApplicationTag: keyIdentifier, (__bridge id)kSecReturnData: (__bridge id)kCFBooleanTrue, (__bridge id)kSecAttrKeyClass: (__bridge id)kSecAttrKeyClassSymmetric }; CFTypeRef result = NULL; OSStatus status = SecItemCopyMatching((__bridge CFDictionaryRef)query, &result); if (status == errSecSuccess) { NSLog(@"[DB_ENCRYPTION] Key successfully retrieved from the Keychain"); return (__bridge NSData *)result; } else { NSLog(@"<ALA_ERROR> [DB_ENCRYPTION] Error retrieving key from the Keychain: %d", (int)status); return nil; } }
Topic: Privacy & Security SubTopic: General Tags:
Jun ’25
Reply to Requested NSURLSession task is neither requested nor has it timed out
We observed an issue on a low-end device where the OS throttled a request, causing approximately an hour delay in its initiation. The throttling was due to MemoryPressurePolicy and CPUUsagePolicy. We would like to understand the real use case that would lead to this behavior. Additionally, we are looking for information on whether there is any delegate that could inform the client about this throttling.
Jul ’25