Search code examples
iosswiftxcodesiricncontact

SiriKit and CNContactStore


Can you really access the contact database in a Siri extension?

I'm trying to make an INSendPaymentIntent extension, in which a user can specify a person he's trying to send money to. This works on a simulator (Xcode 8.3.2, iOS 10.3) just fine, but when I'm running the same code on a device Siri immediately stops working and tells "Sorry, You’ll Need To Continue In The App". The only console output that I get is "Program ended with exit code: 0". From what I can tell, Siri stops working after I try to instantiate a CNContactStore().

Has anyone successfully obtained access to the contact store on a real device in a Siri extension?


Solution

  • Turns out the problem was not with CNContactStore. The error "Program ended with exit code: 0" happens if your extension takes too much memory, in which case the system just terminates it. So seems like CNContactStore was the last straw that broke the camel's back :)