所以我们有一个应用程序,它的最小目标是iOS11。我们已经介绍了铅笔工具包(仅限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
}
}帮助?
发布于 2019-08-22 19:59:39
您设置了哪个版本的部署目标?可以尝试将#if canImport(PencilKit)更改为*if #available(iOS 13.0,)
https://stackoverflow.com/questions/57606722
复制相似问题