触摸检测不适用于iOS 9的模拟器

时间:2015-09-22 01:40:10

标签: sprite-kit ios-simulator swift2 ios9 touchesbegan

我已将Xcode更新为Xcode 7.然后将我的Swift项目更新为Swift 2.最后我删除了所有警告。

第一个场景显示少量SKLabel,少量SKSpriteNode

使用iOS模拟器,触摸检测在iOS 9下无法正常工作,但在iOS 8上运行正常。touchesBegan方法的断点显示此方法未被调用。

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {

  // Breakpoint is set here
}

修改

删除这些消息并没有解决任何问题。

控制台显示警告4次,仅在iOS 9上显示:

Error loading /System/Library/Extensions/IOHIDFamily.kext/Contents/PlugIns/IOHIDLib.plugin/Contents/MacOS/IOHIDLib:  dlopen(/System/Library/Extensions/IOHIDFamily.kext/Contents/PlugIns/IOHIDLib.plugin/Contents/MacOS/IOHIDLib, 262): no suitable image found.  Did find:
    /System/Library/Extensions/IOHIDFamily.kext/Contents/PlugIns/IOHIDLib.plugin/Contents/MacOS/IOHIDLib: mach-o, but not built for iOS simulator

Cannot find function pointer IOHIDLibFactory for factory 13AA9C44-6F1B-11D4-907C-0005028F18D5 in CFBundle/CFPlugIn 0x7ba430f0 </System/Library/Extensions/IOHIDFamily.kext/Contents/PlugIns/IOHIDLib.plugin> (bundle, not loaded)

2 个答案:

答案 0 :(得分:2)

好的,问题解决了!

在StoryBoard上,初始视图控制器的主userInteractionEnabled上的View属性设置为&#34; NO&#34;。将其更改为&#34;是&#34;解决问题。

这很奇怪,因为iOS 8上一切正常。

答案 1 :(得分:0)

我在运行iOS 9.0的模拟器上遇到了完全相同的问题,问题结果是语言设置。我发布了我的发现,所以它可以帮助任何人遇到同样的问题。

如果区域设置为印度和语言为&#34;英语 - 印度&#34;模拟器将停止检测触摸。要解决此问题,我重置了模拟器并仅将区域更改为印度,因为我的应用功能取决于区域。保留语言为&#34;英语 - 美国&#34;问题没有出现。

我不确定其他语言或地区/语言组合会导致此问题。希望这有助于某人。