КВО: Не удалось расколоть путь к ключу на iOS 10.3.4 iPhone 5 - PullRequest
0 голосов
/ 03 апреля 2020

Итак, я работал над частным фреймворком, в котором используется камера (поэтому этот фреймворк протестирован с устройством), и решил использовать некоторое KVO. я установил минимальную версию iOS в моем проекте равную 9.

, когда я пытался интегрировать его с большим проектом, он отлично работает с устройством iPhone 8 или выше и iOS 12 или выше ,

Но когда проект выпущен для публикации c, у меня возникают сбои:

Fatal error: could not demangle keypath type from '10QRIScannerAAC': file /BuildRoot/Library/Caches/com.apple.xbs/Sources/swiftlang/swiftlang-1001.0.82.4/swift/stdlib/public/core/KeyPath.swift, line 2611

это след от аварийных сбоев, и у меня нет указанного устройства c для расследования сам по себе

трассировка стека скрыта, потому что проект запутан

отчет cra sh показывает, что он происходит только на iphone 5 с ios 10.3.4 установленным

код, который использовал KVO:

class ScannerVideoCapture: NSObject {   
   @objc dynamic var metaDataStringValues: [String] = []

   //Some logic that modify metaDataStringValues.....
}

public final class Scanner: NSObject {

    @objc dynamic private var scannerVideoCapture: ScannerVideoCapture

    private var scannerValueObserver: NSKeyValueObservation?

    // Initialization, setups, etc.......

    //MARK: Private Functions
    private func registerLocalNotification() {  
        scannerValueObserver = observe(\.scannerVideoCapture.metaDataStringValues,
          options: [.new], changeHandler: {[weak self] object, change in
            guard let dataValues = change.newValue else {
                return
            }
            self?.delegate?.didReceiveDataFromCapture(urlStrings: dataValues)
        })
    }
}

Итак, iOS неисправен? или это iPhone 5 в спецификации c? или моя реализация просто неверна?

...