【发布时间】:2015-08-11 11:17:03
【问题描述】:
我有一个奇怪的问题,我正在尝试从 IOS 通讯录 API 获取所有联系人,同时我正在尝试获取属性的所有值(我正在获取的每个联系人的名字、姓氏、电子邮件和电话号码“致命错误:在展开可选值时意外发现 nil”),就在我在我的设备上运行命令时,但是当我在 xcode 模拟器上运行命令时一切正常?
这是我的示例代码:
func getContactNames() {
let people = ABAddressBookCopyArrayOfAllPeople(addressBook).takeRetainedValue() as NSArray
for person in people {
let firstName = ABRecordCopyValue(person,
kABPersonFirstNameProperty).takeRetainedValue() as! String
let lastName = ABRecordCopyValue(person,
kABPersonLastNameProperty).takeRetainedValue() as! String
let email: ABMultiValueRef = ABRecordCopyValue(person,kABPersonEmailProperty).takeRetainedValue()
println("First name = \(firstName)")
println("Last name = \(lastName)")
println("Email = \(email)")
}
}
【问题讨论】:
-
你用
swift2标记了这个,但我在你的代码块中看到println而不是Swift2 的print。您使用的是哪个版本的 Xcode?另外,崩溃发生在哪一行? -
要求用户访问他们的通讯录在这里得到很好的回答stackoverflow.com/questions/24752627/…
标签: swift2