因此我们有一个应用程序,它的最低目标是iOS11。我们推出了Pencil套件(仅限iOS13)。因此需要同时支持iOS11和13。只要我们在函数中使用存储的属性,该应用程序便会编译并运行。
但是,当我们在函数(即PKToolPicker)中使用新变量时,会出现以下错误Undefined symbol: _OBJC_CLASS_$_PKToolPicker
。
import UIKit
#if canImport(PencilKit)
import PencilKit
#endif
@available(iOS 13.0, *)
class ViewController: UIViewController, PKToolPickerObserver {
#if canImport(PencilKit)
private var drawing: PKDrawing!
private var canvasView: PKCanvasView!
#endif
override func viewDidLoad() {
super.viewDidLoad()
#if canImport(PencilKit)
if let window = parent?.view.window, let toolPicker = PKToolPicker.shared(for: window) {
canvasView.becomeFirstResponder()
}
#endif
}
}
帮助?
答案 0 :(得分:0)
您设置了什么版本的Deployment Target? 也许尝试将 #if canImport(PencilKit)更改为* if #available(iOS 13.0,)