TouchPhase.Ended not firing?

I’m trying to push an object in the direction of the user’s swipe in my Android game. This is the code I’m using. It doesn’t seem as though TouchPhase.Ended is ever called, though. Does anyone know what’s up?

function Update () {
	for (var touch : Touch in Input.touches) {
							
		if (touch.phase == TouchPhase.Began) {
			startPos = touch.position;
		if (touch.phase == TouchPhase.Ended) {
			endPos = touch.position;
			rigidbody.AddForce(Vector3(endPos.x-startPos.x,endPos.y-startPos.y,0) * 500 );
			myGUI.text = (endPos.x-startPos.x).ToString() + "  " + (endPos.y-startPos.y).ToString();
			}
		}
	}
}

That problem occurs on iOS when the framerate is such that not all of the events are captured. I’m not sure on Droid but I’d bet it’s something similar. I ended up writing my own handler class that notices that a finger is no longer down and returns “Ended” for that frame itself.

I’m having the same issue with swipe in my Android game, but with FixedUpdate(). With Update() it’s seem ok

I’m having the same issue do you have any examples?