gpt4 book ai didi

ios - 创建与 PPT 通信所需的 CFMessagePort 时出错

转载 作者:行者123 更新时间:2023-12-03 11:15:31 27 4
gpt4 key购买 nike

我尝试提出 CNContactPickerViewController在 SwiftUI 应用程序中使用 UIViewControllerRepresentable协议(protocol)。正如我已经阅读的那样,这似乎是一个已知问题,但我使用描述的解决方法 here 让它工作得很好。 .
然而,每当 CNContactPickerViewController分别被提出或驳回,我在输出日志中收到以下错误:

[PPT] Error creating the CFMessagePort needed to communicate with PPT.


我试图找到对此的解释,但互联网上似乎没有任何答案。有人知道这个错误是从哪里来的吗? PPT是?此错误是否与 CNContactPickerViewController 有关? SwiftUI 不能正常工作?
我在 iOS 14 测试版和 Xcode 12 测试版中第一次注意到该错误,并且它仍然存在于带有 Xcode 12.2 的 iOS 14.2 中。
我不知道错误是否也出现在 iOS 13 上。
我已经发布了关于此的反馈报告。

最佳答案

我使用主机写了一个解决方法 UINavigationController这是我的代码:

import SwiftUI
import ContactsUI

struct ContactPickerView: UIViewControllerRepresentable {

@Environment(\.presentationMode) var presentationMode

func makeUIViewController(context: Context) -> UINavigationController {
let navController = UINavigationController()
let controller = CNContactPickerViewController()
controller.delegate = context.coordinator
navController.present(controller, animated: false, completion: nil)
return navController
}

func updateUIViewController(_ uiViewController: UINavigationController, context: Context) {
print("Updating the contacts controller!")
}

// MARK: ViewController Representable delegate methods
func makeCoordinator() -> ContactsCoordinator {
return ContactsCoordinator(self)
}

class ContactsCoordinator : NSObject, UINavigationControllerDelegate, CNContactPickerDelegate {
let parent: ContactPickerView
public init(_ parent: ContactPickerView) {
self.parent = parent
}

func contactPickerDidCancel(_ picker: CNContactPickerViewController) {
print("Contact picked cancelled!")
parent.presentationMode.wrappedValue.dismiss()
}

func contactPicker(_ picker: CNContactPickerViewController, didSelect contact: CNContact) {
print("Selected a contact")
parent.presentationMode.wrappedValue.dismiss()
}
}
}
我像这样使用它:
Button("Select a contact") {
openSelectContact.toggle()
}
.sheet(isPresented: $openSelectContact, onDismiss: nil) {
ContactPickerView()
}

关于ios - 创建与 PPT 通信所需的 CFMessagePort 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63441752/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com