Adding or using Note Field Access Entitlement

Hello,

Ive ben having an issue with one of my Apps since Ventura came out. The app won't create a new contact It fails giving a few different warnings but no real error. I have tried it unto Ventura 13.0.1 (22A400)

The error is

2022-12-03 09:33:54.543143+1000 **** [1941:15105] [api] Attempt to write notes by an unentitled app

2022-12-03 09:33:54.580714+1000 **** [1941:15105] [plugin] CDX_AB_GetGroupCollectionPath: nil group

2022-12-03 09:33:54.580765+1000  **** [1941:15105] [plugin] CDX_AB_GetGroupCollectionPath: nil group

2022-12-03 09:33:54.581969+1000 **** [1941:15105] [ABCDContact] An ABCDRecord is being saved without having a container assignment. Assigning the contact to <CNCDContainer 0x6000013c92c0 ab>. Please remember to assign contacts to containers to avoid recurring container lookup and contact re-validation costs.

.

When I follow the instructions on this page https://developer.apple.com/documentation/contacts to create a new contact It fails on Ventura to create a new contact and I don't know why. So I submitted a feedback Assistant request (FB11721907)

But I also went ahead and got Notes field access as that was one of the warnings.

That got approved, Now I would like help adding it in my project. I logged into the Developer Portal and in Identifiers, located my app and went to Additional Capabilities ticked the Box marked Contacts Notes Field Access. Then instructions in the email say 'Once you’ve finished generating the profile, you can use it in Xcode like any other manually-generated profile.' Im not sure what this means.

I tried to add 'com.apple.developer.contacts.notes' Boolean, YES, to the entitlement file as described in https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_contacts_notes but the app doesn't launch when it's added. And if I put it into the info.plist file it does nothing. Also im not sure how to add the purpose string.

Answered by KrtNthnyLn in 738574022

I added the Entitlement to my app in the developer portal first via the instructions here -> Provisioning in Xcode with additional capabilities (https://developer.apple.com/help/account/reference/provisioning-with-managed-capabilities)

I then went into Xcode and followed the instructions to add com.apple.developer.contacts.notes, Bool YES , to my app as described here -> com.apple.developer.contacts.notes(https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_contacts_notes)

If the .entitlement file dose not exist in Code go to you app target, Signing and Capabilities and add something like App Groups (remove after if not required) This is also a necessary step to get Xcode to redownload a new provisioning profile. With out adding something new in Signing and Capabilities Xcode won't launch your app with the com.apple.developer.contacts.notes string in th e.plist. It just won't launch.

You need to force Xcode to detect the differences between your currently issued provisioning profile and the entitlements.plist, and then request a new provisioning profile from you developer portal.

Accepted Answer

I added the Entitlement to my app in the developer portal first via the instructions here -> Provisioning in Xcode with additional capabilities (https://developer.apple.com/help/account/reference/provisioning-with-managed-capabilities)

I then went into Xcode and followed the instructions to add com.apple.developer.contacts.notes, Bool YES , to my app as described here -> com.apple.developer.contacts.notes(https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_contacts_notes)

If the .entitlement file dose not exist in Code go to you app target, Signing and Capabilities and add something like App Groups (remove after if not required) This is also a necessary step to get Xcode to redownload a new provisioning profile. With out adding something new in Signing and Capabilities Xcode won't launch your app with the com.apple.developer.contacts.notes string in th e.plist. It just won't launch.

You need to force Xcode to detect the differences between your currently issued provisioning profile and the entitlements.plist, and then request a new provisioning profile from you developer portal.

Adding or using Note Field Access Entitlement
 
 
Q