Quantcast
Channel: Questions in topic: "ios"
Viewing all articles
Browse latest Browse all 4709

iOS plugin and contact view

$
0
0
Hi, my goal is to add a contact to iOS devices from unity currently I'm using this as my plugin: #import "PluginFunctions.h" #import "ContactsUI/ContactsUI.h" #import "Contacts/Contacts.h" @implementation iOSPlugin - (id)init { self = [super init]; return self; } extern "C"{ void addContact(const char* cName,const char* cCity,const char* cStreet,const char* cPostalCode,const char* cCountry,const char* cPhoneNumber,const char* cEmail,const char* cOrganization,const char* cTitle) { NSString *name = [NSString stringWithUTF8String:cName]; NSString *city = [NSString stringWithUTF8String:cCity]; NSString *street = [NSString stringWithUTF8String:cStreet]; NSString *postalCode = [NSString stringWithUTF8String:cPostalCode]; NSString *country = [NSString stringWithUTF8String:cCountry]; NSString *phoneNumber = [NSString stringWithUTF8String:cPhoneNumber]; NSString *email = [NSString stringWithUTF8String:cEmail]; NSString *organization = [NSString stringWithUTF8String:cOrganization]; NSString *title = [NSString stringWithUTF8String:cTitle]; NSLog(@"%@", name); NSLog(@"%@", city); NSLog(@"%@", street); NSLog(@"%@", postalCode); NSLog(@"%@", country); NSLog(@"%@", phoneNumber); NSLog(@"%@", email); NSLog(@"%@", organization); NSLog(@"%@", title); CNContactStore *store = [[CNContactStore alloc] init]; // create contact CNMutableContact *mutContact = [[CNMutableContact alloc] init]; mutContact.givenName = name; CNMutablePostalAddress *address = [[CNMutablePostalAddress alloc] init]; address.city = city; address.street = street; address.city = city; address.postalCode = postalCode; address.country = country; CNLabeledValue *labeledValue = [CNLabeledValue labeledValueWithLabel:CNLabelHome value:address]; mutContact.postalAddresses = @[labeledValue]; CNLabeledValue *phone = [CNLabeledValue labeledValueWithLabel:CNLabelHome value:[CNPhoneNumber phoneNumberWithStringValue:phoneNumber]]; mutContact.phoneNumbers = @[phone]; CNLabeledValue *mail = [CNLabeledValue labeledValueWithLabel:CNLabelHome value:[NSString stringWithString:email]]; mutContact.emailAddresses = @[mail]; mutContact.organizationName = organization; mutContact.jobTitle = title; CNSaveRequest *saveRequest = [[CNSaveRequest alloc] init]; [saveRequest addContact:mutContact toContainerWithIdentifier:[store defaultContainerIdentifier]]; [store executeSaveRequest:saveRequest error:nil]; } } @end i can add a contact this way but its just in the background and i want to open the contact view and let the user confirm the shown contact or cancel the action from what I've read i have to work with CNContactViewController *controller = [CNContactViewController viewControllerForUnknownContact:mutContact]; but i don't know how to actually do this (probably cause by my lack of knowledge on iOS topics and therefore not being able to phrase a good google search) so i can't use "self" as the controllers delegate because we are in an extern C area i can get the Unity view controller with `extern UIViewController *UnityGetGLViewController();` but so far i wasn't able to use it because of different types Any help appreciated!

Viewing all articles
Browse latest Browse all 4709

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>