Заголовочный файл swift не может найти объявление протокола для 'CNContactPickerDelegate' - PullRequest
0 голосов
/ 25 апреля 2018

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

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

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

// 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 голосов
/ 25 апреля 2018

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...