Simultaneous touches of different UITouch.TouchTypes display unusual event behavior

I am working on a drawing app, and I've noticed during my Apple Pencil testing, that

touchesEnded
gets prematurely called when the current pencil-triggered touch event gets interrupted by a second touch. This does not happen when, say, I am drawing using a finger, and I introduce a second simultaneous touch. I also notice that the touchCount does not increase when I have a pencil touch and a finger touch simultaneously. Similarly (perhaps by design) gestures don't work with mixed touch types. Below I show how I'm accounting for active touches during
touchesMoved


override func viewDidLoad() {
        ...
        self.view.isMultipleTouchEnabled = true
        ...
    }


    func touchesMoved(touches: Set<UITouch>, event: UIEvent?) {
        
        if let touch = touches.first {
            
          let event = event
          
          
          let touchCount = touches.count
          print ("[ComponentPagePaint]: TOUCH COUNT = \(touchCount)")
          
          let numFingersOnScreen: Int = ((event?.allTouches!.count)!)
          print ("[ComponentPagePaint]: FINGr COUNT = \(numFingersOnScreen)")
       }
    }

It appears that mixing touch types results in the UIView ending the first touch and switching to the second. This does not happen when I have multiple simultaneous TouchType.direct touches. Note that this behavior also seems to be present in Apple's drawing demo project.


Is there any way to change this behavior? Ideally, I'd like my pencil-triggered touch cycle to NOT be interrupted by a second touch.


If the latter is not possible, is there a way for me to properly account for ALL active touches so that I can cancel the current stroke, or do something else?