A few months ago I requested access to the com.apple.developer.contacts.notes entitlement, which I now have access to.
While running on 'Debug' build configuration, everything works as expected.
When creating a 'Release' build, however, the entitlement does not appear to be included with the app, as the console reports that fetching the note for each contact fails.
When I try to add the "Contact Notes" capability in Xcode, under the 'Release' tab in the project settings, the capability appears for a few seconds, then disappears when I move to a different tab and return. This does not happen for the 'Debug' configuration.
Attempted Resolutions:
Changing the signing configuraiton from 'Automatic' to 'Manual', using a manually generated provisioning profile. I manually inspected the provisioning profile using the terminal to ensure it included the entitlement.
Creating a separate entitlement file with com.apple.developer.contacts.notes, adding it to the root of the project. Ensuring that the path to this file is correct on the 'Release' configuration.
Ensuring 'Contacts Notes Field Access' is enabled under 'Additional Capabilities' in the Developer portal.
Adding the capability on Xcode.
Below is the inspector displaying the provisioning profile for the 'Debug' Configuration:
And the following image below shows the inspector details for the 'Release' Configuration provisioning profile:
When I use a manual provisioning profile and an entitlements file at the root of the project, Xcode displays this strange error:
Contacts
RSS for tagAccess the user's contacts and format and localize contact information using Contacts.
Posts under Contacts tag
49 Posts
Sort by:
Post
Replies
Boosts
Views
Activity
Apple revealed the ContactsAccessButton in the WWDC24 session 10121: Meet the Contact Access Button.
After watching the video, reading through the
documentation as well as the
sample code
, I can only find a SwiftUI ContactsAccessButton.
However, our code base is written largely in UIKit, and our team prefers to do complex work and customization with lists via UITableView as opposed to SwiftUI List. So we would greatly prefer to use a UIKit ContactAccessButton.
Is there not a UIKit equivalent to ContactsAccessButton? If there is, where can we find it?
I am using CNContactPicker (with "CNContactKey.PostalAddresses" as "displayedKeys") to allow users to pick a contact + postal address.
Upon selection, I am retrieving the postal address using CNPostalAddressFormatter - this works without problems. However, when trying to retrieve the contact name using CNContactFormatter, this only works when the contact type is "Person". When it is "company", the app crashes with "CNPropertyNotFetchedException Reason: A property was not requested when contact was fetched" (because the formatter attempts to access "organizationName", which it apparently can't.
There also doesn't seem to be a way to "retrieve" this information without having to request contacts permissions manually. The same code (just using CNContactPickerViewController, but also without requesting contacts permissions) works without issue on iOS.
Hi,
We asked Apple to give us access to the contacts memo field.
https://developer.apple.com/contact/request/contact-note-field
But there is no response to the request.
Please let me know how I can get a reply.
Hi Everybody,
I would like to see the feature, that allows us to limit the access for selected apps to get access to our Contacts.
Especially apps like WhatsApp cannot be trusted, in my opinion, so I would love to see the possibility to prevent, that they just analyse our full Contact book and sell the data.
With a limited access feature, we can at least decide, which information we wanna share with suspicious companys.
What do you think and how could we reach the developers attention to get this with the next major update.
Greetings from Europe
Hello
I'm currently having some issues when using CNContactViewController in iOS 17.
The problem starts after embedding the CNContactViewController inside a UINavigationController and presenting it modally.
The CNContactViewController is created using the forNewContact initialiser and passing an initial value to it (CNMutableContact)
Next I tap the Add Photo button, which presents the new iOS 17 Photo Editor/Picker which immediately covers all the screen. After pressing Cancel, the Photo Editor is dismissed but the "Go Home" gesture is disabled and its not possible to go to the Home Screen unless the iPhone screen is turned off and on again (this fixes the issue).
This seems to be a bug in this CNContactViewController unless I'm using it incorrectly.
Additionally, this is only happening when the Photo Editor is cancelled/dismissed. If the whole process of picking and editing a photo is completed, this issue does not happens and the "Go Home" gesture works as usual.
Here is a code sample of how CNContactViewController being used and presented:
class ContactViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let b = UIButton(type: .system)
b.setTitle("Push", for: .normal)
b.setTitleColor(.systemBlue, for: .normal)
b.addTarget(self, action: #selector(pushAction(sender:)), for: .touchUpInside)
b.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(b)
NSLayoutConstraint.activate([
b.centerXAnchor.constraint(equalTo: view.centerXAnchor),
b.centerYAnchor.constraint(equalTo: view.centerYAnchor)
])
}
@objc func pushAction(sender: UIButton) {
let mc = CNMutableContact()
mc.givenName = "MyName"
let vc = CNContactViewController(forNewContact: mc)
vc.allowsActions = false
vc.allowsEditing = false
vc.contactStore = CNContactStore()
vc.delegate = self
let nc = UINavigationController(rootViewController: vc)
nc.modalPresentationStyle = .fullScreen
self.present(nc, animated: true)
}
}
extension ContactViewController: CNContactViewControllerDelegate {
func contactViewController(_ viewController: CNContactViewController, didCompleteWith contact: CNContact?) {
viewController.dismiss(animated: true)
}
}
Hi everyone!
It came to my knowledge from the documentation (https://developer.apple.com/documentation/contacts/cncontactstore/unifiedmecontactwithkeys%28tofetch:%29) that the method unifiedMeContactWithKeys(toFetch:), which fetches the me-card in the phone book by using CNContactStore, was recently made available for iOS as well. The problem is that I regardless get the error saying the method is unavailable for iOS, even though the documentation clearly states it should be available. I have tried several Xcode version including the latest one but to no avail... Does anyone have any idea what is wrong here?
Kindest regards,
Andreas
Is your feature request related to a problem? Please describe.
Everywhere where Apple offers it, I use Apple's Private Relay e-mail addresses.
However, they can't be manually generated, so for the rest, I use https://anonaddy.me. Because it offers infinite aliases, I use a different alias every time I give my e-mail address to someone. However, I ensure that they're all under the @rokejulianlockhart.anonaddy.com (.com and .me are equivalent in this case) domain so that they can be identified as me by a human. I use different aliases to combat spam, not be anonymous.
Additionally, when messaging others, I ensure that I add a sub-address with my name to their e-mail address so that they can filter all messages from me (even if I'm using a different alias for my own filtering purposes). Others use the same when communicating with me, especially family. The current identification system doesn't take sub-addresses into account whatsoever.
Describe the solution you'd like
I should therefore be able to set
RY7I0I+RY7I0R@rokejulianlockhart.anonaddy.com as an e-mail address, and beneath it add, for instance
[A-Za-z0-9]+\+[A-Za-z0-9]+@rokejulianlockhart\.anonaddy\.com
in another input form to ensure that Nextcloud identifies any (in this case sub-addressed) alias as me.
Describe alternatives you've considered
The sole current alternative is to list literal tens of thousands of aliases as myself, which is insane. It also wouldn't work, because https://anonaddy.me generates a new alias when someone else uses one, so I'd have to retroactively add those whenever someone else uses one. It also wouldn't account for sub-addresses.
Additional context
Like most more powerful features of Nextcloud, this only need be visible when clicked on. Adding a button beside each e-mail address to show a form which allows the user to enter custom regex is enough.
Additionally requested at:
https://feedbackportal.microsoft.com/feedback/idea/ed4261f8-af28-ee11-a81c-6045bd8534ad.
https://discussions.apple.com/thread/255016441.
https://github.com/nextcloud/contacts/issues/3530#issue-1816825315.
Open an existing contact
Click Edit —> Add Birthday
Select Date and Save
Close the contact app
Come back to the same contact, the birthday is gone.