swift头文件无法找到'CNContactPickerDelegate'的协议声明

时间:2018-04-25 15:45:10

标签: ios swift ios-contacts

我正在尝试添加与此问题相关的足够代码和信息。

我想使用原生联系人列表来获取电话号码。因此,我更喜欢使用iOS9及更高版本支持的“Contacts”框架。

当我将这些委托方法添加到我的代码中时。我从Swift头文件(ProjectName-Swift.h文件)收到错误。我在谷歌搜索,但我没有找到任何解决方案。我很确定,“Contacts”框架导致了“import loop”问题。有人有任何建议吗?

// Calling CNContactPickerViewController method

func clickedAdressBook() {
    let contactPicker = CNContactPickerViewController()
    contactPicker.delegate = self
    self.present(contactPicker, animated: true, completion: nil)
}

// to handle ContactsDelegate delegate metods

extension MoneyTransferToGsmVC : ContactsDelegate {
}
  

为了解决这个问题,我创建了从CNContactPickerDelegate扩展的新协议。但它没有用

    import UIKit
import Foundation
import Contacts
import ContactsUI

protocol ContactsDelegate : CNContactPickerDelegate {

}

当我在上面的扩展名中添加时,我的误差低于此值。

enter image description here

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。

我知道,这个答案是个不错的选择。但这对我有用。

首先创建一个新的.h文件来复制" Swift Header File"。在我的情况下,我创建了" ProjectName-SwiftFixed.h"。

然后,而不是#import" ProjectName-Swift.h"在我的代码中,我使用#import" ProjectName-SwiftFixed.h。