ios - 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 {
}
当我添加上面的扩展名时,我遇到了错误。
解决方案
我找到了解决方案。
我知道,这个答案不是一个好的选择。但这对我有用。
首先创建一个新的 .h 文件来复制“Swift Header File”。就我而言,我创建了“ProjectName-SwiftFixed.h”。
然后,我使用#import "ProjectName-SwiftFixed.h"代替我的代码中的#import "ProjectName-SwiftFixed.h"。
推荐阅读
- php - 图像不会保存到项目文件夹
- reactjs - 无法下载 npm 模块
- android - React Native Android 深度链接 url 未通过
- angular - PWA Angular 应用程序名称在部署后停留在旧名称上 - 如何强制更新?
- ruby-on-rails - Rails 是否从发布请求的参数键中删除问号?
- wordpress - 如何阻止 x-robots-tag 在我的整个网站上设置 noindex?
- python - 试图将 pd.date_range 合并到我的 python 分析中
- vb.net - vb.net / C# 外部处理程序
- android - 如何在 Android 上管理 startActivityForResult?
- php - What encoding is the resulting string if I concatenate a UTF-8 encoded string with an ASCII string in PHP?