Simule fuerza táctil / 3D táctil en simuladores iPhone 6S o iPhone 6S Plus

Estoy tratando de simular un toque de fuerza con Xcode 7 GM en el simulador iPhone 6S o iPhone 6S Plus. En particular, estoy tratando de simular el toque de fuerza en el ícono de la aplicación de testing que está implementando atajos de aplicaciones.

Avísame si hay una solución para simular esto, probé la pulsación prolongada que el simulador Watch utiliza para simular el toque forzado, no funcionó ya que el iPhone lo captura como un gesto de presión prolongada.

Actualización: descargué el código de muestra ViewControllerPreview de Apple. Ejecutando su aplicación de ejemplo, veo que el simulador, aunque es un iPhone 6s, no es compatible con la function táctil 3D / force. Todavía no estoy seguro si sería compatible con la function si tuviera que utilizar un macbook con un trackpad activado por fuerza táctil.

introduzca la descripción de la imagen aquí

EDITAR: ¿Alguien con un macbook que tiene un touchpad con fuerza táctil intenta usar el toque de fuerza en el panel táctil para simular 3D touch en el simulador iPhone 6s o 6s Plus? Mi teoría es que tal vez puedas usar el trackpad de fuerza táctil en los nuevos MacBooks para simular el toque 3D en los nuevos simuladores de iPhone. Agregue un comentario anotando los resultados si lo testing y puedo actualizar la publicación.

EDIT2: Parece que los trackpads Force Touch en los models más nuevos de macbook no son útiles.

¡Dice aquí ! al final de la página….

Entorno de desarrollo

Xcode 7 es compatible con el desarrollo 3D Touch. Todas las funciones de debugging de Xcode están disponibles para implementar las nuevas funciones.

Tenga en count lo siguiente:

Con Xcode 7.0 debe desarrollarse en un dispositivo compatible con 3D Touch. Simulator en Xcode 7.0 no es compatible con 3D Touch.

Con Xcode 7.0, debe implementar los controles de vista peek y pop en el código. Interface Builder en Xcode 7.0 no proporciona soporte gráfico para configurar controlleres de vista o transiciones para 3D Touch.

Asegúrese de probar su aplicación con 3D Touch, tanto habilitada como deshabilitada, asegurándose de que todas las funciones estén disponibles para todos los usuarios. En un dispositivo 3D Touch, puede desactivar 3D Touch en Configuración> General> Accesibilidad> 3D Touch

Así que desafortunadamente parece que tenemos que tener en nuestras manos los dispositivos reales para hacerlo. 🙁

EDITAR…..

A partir de Xcode 7.3 existe una forma de hacerlo si el trackpad de su MacBook admite el toque forzado. Ver la respuesta de @iPrabu.

Para aquellos que están desarrollando Acciones rápidas (Accesos directos de aplicaciones) puede usar este script que le permite simular una presión profunda en una aplicación en el simulador.

https://github.com/DeskConnect/SBShortcutMenuSimulator

Aquí hay una captura de pantalla: introduzca la descripción de la imagen aquí

Para aquellos que están buscando cómo agregar las acciones en primer lugar, hay dos opciones, estáticas y dinámicas. Puede configurar solo 4 opciones, primero mostrará todas las estáticas y, si hay espacio, muestre las dinámicas.

A continuación, le indicamos cómo agregar accesos directos estáticos. Es bastante fácil, simplemente agregue algunas keys en Info.plist principal

En este ejemplo, agregaré dos opciones estáticas una con el ícono de búsqueda pnetworkingeterminada y la otra con un ícono personalizado del catálogo de resources.

 <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> 

Con Xcode 7.3 puede probar la function táctil 3D en un simulador pero con una sola restricción. (Referencia de notas de la versión Xcode7.3)

La máquina (macbook / mac con trackpad) que está desarrollando debe tener capacidad táctil 3D.

Puede encontrarlo en el menu de Hardware del simulador de iOS.

Comentarios de Pavel Alexeev: Asegúrese de habilitar "Force Click y retroalimentación háptica" en Preferences del sistema → Trackpad

introduzca la descripción de la imagen aquí

La presión de la fuerza en iOS (por ejemplo: Peek & Pop) no está expuesta a través de Xcode 7.0 ni Simulador Xcode 7.1 Beta. Las opciones de presión táctil solo son relevantes para los dispositivos watchOS en esas versiones de Simulator. Si tiene el Xcode 7.1 beta, notará que la opción del menu está realmente deshabilitada.

Con Xcode 7.3 y los times de ejecución del simulador iOS 9.3 y posterior, puede probar la funcionalidad de peek / pop utilizando un trackpad táctil potente.

Puede habilitar 3D Touch en el simulador. Gracias a esta biblioteca.

  • Después de agregarlo, se puede habilitar una combinación del command, el control y las teclas Mayús .

  • No olvide agregar biblioteca solo en el entorno de debugging . Exclúyalo del entorno de versión .

Para el "toque rápido de la pantalla de inicio", hice lo siguiente:

  • creó un object de UIMutableApplicationShortcutItem

  • ponerlo en launchOptions to UIApplicationLaunchOptionsShortcutItemKey

  • y eso es

Parece que el usuario hizo el toque 3D en el ícono de la aplicación.

  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 

(aplicación: didFinishLaunchingWithOptions 🙂

Aquí hay un poco de código que te permite probar 3D Touch peek & pop en el simulador. Tenga en count que este es el código para iOS 9.0, y algunos de los methods internos / privados han cambiado en 9.1, por lo que necesitará hacer algunos cambios menores (Sugerencia: la palabra 'Posición' se cambió a 'Ubicación' en uno de los nombres de método) .

https://gist.github.com/nickfrey/07e2c6d8d2e5444fb91d

Tanto esto como https://github.com/DeskConnect/SBShortcutMenuSimulator mencionados en otras respuestas le permiten probar 3D Touch sin un dispositivo real de manera bastante competente.

Oficialmente Xcode 7.1 soporta 3D touch pero no en el simulador. Necesita tener un dispositivo real para probar. Consulte el último párrafo de la documentation de Apple.

Documento de Apple

El tacto 3D no es compatible con el simulador.

Sin embargo, puede usar herramientas de terceros para probarlo en un simulador como el que resalta Niqueues S anteriormente.

Los macbooks más nuevos tienen una almohadilla táctil activada por toque. Creo que estas opciones solo funcionarán en eso.