 <p>So basically I pass code from my game and you will see what are the differences:</p> <pre><code> override func touchesBegan(touches: Set&lt;UITouch&gt;, withEvent event: UIEvent?){ if let touch = touches.first { // detecting touch location let touchLocation = touch.locationInNode(self) //your code going here } </code></pre> <p>this method works just fine. Try to use it instead of yours. (I used Swift 2.0)</p>