2

所以我们有一个应用程序,它的最低目标是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
    }
}

帮助?

4

1 回答 1

0

您设置了哪个版本的部署目标?也许尝试将#if canImport(PencilKit)更改为 *if #available(iOS 13.0, )

于 2019-08-22T11:59:39.357 回答