Заголовочный файл swift не может найти объявление протокола для 'CNContactPickerDelegate'

Я пытаюсь добавить достаточно кода и информации, которая связана с этой проблемой.

Я хочу использовать собственный список контактов для получения телефонных номеров. Поэтому я предпочитаю использовать фреймворк "Контакты", который поддерживается iOS9 и выше.

Когда я добавил эти методы делегатов в мой код. Я получаю сообщение об ошибке из файла заголовка Swift (файл ProjectName-Swift.h). Я гуглил, но я не нашел никаких решений. Я уверен, что фреймворк "Контакты" вызвал проблему "петли импорта". У кого-нибудь есть предложения?

// 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 {

}

Когда я добавил расширение выше, я получаю ошибку ниже.

1 ответ

Я нашел решение.

я знаю, этот ответ не очень хороший вариант. Но это работа для меня.

Сначала создайте новый файл.h, чтобы скопировать "Файл заголовка Swift". В моем случае я создал "ProjectName-SwiftFixed.h".

Затем вместо #import "ProjectName-Swift.h" в моем коде я использую #import "ProjectName-SwiftFixed.h.

Другие вопросы по тегам