Tag: 通讯录

地址簿iOS:从string联系人姓名

我试图自动添加联系人到我的应用程序的iOS通讯簿,其中联系人的名称是从NSString。 我试图找出(见代码下),但它没有工作。 它工作添加我提供的第一个代码(我有保存代码和东西)的联系人,但我想添加联系人string,可能会有所不同,不只是一个名字,不能。 ABRecordRef newPerson = ABPersonCreate(); ABRecordSetValue(newPerson, kABPersonFirstNameProperty,@"Davis11", &error); ABRecordSetValue(newPerson, kABPersonLastNameProperty, @"Scott", &error); 我也试过这个代码,没有运气: ABRecordRef newPerson = ABPersonCreate(); ABRecordSetValue(newPerson, kABPersonFirstNameProperty,fName, &error); ABRecordSetValue(newPerson, kABPersonLastNameProperty, lName, &error);

string中的奇怪的不可见的字符导致NSURL失败

我有一个string到数字的问题,需要我几天的时间来解决。 所以这一切都开始在我的应用程序,涉及从地址簿中拨打电话号码和拨打电话。 一切工作正常,直到我注意到一些电话号码导致我的程序崩溃。 过了一段时间,我终于意识到,他们正在崩溃的电话号码有一个空间,这终于明白了,因为即使它是一个电话号码,我使用NSURL来调用“tel://(555)5555555 “之间有一个空格将使网站无效,这是导致我的程序崩溃。 现在我很高兴我想出了第二个问题,并决定做一个简单的字符replace,用“ – ”replace所有的空格。 这工作testingstring我testing它,一切看起来不错。 我决定把这个备份到我的代码,然后我的程序仍然崩溃。 然后,我做了一些debugging,发现即使我的testing用例工作,我从iOS地址簿拉的电话号码没有被replace的空白。 似乎无论用什么字符来隔开电话号码都不是一个空格,或者至less不是一个空格,我可以简单地键入这样的 – >“” 任何想法如何解决这个问题? 要么(1)知道这个看不见的字符是什么,取而代之或(2)有没有办法只提取一个电话号码作为所有的数字,而不是额外的字符“+(。) – ”或在这里的任何选项?

如何以编程方式从地址簿ios编辑电话号码值

我试图在iOS中以编程方式replace特定联系人的特定电话号码,并将联系人形成地址簿。 我不知道为什么我不能保存新的电话号码,并刷新通讯录以显示更改。 我正在这样做: +(BOOL) changeContactPhoneNumber:(NSString *) phoneSought forThis:(NSString *) newPhoneNumber{ ABAddressBookRef addressBook = ABAddressBookCreate(); ABRecordRef contactSelected; CFStringRef mobileLabelNumber; CFErrorRef error = nil; // Do whatever you want here. CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook); CFIndex nPeople = ABAddressBookGetPersonCount(addressBook); for (int i = 0; i < nPeople; i++) { ABRecordRef ref = CFArrayGetValueAtIndex(allPeople, i); ABMultiValueRef phones = (ABMultiValueRef)ABRecordCopyValue(ref, […]

“尝试将第0行插入到第0部分,但更新后第0部分中只有0行”错误

我有一个应用程序,从他们的联系人列表中select一个人,并采取他们的名字,姓氏和电子邮件。 然后把名字保存到一个nsmutablearray中,并把它放到一个可用的视图单元格中。 一旦在模拟器中select了联系人,就会发生我的问题。 码: 。H: #import <UIKit/UIKit.h> #import <AddressBookUI/AddressBookUI.h> @interface FirstViewController : UIViewController < ABPeoplePickerNavigationControllerDelegate, UITableViewDelegate, UITableViewDataSource> – (IBAction)showPicker:(id)sender; @property (weak, nonatomic) IBOutlet NSString *firstName; @property (weak, nonatomic) IBOutlet NSString *email; @property (weak, nonatomic) IBOutlet NSString *lastName; @property (weak, nonatomic) IBOutlet UITableView *myTableView; @property (strong, nonatomic) NSMutableArray *contacts; @end .M: #import "FirstViewController.h" @interface FirstViewController () […]

ABGroupCreate不能与Exchange一起使用

我有一个问题,当我在模拟器上运行这段代码的时候,我得到了组的id,但是当我在设备上运行它时,id被设置为-1 …但是错误消息保持为空。 -(NSNumber *)addGroupeToAddressbookWithName:(NSString *)name{ ABAddressBookRef addressBook = ABAddressBookCreate(); CFErrorRef error = NULL; ABRecordRef group = ABGroupCreate(); ABRecordSetValue(group, kABGroupNameProperty,(__bridge CFStringRef)name, &error); ABAddressBookAddRecord(addressBook, group, &error); ABAddressBookSave(addressBook,&error); NSNumber *gId = [NSNumber numberWithInt:ABRecordGetRecordID(group)]; CFRelease(group); return gId; } 我不知道有什么区别,以及如何使它在一个真正的设备上工作。 编辑 :发现它的工作原理,如果我删除手机上的交换同步,但仍然希望它能够在手机上有一个交stream帐户的工作。 所以没有真正解决这个问题 编辑/答复 发现这是因为交换不知道关于组的信息,为了保存一个组,需要使用正确的源代码,也请参阅: 在iOS 4+中从ABAddressBook获取特定的ABSource 新代码: -(NSNumber *)addGroupeToAddressbookWithName:(NSString *)name{ ABAddressBookRef addressBook = ABAddressBookCreate(); CFErrorRef error = NULL; CFArrayRef […]

如何识别iPhone SDK中的地址簿中的谷歌联系人

我获取iPhone devices上的所有address book contacts 。 我得到所有的联系人loggingID,但我无法findgoogle id Google contacts与谷歌同步任何google id 。 我需要联系人的谷歌ID,任何方式来find我的地址簿联系人的谷歌联系人的ID? 谢谢你的帮助。

可以访问iPhone“collections”号码吗?

我想访问iPhone“collections夹”号码(可以在“电话”应用程序中find的号码)。 我从地址簿中search了每个联系人的特定属性,甚至查看了地址簿数据库,但我无法确定数据库中的哪个属性或字段指示哪些是最喜欢的数字。 由于“电话”是由苹果公司在iPhone上安装的应用程序,我期待在数据库中find这样的属性。 不过,我认为这个应用程序可能独立于地址簿数据库存储最喜欢的号码。 有没有人遇到过这个问题,如果是的话,能否请你澄清这件事情?

如何创buildvCard / vcf文件以在共享表中使用?

我是新来的迅速和我发现的方法已被弃用关于我的问题。 我正在构build一个目录应用程序,我从API中获取联系人数据,而不是从手机的地址簿中获取联系人数据。 在iOS中,如果您访问您的通讯录,则可以select一个联系人,然后select“共享联系人”,以打开分享表。 我想在我的应用程序中确切的function。 我想我已经得到了股票表,这是我的代码: @IBAction func actShare(sender: AnyObject) { let activityViewController = UIActivityViewController(activityItems: ["text" as NSString], applicationActivities: nil) presentViewController(activityViewController, animated: true, completion: {}) } 我想把"text" as NSString改成vCard,就像iOS从地址簿中分享的对象一样,对吗? 假设我是正确的,我想从我自己的应用程序的联系人对象创build一个电子名片,以分享到适当的应用程序(电子邮件,短信等)。 我怎样才能在Swift中实现? 如果我错了,请纠正我,告诉我我需要做什么。 谢谢。 编辑:好的,这是我的变化。 @IBAction func actShare(sender: AnyObject) { do { var contactData = NSData() try contactData = CNContactVCardSerialization.dataWithContacts([createContact()]) let activityViewController = UIActivityViewController(activityItems: [contactData as NSData], […]