Post

Replies

Boosts

Views

Activity

Keychain Group
Dear Apple Developer Support Team, I would like to inquire whether there is a stable and official method to obtain the correct Team ID. When my app attempts to store data in the Keychain on a physical device, the retrieved Team ID is an unknown one and does not match the Team ID of my developer certificate. This issue consistently results in Keychain access failure with error code -34018. Could you please advise the root cause and provide a reliable solution to fix this Team ID mismatch and resolve the -34018 Keychain error? NSDictionary *query = [NSDictionary dictionaryWithObjectsAndKeys: kSecClassGenericPassword, kSecClass, @"bundleSeedID", kSecAttrAccount, @"", kSecAttrService, (id)kCFBooleanTrue, kSecReturnAttributes, nil]; CFDictionaryRef result = nil; OSStatus status = SecItemCopyMatching((CFDictionaryRef)query, (CFTypeRef *)&result); if (status == errSecItemNotFound) status = SecItemAdd((CFDictionaryRef)query, (CFTypeRef *)&result); if (status != errSecSuccess) return nil; NSString *accessGroup = [(__bridge NSDictionary *)result objectForKey:kSecAttrAccessGroup]; NSArray *components = [accessGroup componentsSeparatedByString:@"."]; NSString *bundleSeedID = [[components objectEnumerator] nextObject]; CFRelease(result); return bundleSeedID;
5
0
798
May ’26
Keychain errSecItemNotFound
Hello Apple Developer: I encountered some issues during development. I encrypted the secret key and stored it in the Keychain, but it failed when I tried to read it. I would like to ask if there is any problem with the code I wrote. Below is my code, including the storage and retrieval NSMutableDictionary *query = [[NSMutableDictionary alloc] initWithObjectsAndKeys:(id)kSecClassGenericPassword,(id)kSecClass, serviceID,(id)kSecAttrService, @YES,(id)kSecReturnData,nil]; CFTypeRef dataTypeRef = NULL; NSLog(@"SecItemCopyMatching"); OSStatus status = SecItemCopyMatching((__bridge CFDictionaryRef)(query), &dataTypeRef); NSLog(@"SecItemCopyMatching end status = %d",status); if (status == errSecSuccess) { *privateData = CFBridgingRelease(dataTypeRef); return 0; }else{ return status; } NSMutableDictionary *attributespri = [[NSMutableDictionary alloc] initWithObjectsAndKeys: (id)kSecClassGenericPassword, (id)kSecClass, serviceID, (id)kSecAttrService, outData, (id)kSecValueData, nil]; CFTypeRef dataRef = NULL; OSStatus priStatus = SecItemAdd((__bridge CFDictionaryRef)attributespri, &dataRef); if (dataRef) CFRelease(dataRef); return priStatus == noErr;
6
0
468
Apr ’26
evaluatedPolicyDomainState
Hi Apple Developers, I'm having a problem with evaluatedPolicyDomainState: on the same device, its value keeps changing and then switching back to the original. My current iOS version is 26.1. I upgraded my iOS from version 18.6.2 to 26.1. What could be the potential reasons for this issue? { NSError *error; BOOL success = YES; char *eds = nil; int edslen = 0; LAContext *context = [[LAContext alloc] init]; // test if we can evaluate the policy, this test will tell us if Touch ID is available and enrolled // success = [context canEvaluatePolicy: LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]; if (SystemVersion > 9.3) { // test if we can evaluate the policy, this test will tell us if Touch ID is available and enrolled success = [context canEvaluatePolicy: LAPolicyDeviceOwnerAuthentication error:&error]; } else{ // test if we can evaluate the policy, this test will tell us if Touch ID is available and enrolled success = [context canEvaluatePolicy: LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]; } if (success) { if (@available(iOS 18.0, *)) { NSData *stateHash = nil; if ([context respondsToSelector:@selector(domainState)]) { stateHash = [[context performSelector:@selector(domainState)] performSelector:@selector(stateHash)]; }else{ stateHash = [context evaluatedPolicyDomainState]; } eds = (char *)stateHash.bytes; edslen = (int)stateHash.length; } else { eds = (char *)[[context evaluatedPolicyDomainState] bytes]; edslen = (int)[[context evaluatedPolicyDomainState] length]; } CC_SHA256(eds, edslen, uviOut); *poutlen = CC_SHA256_DIGEST_LENGTH; } else { *poutlen = 32; gm_memset(uviOut, 0x01, 32); } }
6
0
1.4k
Jan ’26
The ASCredentialProviderViewController method is not executing.
Hello, when I attempted to use the passkey, the method - (void)prepareCredentialListForServiceIdentifiers:(NSArray<ASCredentialServiceIdentifier *> *)serviceIdentifiers requestParameters:(ASPasskeyCredentialRequestParameters *)requestParameters API_AVAILABLE(ios(17.0), macos(14.0)) API_UNAVAILABLE(watchos, tvos); didn't execute. Are there any specific prerequisites for this method to run? I would appreciate your assistance. Thank you.
3
0
757
Oct ’23
about iOS17 passKey
I have many questions about iOS passkey. I'm using my app extension to implement something similar to an iCloud passkey authenticator. I securely store my self-generated keys in the Secure Enclave (SE). I'd like to know how to make the extension execute the prepareInterfaceToProvideCredentialForRequest method instead of provideCredentialWithoutUserInteractionForIdentity. I need to display a UI to obtain my key. Please provide assistance. Thank you.
1
0
821
Oct ’23
About Crash Much
Dear Apple Apple Engineer: An exception has occurred in my application. Here is the crash report: 42183A4C-7A9C-36F9-B29A-A28577CE39B7 0x0000000100ecc000 caused by:Application received signal 5 callStackSymbols: { 0 libdispatch.dylib 0x000000018888c768 0x0000000188853000 + 235368 1 libdispatch.dylib 0x0000000188858344 0x0000000188853000 + 21316 2 libdispatch.dylib 0x00000001888564b4 0x0000000188853000 + 13492 3 iIndustrial 0x00000001031cb09c 0x0000000100ecc000 + 36696220 4 libobjc.A.dylib 0x000000019d79fcd8 0x000000019d79a000 + 23768 5 libobjc.A.dylib 0x000000019d7b7148 0x000000019d79a000 + 119112 6 libobjc.A.dylib 0x000000019d7be5c4 0x000000019d79a000 + 148932 7 libsystem_blocks.dylib 0x00000001d48c1764 0x00000001d48c0000 + 5988 8 libdispatch.dylib 0x000000018885781c 0x0000000188853000 + 18460 9 libdispatch.dylib 0x000000018885a968 0x0000000188853000 + 31080 10 libdispatch.dylib 0x0000000188868fe0 0x0000000188853000 + 90080 11 libdispatch.dylib 0x00000001888697d8 0x0000000188853000 + 92120 12 libsystem_pthread.dylib 0x00000001d492e768 0x00000001d492b000 + 14184 } This is my crash func, - (GMRZUACStatus)FPCodeConvertUACCode:(FidoStatus)status { GMRZUACStatus retStatus = GMRZUACStatus_FAILED; switch (status) { case SUCCESS: retStatus = GMRZUACStatus_SUCCESS; break; case FAILURE: retStatus = GMRZUACStatus_FAILED; break; case CANCELED: retStatus = GMRZUACStatus_CANCELED; break; case NO_MATCH: retStatus = GMRZUACStatus_NO_MATCH; break; case PROTOCOL_ERROR: retStatus = GMRZUACStatus_PROTOCOL_ERROR; break; case BIOIDINVALID: retStatus = GMRZUACStatus_BIOID_INVALID; break; case BIOID_HAS_CHANGED: retStatus = GMRZUACStatus_BIOID_CHANGED; break; case CURRENT_BIO_NOT_AVAILABLE: retStatus = GMRZUACStatus_BIOID_NOT_AVAILABLE; break; case WAIT_USER_ACTION: retStatus = GMRZUACStatus_WAIT_USER_ACTION; break; case UNKNOWN_ERROR: retStatus = GMRZUACStatus_UNKNOWN_ERROR; break; case USER_REGISTED: retStatus = GMRZUACStatus_USER_REGISTED; break; case TOUCHID_NOT_SUPPORT: retStatus = GMRZUACStatus_TOUCHID_NOT_SUPPORT; break; case FACEID_NOT_SUPPORT: retStatus = GMRZUACStatus_FACEID_NOT_SUPPORT; break; case FACEID_NOT_PERMISSION: retStatus = GMRZUACStatus_FACEID_NOT_PERMISSION; break; default: break; } return retStatus; } I don't know why this method is broken, can you help me? Best wishes
4
0
1k
May ’22
ios 15 platform webauthn
Hi Apple Developer: I'm having some problems with iOS15 WebAuthn. Can't found parameter for excludeList at the time of registration.Can‘t found parameter for allowList at the time of authentication. When I use an external authenticator, the registration succeeds, but the authentication prompts that no credentials are available. Related to the interface: ASAuthorizationSecurityKeyPublicKeyCredentialProvider; ASAuthorizationPlatformPublicKeyCredentialRegistration; Best regards;
0
0
1.1k
Jul ’21
Keychain Group
Dear Apple Developer Support Team, I would like to inquire whether there is a stable and official method to obtain the correct Team ID. When my app attempts to store data in the Keychain on a physical device, the retrieved Team ID is an unknown one and does not match the Team ID of my developer certificate. This issue consistently results in Keychain access failure with error code -34018. Could you please advise the root cause and provide a reliable solution to fix this Team ID mismatch and resolve the -34018 Keychain error? NSDictionary *query = [NSDictionary dictionaryWithObjectsAndKeys: kSecClassGenericPassword, kSecClass, @"bundleSeedID", kSecAttrAccount, @"", kSecAttrService, (id)kCFBooleanTrue, kSecReturnAttributes, nil]; CFDictionaryRef result = nil; OSStatus status = SecItemCopyMatching((CFDictionaryRef)query, (CFTypeRef *)&result); if (status == errSecItemNotFound) status = SecItemAdd((CFDictionaryRef)query, (CFTypeRef *)&result); if (status != errSecSuccess) return nil; NSString *accessGroup = [(__bridge NSDictionary *)result objectForKey:kSecAttrAccessGroup]; NSArray *components = [accessGroup componentsSeparatedByString:@"."]; NSString *bundleSeedID = [[components objectEnumerator] nextObject]; CFRelease(result); return bundleSeedID;
Replies
5
Boosts
0
Views
798
Activity
May ’26
Keychain errSecItemNotFound
Hello Apple Developer: I encountered some issues during development. I encrypted the secret key and stored it in the Keychain, but it failed when I tried to read it. I would like to ask if there is any problem with the code I wrote. Below is my code, including the storage and retrieval NSMutableDictionary *query = [[NSMutableDictionary alloc] initWithObjectsAndKeys:(id)kSecClassGenericPassword,(id)kSecClass, serviceID,(id)kSecAttrService, @YES,(id)kSecReturnData,nil]; CFTypeRef dataTypeRef = NULL; NSLog(@"SecItemCopyMatching"); OSStatus status = SecItemCopyMatching((__bridge CFDictionaryRef)(query), &dataTypeRef); NSLog(@"SecItemCopyMatching end status = %d",status); if (status == errSecSuccess) { *privateData = CFBridgingRelease(dataTypeRef); return 0; }else{ return status; } NSMutableDictionary *attributespri = [[NSMutableDictionary alloc] initWithObjectsAndKeys: (id)kSecClassGenericPassword, (id)kSecClass, serviceID, (id)kSecAttrService, outData, (id)kSecValueData, nil]; CFTypeRef dataRef = NULL; OSStatus priStatus = SecItemAdd((__bridge CFDictionaryRef)attributespri, &dataRef); if (dataRef) CFRelease(dataRef); return priStatus == noErr;
Replies
6
Boosts
0
Views
468
Activity
Apr ’26
evaluatedPolicyDomainState
Hi Apple Developers, I'm having a problem with evaluatedPolicyDomainState: on the same device, its value keeps changing and then switching back to the original. My current iOS version is 26.1. I upgraded my iOS from version 18.6.2 to 26.1. What could be the potential reasons for this issue? { NSError *error; BOOL success = YES; char *eds = nil; int edslen = 0; LAContext *context = [[LAContext alloc] init]; // test if we can evaluate the policy, this test will tell us if Touch ID is available and enrolled // success = [context canEvaluatePolicy: LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]; if (SystemVersion > 9.3) { // test if we can evaluate the policy, this test will tell us if Touch ID is available and enrolled success = [context canEvaluatePolicy: LAPolicyDeviceOwnerAuthentication error:&error]; } else{ // test if we can evaluate the policy, this test will tell us if Touch ID is available and enrolled success = [context canEvaluatePolicy: LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]; } if (success) { if (@available(iOS 18.0, *)) { NSData *stateHash = nil; if ([context respondsToSelector:@selector(domainState)]) { stateHash = [[context performSelector:@selector(domainState)] performSelector:@selector(stateHash)]; }else{ stateHash = [context evaluatedPolicyDomainState]; } eds = (char *)stateHash.bytes; edslen = (int)stateHash.length; } else { eds = (char *)[[context evaluatedPolicyDomainState] bytes]; edslen = (int)[[context evaluatedPolicyDomainState] length]; } CC_SHA256(eds, edslen, uviOut); *poutlen = CC_SHA256_DIGEST_LENGTH; } else { *poutlen = 32; gm_memset(uviOut, 0x01, 32); } }
Replies
6
Boosts
0
Views
1.4k
Activity
Jan ’26
The ASCredentialProviderViewController method is not executing.
Hello, when I attempted to use the passkey, the method - (void)prepareCredentialListForServiceIdentifiers:(NSArray<ASCredentialServiceIdentifier *> *)serviceIdentifiers requestParameters:(ASPasskeyCredentialRequestParameters *)requestParameters API_AVAILABLE(ios(17.0), macos(14.0)) API_UNAVAILABLE(watchos, tvos); didn't execute. Are there any specific prerequisites for this method to run? I would appreciate your assistance. Thank you.
Replies
3
Boosts
0
Views
757
Activity
Oct ’23
about iOS17 passKey
I have many questions about iOS passkey. I'm using my app extension to implement something similar to an iCloud passkey authenticator. I securely store my self-generated keys in the Secure Enclave (SE). I'd like to know how to make the extension execute the prepareInterfaceToProvideCredentialForRequest method instead of provideCredentialWithoutUserInteractionForIdentity. I need to display a UI to obtain my key. Please provide assistance. Thank you.
Replies
1
Boosts
0
Views
821
Activity
Oct ’23
About Crash Much
Dear Apple Apple Engineer: An exception has occurred in my application. Here is the crash report: 42183A4C-7A9C-36F9-B29A-A28577CE39B7 0x0000000100ecc000 caused by:Application received signal 5 callStackSymbols: { 0 libdispatch.dylib 0x000000018888c768 0x0000000188853000 + 235368 1 libdispatch.dylib 0x0000000188858344 0x0000000188853000 + 21316 2 libdispatch.dylib 0x00000001888564b4 0x0000000188853000 + 13492 3 iIndustrial 0x00000001031cb09c 0x0000000100ecc000 + 36696220 4 libobjc.A.dylib 0x000000019d79fcd8 0x000000019d79a000 + 23768 5 libobjc.A.dylib 0x000000019d7b7148 0x000000019d79a000 + 119112 6 libobjc.A.dylib 0x000000019d7be5c4 0x000000019d79a000 + 148932 7 libsystem_blocks.dylib 0x00000001d48c1764 0x00000001d48c0000 + 5988 8 libdispatch.dylib 0x000000018885781c 0x0000000188853000 + 18460 9 libdispatch.dylib 0x000000018885a968 0x0000000188853000 + 31080 10 libdispatch.dylib 0x0000000188868fe0 0x0000000188853000 + 90080 11 libdispatch.dylib 0x00000001888697d8 0x0000000188853000 + 92120 12 libsystem_pthread.dylib 0x00000001d492e768 0x00000001d492b000 + 14184 } This is my crash func, - (GMRZUACStatus)FPCodeConvertUACCode:(FidoStatus)status { GMRZUACStatus retStatus = GMRZUACStatus_FAILED; switch (status) { case SUCCESS: retStatus = GMRZUACStatus_SUCCESS; break; case FAILURE: retStatus = GMRZUACStatus_FAILED; break; case CANCELED: retStatus = GMRZUACStatus_CANCELED; break; case NO_MATCH: retStatus = GMRZUACStatus_NO_MATCH; break; case PROTOCOL_ERROR: retStatus = GMRZUACStatus_PROTOCOL_ERROR; break; case BIOIDINVALID: retStatus = GMRZUACStatus_BIOID_INVALID; break; case BIOID_HAS_CHANGED: retStatus = GMRZUACStatus_BIOID_CHANGED; break; case CURRENT_BIO_NOT_AVAILABLE: retStatus = GMRZUACStatus_BIOID_NOT_AVAILABLE; break; case WAIT_USER_ACTION: retStatus = GMRZUACStatus_WAIT_USER_ACTION; break; case UNKNOWN_ERROR: retStatus = GMRZUACStatus_UNKNOWN_ERROR; break; case USER_REGISTED: retStatus = GMRZUACStatus_USER_REGISTED; break; case TOUCHID_NOT_SUPPORT: retStatus = GMRZUACStatus_TOUCHID_NOT_SUPPORT; break; case FACEID_NOT_SUPPORT: retStatus = GMRZUACStatus_FACEID_NOT_SUPPORT; break; case FACEID_NOT_PERMISSION: retStatus = GMRZUACStatus_FACEID_NOT_PERMISSION; break; default: break; } return retStatus; } I don't know why this method is broken, can you help me? Best wishes
Replies
4
Boosts
0
Views
1k
Activity
May ’22
ios 15 platform webauthn
Hi Apple Developer: I'm having some problems with iOS15 WebAuthn. Can't found parameter for excludeList at the time of registration.Can‘t found parameter for allowList at the time of authentication. When I use an external authenticator, the registration succeeds, but the authentication prompts that no credentials are available. Related to the interface: ASAuthorizationSecurityKeyPublicKeyCredentialProvider; ASAuthorizationPlatformPublicKeyCredentialRegistration; Best regards;
Replies
0
Boosts
0
Views
1.1k
Activity
Jul ’21