Tag: abaddressbook

Swift – 检查非托pipe地址簿单值属性为零

我是相对新的iOS开发和迅速。 但是到目前为止,我总是能够通过一些关于计算器和一些文档和教程的研究来帮助自己。 但是,还有一个问题,我找不到任何解决scheme。 我想从用户地址簿中获取一些数据(例如,单个值属性kABPersonFirstNameProperty )。 由于.takeRetainedValue()函数会引发错误,如果此联系人没有在.takeRetainedValue()的firstName值,我需要确保ABRecordCopyValue()函数确实返回一个值。 我试图在closures中检查这个: let contactFirstName: String = { if (ABRecordCopyValue(self.contactReference, kABPersonFirstNameProperty) != nil) { return ABRecordCopyValue(self.contactReference, kABPersonFirstNameProperty).takeRetainedValue() as String } else { return "" } }() contactReference是ABRecordRef!types的variablesABRecordRef! 当地址簿联系人提供firstName值时,一切工作正常。 但是,如果没有名字,则应用程序会通过.takeRetainedValue()函数崩溃。 看来,if语句没有帮助,因为ABRecordCopyValue()函数的非托pipe返回值不是nil,尽pipe没有firstName。 我希望我能够清楚地说明我的问题。 如果有人能帮助我解决一些脑波,那将是非常棒的。

iOS 6的地址簿不起作用?

我从地址簿中以编程方式检索电子邮件地址的方法似乎不再适用于iOS 6设备。 它在iOS 5中工作,奇怪,仍然在iOS 6模拟器中工作。 有没有一种新的方式来从用户的地址簿中编程检索联系人? ABAddressBookRef addressBook = ABAddressBookCreate(); CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook); CFIndex nPeople = ABAddressBookGetPersonCount(addressBook); self.contacts = [[NSMutableArray alloc] init]; int contactIndex = 0; for (int i = 0; i < nPeople; i++) { // Get the next address book record. ABRecordRef record = CFArrayGetValueAtIndex(allPeople, i); // Get array of email addresses […]

Square的CardCase应用程序如何从地址簿中自动填充用户的详细信息?

Square的新款卡片箱iOS应用程序具有“创build帐户”function。 点击它,它会显示用户从地址簿中input的预设表单。 这怎么可能? 有人知道吗? 我认为这是不可能的,以这种方式获取用户的信息。 这不是一个iOS 5.0的东西,afaict。

获取iOS上所有联系人的列表

我想获得一个iPhone的所有联系人列表。 我检查了Address Book参考,我可能错过了一些东西,但我没有看到它提供了一个方法来获取联系人列表。