触摸检测在 iOS 9 的模拟器上不起作用
Touch detection doesn't work on simulator for iOS 9
我已经将 Xcode 更新为 Xcode 7. 然后我的 Swift 项目更新为 Swift 2. 最后我删除了所有警告。
第一个场景显示很少SKLabel
和很少SKSpriteNode
。
使用iOS模拟器,触摸检测在iOS9下不工作,但在iOS8上可以。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)
好的,问题解决了!
在 StoryBoard 上,初始视图控制器的主要 View
userInteractionEnabled
属性 设置为 "NO"。改成"YES"解决问题
这很奇怪,因为在 iOS 8.
上一切正常
我在模拟器 运行 iOS 9.0 上遇到了完全相同的问题,结果证明是语言设置问题。我正在发布我的发现,因此它可以帮助任何人 运行 遇到同样的问题。
如果区域设置为印度且语言设置为 "English - India",模拟器将停止检测触摸。为了解决这个问题,我重置了模拟器并且只将地区更改为印度,因为我的应用程序功能取决于地区。将语言保留为 "English - USA" 问题未见。
我不确定其他哪些语言或 region/language 组合会导致此问题。希望这对某人有所帮助。
我已经将 Xcode 更新为 Xcode 7. 然后我的 Swift 项目更新为 Swift 2. 最后我删除了所有警告。
第一个场景显示很少SKLabel
和很少SKSpriteNode
。
使用iOS模拟器,触摸检测在iOS9下不工作,但在iOS8上可以。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)
好的,问题解决了!
在 StoryBoard 上,初始视图控制器的主要 View
userInteractionEnabled
属性 设置为 "NO"。改成"YES"解决问题
这很奇怪,因为在 iOS 8.
上一切正常我在模拟器 运行 iOS 9.0 上遇到了完全相同的问题,结果证明是语言设置问题。我正在发布我的发现,因此它可以帮助任何人 运行 遇到同样的问题。
如果区域设置为印度且语言设置为 "English - India",模拟器将停止检测触摸。为了解决这个问题,我重置了模拟器并且只将地区更改为印度,因为我的应用程序功能取决于地区。将语言保留为 "English - USA" 问题未见。
我不确定其他哪些语言或 region/language 组合会导致此问题。希望这对某人有所帮助。