在iPhone 6S或iPhone 6S Plus模拟器上模拟powershell触摸/ 3D触摸
我试图在iPhone 6S或iPhone 6S Plus模拟器上使用Xcode 7 GM来模拟强制触摸。 特别是,我试图模拟testing应用程序的实施应用程序快捷方式的图标上的力量触摸。
让我知道,如果有一个解决scheme来模拟这个,我尝试了手表模拟器用来模拟力触摸的长按,没有工作,因为iPhone捕获它作为一个长按手势。
更新:我从Apple下载了ViewControllerPreview示例代码。 运行他们的示例应用程序,我发现模拟器虽然是iPhone 6s,但不支持3D /强制触摸function。 我仍然不确定它是否会支持该function,如果我正在使用强制触摸触控板的MacBook。
编辑:有人可以使用强制触摸触控板的MacBook尝试使用触控板上的强制触摸来模拟iPhone 6s或6s Plus模拟器上的3D触摸? 我的理论是,你也许可以使用新的MacBook上的powershell触摸触控板来模拟新的iPhone模拟器上的3D触摸。 添加评论注意到结果,如果你尝试它,我可以更新post。
编辑2:看来,力量触摸新的模式的MacBook专业版的trackpad没有帮助。
它在这里说! 在页面的底部….
开发环境
Xcode 7支持3D Touch开发。 Xcode的所有debuggingfunction都可用于实现新function。
请记住以下几点:
使用Xcode 7.0,您必须在支持3D Touch的设备上开发。 Xcode 7.0中的模拟器不支持3D Touch。
使用Xcode 7.0,您必须在代码中实现窥视和popup视图控制器。 Xcode 7.0中的Interface Builder不提供configuration3D Touch视图控制器或转换的graphics支持。
确保使用3D Touchtesting您的应用程序是否已启用和禁用,确保所有用户都可以使用所有function。 在3D触控设备上,您可以在设置>常规>辅助function> 3D触控中禁用3D触控
所以不幸的是,看起来我们需要掌握实际的设备。 🙁
编辑…..
从Xcode 7.3开始,如果您的MacBook触控板支持强制触摸,则可以采用这种方法。 请参阅@iPrabu的答案。
对于那些正在开发快速操作(应用程序快捷方式)的用户,您可以使用此脚本来模拟模拟器上的应用程序。
https://github.com/DeskConnect/SBShortcutMenuSimulator
这里有一个截图:
对于那些正在寻找如何添加动作的人来说,有两个选项:静态和dynamic。 你只能设置4个选项,它将首先显示所有的静态,如果有空间,显示dynamic的。
以下是如何添加静态快捷方式。 这很简单,只需在主Info.plist
上添加一些键即可
在这个例子中,我将添加两个静态选项,一个使用默认search图标,另一个使用资产目录中的自定义图标。
<key>UIApplicationShortcutItems</key> <array> <dict> <key>UIApplicationShortcutItemTitle</key> <string>Add Event (with custom icon)</string> <key>UIApplicationShortcutItemType</key> <string>com.reverse.appname.addevent</string> <key>UIApplicationShortcutItemIconFile</key> <string>custom-icon-from-asset-catalog</string> <key>UIApplicationShortcutItemSubtitle</key> <string>Here you can add some text below the option</string> </dict> <dict> <key>UIApplicationShortcutItemTitle</key> <string>Search Event (with default icon)</string> <key>UIApplicationShortcutItemType</key> <string>com.reverse.appname.searchevents</string> <key>UIApplicationShortcutItemIconType</key> <string>UIApplicationShortcutIconTypeSearch</string> <key>UIApplicationShortcutItemSubtitle</key> <string>Here you can add some text below the option</string> </dict> </array>
使用Xcode 7.3,您可以在模拟器中testing3D触摸function,但只有一个约束。 (Xcode7.3发行说明参考)
您正在开发的机器(带触控板的macbook / mac)应具有3D触控function。
你可以在iOS模拟器硬件菜单下find它。
Pavel Alexeev的评论: 确保在系统偏好设置→触控板中启用“强制点击和触觉反馈”
iOS中的强制压力(例如:Peek&Pop)不会通过Xcode 7.0和Xcode 7.1 Beta的模拟器暴露。 压力触摸选项仅适用于Simulator版本中的watchOS设备。 如果您有Xcode 7.1testing版,您会注意到菜单选项实际上是禁用的。
使用Xcode 7.3和iOS 9.3及更高版本的模拟器运行时,您可以使用强制触摸触控板testing窥视/popupfunction。
您可以在模拟器中启用3D Touch。 感谢这个图书馆。
-
添加后使用命令,控制和换档键的组合可以启用3D Touch。
-
不要忘记只在Debug环境中添加库。 从发布环境中排除它。
对于“主屏幕快速操作”触摸我做了以下:
-
创build了一个UIMutableApplicationShortcutItem对象
-
把它放到launchOptions到
UIApplicationLaunchOptionsShortcutItemKey
-
这就是它
它看起来像用户在应用程序图标上做了三维触摸。
let shortcut = UIMutableApplicationShortcutItem(type: ShortcutIdentifier.Third.type, localizedTitle: "Title", localizedSubtitle: "Subtitle", icon: UIApplicationShortcutIcon(type: .Play), userInfo: [ AppDelegate.applicationShortcutUserInfoIconKey: UIApplicationShortcutIconType.Play.rawValue ] ) let launchOption = [ "UIApplicationLaunchOptionsShortcutItemKey" : shortcut ] launchOptions = launchOption
(应用中:didFinishLaunchingWithOptions 🙂
这里有一些代码可以让你在模拟器中testing3D Touch peek&pop。 请记住这是iOS 9.0的代码,并且9.1中的一些内部/私有方法已经改变,所以您需要做一些小的改变(提示:“位置”一词更改为“位置”方法名称) 。
https://gist.github.com/nickfrey/07e2c6d8d2e5444fb91d
在其他答案中提到的这个和https://github.com/DeskConnect/SBShortcutMenuSimulator允许你testing3D Touch,而没有一个真正的设备相当胜利。
Xcode 7.1正式支持3D触摸,但不支持模拟器。 你需要有实际的设备才能testing。 检查Apple的最后一段文档 。
但是,您可以使用第三方工具在模拟器上进行testing,例如上面Nicolas S突出显示的模拟器。
较新的MacBook具有强制触摸function的触摸板。 我认为这些select只会在这方面起作用。