Post not yet marked as solved
Is it possible in the SDK to set the ringtone for a contact without using the ContactUI?Thanks
Post not yet marked as solved
I love how Apple products will open up a VCF File in the Contacts App and import nearly all of the information successfully.However at the moment, the only format accepted for the PHOTO field is Base64.This can make for much larger VCF Files when the VCard Specification also includes an option for a Photo URI, allowing the data to be stored elsewhere and retrieved on opening of the VCard.It would be awesome if Apple Devices could recognize and retrieve Photos located at the VCF File's specified PHOTO URI Location to allow for more compact VCF files to be distributed in various formats.Here's an example of a VCard who's PHOTO option specifies a remote URI for the imageBEGIN:VCARDVERSION:3.0N:Gump;Forrest;;Mr.;FN:Forrest GumpORG:Bubba Gump Shrimp Co.TITLE:Shrimp ManPHOTO;TYPE=JPEG;VALUE=URI:https://upload.wikimedia.org/wikipedia/commons/8/87/My_Dog_%2861220578%29.jpegTEL;TYPE=WORK,VOICE:(111) 555-1212TEL;TYPE=HOME,VOICE:(404) 555-1212ADR;TYPE=WORK,PREF:;;100 Waters Edge;Baytown;LA;30314;United States of AmericaLABEL;TYPE=WORK,PREF:100 Waters Edge\nBaytown\, LA 30314\nUnited States of AmericaADR;TYPE=HOME:;;42 Plantation St.;Baytown;LA;30314;United States of AmericaLABEL;TYPE=HOME:42 Plantation St.\nBaytown\, LA 30314\nUnited States of AmericaEMAIL:forrestgump@example.comREV:2008-04-24T19:52:43ZEND:VCARDThank you!
Post not yet marked as solved
Hi,
I tried very hard to contact Apple through email since my apple developer account suddenly get a "Notice of Termination" email from Apple but Apple haven't response me 9 days ago. I'm really troubled with it.
I even asked my friend to use his developer account to access to developer support portal but after receive a call from Apple, its just an automatic robot response try to make me press "1". After that Apple did call back but immediately hang up after 10 seconds ringing phone.
Even if i tried to get it instantly, no one talks to me and ended up the call after 10-15 seconds. Tried like 10-15 calls and still unable to get Apple support to talk to me.
What am i supposed to do to get Apple support me through phone number or email? They literally ignore me. Anyone know what is the best way to contact them?
Post not yet marked as solved
Hello,
Xcode 12 here. AddressBook labelled as deprecated but still present in Xcode 12 / Big Sur and my macOS app works fine on it. This is an app made in Obj-C that I sell on the Mac App Store since 2013, which I modernized progressively once in a while.
I now want to modernize it even more and replace AddressBook with Contacts to get rid of everything labelled as deprecated. In the Xcode objects list though, I can't find the CNContactPickerView to replace the old ABPeoplePickerView, although I linked the new Contacts framework to my project.
The doc says it's available in iOS and Mac Catalyst. Does it mean it won't be available for a genuine macOS project ?
If this is the case, how can I proceed, or should I just keep using AddressBook as long as it works ? In this case, for how long will Apple allow developers to use it ?
Thank you.
Post not yet marked as solved
I think the image resizing process when creating the new contact is not done correctly.
It's easy to understand if you create a vCard.
[Steps] Take two pictures with the same subject. (Let "IMG_A" and "IMG_B".)
Create a "New Contact".
2-1. Tap [Add Photo] and select "IMG_A".
2-2. Tap the [Choose] without doing anything in "Move and Scale".
2-3. Tap [Done] a few times to set the Photo.
2-4. Entering a name and other information is optional.
3. Save the contact as a vcf file to Files App.
* [Share Contact] - [Save to Files] - [On My iPhone] - [Save]
4. Edit the contact that saved at step 2.
4-1. Release "IMG_A", and set the "IMG_B" in the same as the step 2-1 to 2-3.
5. Save the contact as a vcf file to Files app in the same as step 3.
6. Check the size of the two vcf files.
[Result]
The size of the two vcf files are very different.
I think the cause is PHOTO property.
As a result of extracting the image from vCard, the resolution was as follows.
(Original: 3024 * 4032)
IMG_A: 2784 * 2784
IMG_B: 320 * 320
[Remarks]
I checked this issue occur iOS14(include new version of 14.4.2) and iOS12 is not occured.
Post not yet marked as solved
Watch OS8 is not syncing contacts. When I go to messages it will show group names but not the names of the individuals in the group. It will also not show single and nothing in contacts. I have contact syncing turned on. I have don't a restore and set up as new and issue remains. Anyone else having this issue?
Post not yet marked as solved
I need to fetch user's contacts on a remote web server once the user successfully signs in with "Sign in with apple".
Post not yet marked as solved
I have the bearer token of a user after a successful "Sign In with apple" procedure.
Post not yet marked as solved
I'm trying to remove a few languages which is present as the localized language in my app (under language section) in iTunes connect but when I try to remove it, it allows me to remove but when I try to save these changes Apple is prompting me an error message
"You have one or more errors on this page.
• An error has occurred. Try again later."
Can anyone, please let me know how can I remove a localized language?
Post not yet marked as solved
Hi All,
I want to generate QR code on Wallet pass which adds new contact to Address Book. I prepared .vcf file with contact data and sent it to iPhone, however the device only opened Address Book and nothing else happened.
Do you have any idea how to fix it?
Post not yet marked as solved
Hi,
I'm a project manager, not necessarily a developer so this will be a blunt, rookie question.
We're working on an app, part of it includes adding our phone number to the user's contacts during onboarding. This phone number will be called by the user later when they need our service.
Is there an easy or automated way to add convenience instead of having the user manually have to copy a number, and then create a contact?
Post not yet marked as solved
How do I use Swift in iOS to take a Group of Contacts and copy it all to another iOS device using a different Apple ID?
I have looked into fetching the Contacts using CNContactStore, using the Share App Extension, and somehow using .vcf files.
I'm looking for any ideas anyone has. Hopefully I can pick the simplest way to do this from someone's idea.
Post not yet marked as solved
Anyone ever use CNFetchResult successfully? I find nothing on the internet, on stackoverflow, and in Apple Developer Forums.
The only thing I have found is Apple Documentation for it. It says CNFetchResult is a Generic Class. What exactly does that mean. I found an explanation that gives its definition, but the rest of the explanation is very long winded.
When I use the Contacts Framework with Swift for iOS 15 using Xcode 13, when I use CNContactStore instance method unifiedContacts(matching:keysToFetch:), what happens to those CNContact objects that are not linked with any other CNContact objects, would they be returned as non-unified contacts, or would they be left out since they are non-unified contacts?
Post not yet marked as solved
Hi,
I encountered a crash that happens randomly on certain macOS. Here's the crash log. For clarity, only the crashed queue's stack trace is added.
Process: Engage [6891]
Path: /Applications/Engage.app/Contents/MacOS/Engage
Identifier: com.mycompany.engage
Version: 2.0.1 (20111120)
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: Engage [6891]
User ID: 2123560928
Date/Time: 2021-11-17 16:36:20.753 +0800
OS Version: Mac OS X 10.14.6 (18G9323)
Report Version: 12
Anonymous UUID: C642EE95-AF30-723E-91B8-A1C9D4ECD9A6
Sleep/Wake UUID: B95DB75A-69E8-4F19-B735-CEC7A698AE00
Time Awake Since Boot: 40000 seconds
Time Since Wake: 910 seconds
System Integrity Protection: enabled
Crashed Thread: 5 Dispatch queue: Contacts fetching queue
Exception Type: EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x0000000000000001, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Signal: Illegal instruction: 4
Termination Reason: Namespace SIGNAL, Code 0x4
Terminating Process: exc handler [6891]
Application Specific Information:
API MISUSE: Resurrection of an object
Thread 0:: Dispatch queue: com.apple.main-thread
...
Thread 1:
...
Thread 2:
...
Thread 3:
...
Thread 4:: Dispatch queue: com.apple.root.background-qos
...
Thread 5 Crashed:: Dispatch queue: Contacts fetching queue
0 libdispatch.dylib 0x00007fff703929a6 _os_object_retain + 34
1 com.apple.AppKit 0x00007fff41bbc6da -[_NSWorkspaceFileOperation initWithQueue:URLs:operation:completionHandler:] + 111
2 com.apple.AppKit 0x00007fff41bbc5a0 -[NSWorkspace recycleURLs:completionHandler:] + 726
3 com.apple.AddressBook.core 0x00007fff53cd5004 -[ABPersistentStoreBuilder removeDotNewPathForDatabasePath] + 212
4 com.apple.AddressBook.core 0x00007fff53cd42f3 -[ABPersistentStoreBuilder addPersistentStoreAtDatabasePath:] + 61
5 com.apple.AddressBook.core 0x00007fff53cd3da4 -[ABPersistentStoreCoordinatorFactory addStoresForAccounts:withStoreBuilder:] + 333
6 com.apple.AddressBook.core 0x00007fff53cccd7f -[ABPersistentStoreCoordinatorFactory pool_makeCoordinatorForAllAvailableSources] + 114
7 com.apple.AddressBook.core 0x00007fff53ccccc1 ABResultWithAutoreleasePool + 59
8 com.apple.AddressBook.core 0x00007fff53cccc80 -[ABPersistentStoreCoordinatorFactory makeCoordinatorForAllAvailableSources] + 65
9 com.apple.AddressBook.core 0x00007fff53ccca4c -[ABPersistentStoreCoordinatorMap nts_coordinatorForAllSourcesAndDidUpdateMap:] + 114
10 com.apple.AddressBook.core 0x00007fff53ccc99d -[ABPersistentStoreCoordinatorCache coordinatorForAllSources] + 55
11 com.apple.AddressBook.core 0x00007fff53ccc777 -[ABAddressBook(ABAddressBook_CoreData_Private) nts_managedObjectContextWithStoreDescription:databasePath:loadFailure:] + 288
12 com.apple.AddressBook.core 0x00007fff53ccc377 -[ABAddressBook(ABAddressBook_CoreData_Private) managedObjectContext] + 109
13 com.apple.AddressBook.core 0x00007fff53ccc2c0 __38+[ABAddressBook nts_SharedAddressBook]_block_invoke + 24
14 com.apple.AddressBook.core 0x00007fff53ccc257 ABRunWithLock + 32
15 com.apple.AddressBook.core 0x00007fff53cc8873 +[ABAddressBook nts_SharedAddressBook] + 137
16 com.apple.AddressBook.core 0x00007fff53cc8747 +[ABAddressBook nts_CreateSharedAddressBook] + 47
17 com.apple.AddressBook.core 0x00007fff53cc817e +[ABAddressBook sharedAddressBook] + 81
18 com.apple.contacts.ContactsPersistence 0x00007fff572427ee -[CNCDPersistenceStack makePersistenceContext] + 27
19 com.apple.contacts 0x00007fff43d048dd __71+[CNCDContactFetcher contactsForFetchRequest:inPersistenceStack:error:]_block_invoke + 73
20 com.apple.AddressBook.ContactsFoundation 0x00007fff571e407a +[CNEither eitherWithBlock:] + 63
21 com.apple.contacts 0x00007fff43d047e1 +[CNCDContactFetcher contactsForFetchRequest:inPersistenceStack:error:] + 147
22 com.apple.contacts 0x00007fff43d0462a -[CNCoreDataMapperX contactObservableForFetchRequest:] + 137
23 com.apple.contacts 0x00007fff43d03fc3 __91-[CNDataMapperContactStore enumerateContactsAndMatchInfoWithFetchRequest:error:usingBlock:]_block_invoke + 172
24 libsystem_trace.dylib 0x00007fff705f6724 os_activity_apply_f + 66
25 com.apple.contacts 0x00007fff43d03ed8 -[_CNContactsLogger fetchingContacts:] + 225
26 com.apple.contacts 0x00007fff43d03cee -[CNDataMapperContactStore enumerateContactsAndMatchInfoWithFetchRequest:error:usingBlock:] + 304
27 com.apple.contacts 0x00007fff43d16d6e -[CNContactStore enumerateContactsWithFetchRequest:error:usingBlock:] + 149
28 com.mycompany.engage 0x00000001076181f4 0x1074c6000 + 1384948
29 com.mycompany.engage 0x00000001076548ce 0x1074c6000 + 1632462
30 libdispatch.dylib 0x00007fff703925f8 _dispatch_call_block_and_release + 12
31 libdispatch.dylib 0x00007fff7039363d _dispatch_client_callout + 8
32 libdispatch.dylib 0x00007fff703998e0 _dispatch_lane_serial_drain + 602
33 libdispatch.dylib 0x00007fff7039a396 _dispatch_lane_invoke + 385
34 libdispatch.dylib 0x00007fff703a26ed _dispatch_workloop_worker_thread + 598
35 libsystem_pthread.dylib 0x00007fff705d3611 _pthread_wqthread + 421
36 libsystem_pthread.dylib 0x00007fff705d33fd start_wqthread + 13
Thread 6:
...
In the stack trace, two lines that are related to my app
28 com.mycompany.engage 0x00000001076181f4 0x1074c6000 + 1384948
29 com.mycompany.engage 0x00000001076548ce 0x1074c6000 + 1632462
It just call the enumerateContacts(with: fetchRequest) on the instance of CNContactStore, and the fetchRequest is created using CNContactFetchRequest(keysToFetch: keysToFetch). Pretty straightforward.
The stack trace goes into he Contacts framework, and then goes into the AddressBook framework, and eventually crashed. What could be the possible cause of the crash?
Post not yet marked as solved
I am writing an iOS app using Swift and Xcode 13.1. I am using the Contacts Framework, and I read that each app has a default contacts container, and the default container in an app can be different than the default container in another app, and there is not a default container for the entire device.
What determines which is the default container for the app made by an Xcode project? I didn't set the default container for my app and somehow the contacts container for a Google account became the default contacts container for my app. How do I use code to set the default contacts container for my app?
How do I find out which is the default container of Apple's Contacts app that comes with iOS? I would like to set my app's default contacts container to the same default container of Apple's Contacts app, if that is the contacts container that is saved on iCloud. If not, I would like to set my app's default contacts container to the contacts container that is saved in iCloud. I assume that only one contacts container is saved on iCloud.
Post not yet marked as solved
I noticed that when my app changes the contact store, the CNContactStoreDidChange notification fires in my app. How do I check if the notification fired because my app changed it. Is there a way to know which app made the change to the contact store. I need to know so I can write code to run only if the contact store was changed by another app instead of my app.
Post not yet marked as solved
On Apple's documentation of the Contacts Framework for iOS and Swift on their developer website, there is a section called Change History Data.
It consists of a list of classes and one protocol. The protocol seems to be the most important item of the list - the CNChangeHistoryEventVisitor protocol. The protocol apparently has instance methods each of which use one of those classes listed.
Where do I find documentation to use this protocol and these classes?
Anyone ever use these before?
Here's the list:
class CNChangeHistoryAddContactEvent
class CNChangeHistoryAddGroupEvent
class CNChangeHistoryAddMemberToGroupEvent
class CNChangeHistoryAddSubgroupToGroupEvent
class CNChangeHistoryDeleteContactEvent
class CNChangeHistoryDeleteGroupEvent
class CNChangeHistoryDropEverythingEvent
class CNChangeHistoryEvent
class CNChangeHistoryFetchRequest
class CNChangeHistoryRemoveMemberFromGroupEvent
class CNChangeHistoryRemoveSubgroupFromGroupEvent
class CNChangeHistoryUpdateContactEvent
class CNChangeHistoryUpdateGroupEvent
protocol CNChangeHistoryEventVisitor
Post not yet marked as solved
I'm trying to break through focus mode in my app that receives VOIP notifications. I've added a particular contact to the "allowlist" for a particular focus mode. When I receive a call from my app, I create an INStartCallIntent.
To create the INPerson, I use an INPersonHandle with the value being the identifier that I fetch from the contact. There are also 2 other identifier fields in INPerson that are both nullable (contactIdentifier and customIdentifier). I've also tried populating those with the fetched contact's identifier.
Here's my general prototyped code (yes I know this is all hard coded, but it's just a prototype for now).
INPersonHandle *handle = [[INPersonHandle alloc] initWithValue:identifier type:INPersonHandleTypeUnknown];
INPerson *caller = [[INPerson alloc] initWithPersonHandle:handle
nameComponents:nameComponents
displayName:name
image:nil
contactIdentifier:identifier
customIdentifier:nil
isContactSuggestion:NO
suggestionType:INPersonSuggestionTypeSocialProfile];
NSDate *_Nonnull dateCreated = [NSDate date];
INCallRecord *const callRecord = [[INCallRecord alloc] initWithIdentifier:callId
dateCreated:dateCreated
callRecordType:INCallRecordTypeRinging
callCapability:callCapability
callDuration:nil
unseen:nil
participants:@[caller]
numberOfCalls:@(1)
isCallerIdBlocked:nil];
INStartCallIntent *const intent = [[INStartCallIntent alloc] initWithCallRecordFilter:nil
callRecordToCallBack:callRecord
audioRoute:INCallAudioRouteSpeakerphoneAudioRoute
destinationType:INCallDestinationTypeNormal
contacts:@[caller]
callCapability:callCapability];
// Donate the interaction to Siri
INInteraction *const interaction = [[INInteraction alloc] initWithIntent:intent response:nil];
interaction.direction = INInteractionDirectionIncoming;
[interaction donateInteractionWithCompletion:nil];
Nothing I've tried yet has been able to break through focus mode and I think it's because the identifiers aren't matching up. Apple seems to have a clear way to match contacts for email address and phone number identifiers, but it's unclear how they match based on an unknown type for the INPersonHandleType.
Post not yet marked as solved
Xcode 13.2
Using CNContact seeing the error in the log:
...
[framework] Resetting database at nil path is not allowed
....
What does this mean? What causes this to happen?
How do I avoid this?
Any help appreciated!
Steve