【问题标题】:Getting date a contact was added to the address book in Swift 2, iOS 9在 Swift 2、iOS 9 中获取联系人添加到地址簿的日期
【发布时间】:2015-09-25 16:27:04
【问题描述】:

在以前的 Swift 版本中,我能够使用来自 AddressBook 框架的 kABPersonCreationDateProperty 获取在手机中创建联系人的日期。

现在 Apple 已迁移到 Contacts 框架,我看不到在他们的 Documentation 中检索联系人创建日期的方法

如何检索在 Swift 2 中创建联系人的日期?示例代码将不胜感激:)

【问题讨论】:

  • 尝试使用 kABPersonCreationDateProperty 会给我一个警告:kABPersonCreationDateProperty was deprecated in iOS 9.0 如果我尝试运行代码,我最终会出现运行时错误
  • 您找到解决方案了吗?
  • @harsh 很遗憾没有

标签: swift2 ios9 abaddressbook


【解决方案1】:

我知道这是旧的,但以防万一有人需要它,我使用了老式的方式。没有明显的方法来记录联系人的创建日期,但这种技术最初绕过了框架,以便使用NSDate 检索当前语言环境时间,然后将其转换为字符串,最后分配给CNContactDatesKey --这是唯一可用的 CNContactsLabel 绝对允许非生日/周年日期分配。

        let exampleContact = CNContact()

        let currentDate = NSDate()
        let dateFormatter = NSDateFormatter()
        dateFormatter.dateStyle = NSDateFormatterStyle.FullStyle
        let finalConvertedDate = dateFormatter.stringFromDate(currentDate)
        exampleContact.setValue(finalConvertedDate, forKey: CNContactDatesKey)

...然后,当您需要请求时,您将从以下过程开始:

        let request = CNContactFetchRequest(keysToFetch: [CNContactIdentifierKey, CNContactDatesKey])

欢迎提出任何意见。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 2017-02-28
    • 1970-01-01
    • 2016-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多