Simulez le toucher de force / le toucher 3D sur les simulateurs iPhone 6S ou iPhone 6S Plus

99

J'essaie de simuler un contact forcé à l'aide de Xcode 7 GM sur le simulateur iPhone 6S ou iPhone 6S Plus. En particulier, j'essaie de simuler le contact forcé sur l'icône de l'application de test qui met en œuvre des raccourcis d'application.

Faites-moi savoir s'il existe une solution pour simuler cela, j'ai essayé la longue pression que le simulateur Watch utilise pour simuler le toucher forcé, cela n'a pas fonctionné puisque l'iPhone le capture comme un long geste de pression.

Mise à jour: j'ai téléchargé l'exemple de code ViewControllerPreview d'Apple. En exécutant leur exemple d'application, je vois que le simulateur, bien qu'un iPhone 6s, ne prend pas en charge la fonction 3D / force tactile. Je ne sais toujours pas si cela prendrait en charge la fonctionnalité si j'utilisais un macbook avec un trackpad activé par la force tactile.

entrez la description de l'image ici

EDIT: Quelqu'un avec un macbook équipé d'un trackpad Force Touch peut-il essayer d'utiliser le Force Touch sur le trackpad pour simuler le toucher 3D sur le simulateur iPhone 6s ou 6s Plus? Ma théorie est que vous pouvez peut-être utiliser le trackpad Force Touch sur les nouveaux MacBooks pour simuler le toucher 3D sur les nouveaux simulateurs iPhone. Ajoutez un commentaire en notant les résultats si vous l'essayez et je peux mettre à jour le message.

EDIT2: Il semble que les trackpads Force Touch sur les nouveaux modèles de macbook pros n'aident pas.

Kris Gellci
la source
1
Vous n'avez pas besoin d'utiliser Xcode 7.1 beta?
Jacopo Penzo
L'option est désactivée lors de l'exécution avec 7.1B
dezinezync
1
On dirait qu'il y a un radar à ce sujet. openradar.appspot.com/22635686
atreat
8
Force Touch sur le Macbook Pro 2015 n'aide pas ..
Jadar
Vous pouvez envisager d'utiliser ce aussi.
felixwcf

Réponses:

74

C'est dit ici ! au bas de la page....

Environnement de développement

Xcode 7 prend en charge le développement 3D Touch. Toutes les fonctionnalités de débogage de Xcode sont disponibles pour implémenter les nouvelles fonctionnalités.

Gardez à l'esprit les points suivants:

Avec Xcode 7.0, vous devez développer sur un appareil prenant en charge 3D Touch. Le simulateur dans Xcode 7.0 ne prend pas en charge 3D Touch.

Avec Xcode 7.0, vous devez implémenter vos contrôleurs de vue Peek et Pop dans le code. Interface Builder dans Xcode 7.0 ne fournit pas de support graphique pour la configuration des contrôleurs de vue ou des transitions pour 3D Touch.

Assurez-vous de tester votre application avec 3D Touch activé et désactivé, en vous assurant que toutes les fonctionnalités sont disponibles pour tous les utilisateurs. Sur un appareil 3D Touch, vous pouvez désactiver 3D Touch dans Paramètres> Général> Accessibilité> 3D Touch

Donc, malheureusement, il semble que nous devions mettre la main sur les appareils réels pour le faire. :-(

ÉDITER.....

À partir de Xcode 7.3, il existe un moyen de le faire si le trackpad de votre MacBook prend en charge la force tactile. Voir la réponse de @iPrabu.

Kaylanx
la source
1
Juste pour info, il y a un outil que j'ai lié sur ma réponse, qui vous permet d'émuler le toucher forcé pour afficher le menu Actions rapides.
Nicolas S
1
Une bizarrerie est que si vous exécutez les simulateurs 6S ou 6S Plus, l'option matérielle «Force Touch Pressure» est activée. Sur tous les autres simulateurs, ce n'est pas le cas. On dirait donc qu'ils ont réussi à implémenter 3D Touch dans le simulateur, mais qu'ils ont ensuite abandonné. Il est temps d'acheter un nouveau téléphone ...
Dan Loughney
2
La page liée indique maintenant que Xcode 7.1 ne prend pas en charge 3D Touch.
Dan Reese
2
Parler en tant que développeur QA ... c'est nul.
Joe Susnick
1
@LucasAzzopardi 3D touch est pris en charge dans Xcode 7.3 uniquement si vous avez un trackpad avec force touch
Stephen
64

Pour ceux qui développent des actions rapides (raccourcis d'application), vous pouvez utiliser ce script qui vous permet de simuler une pression profonde sur une application sur le simulateur.

https://github.com/DeskConnect/SBShortcutMenuSimulator

Voici une capture d'écran: entrez la description de l'image ici

Pour ceux qui cherchent à ajouter les actions en premier lieu, il existe deux options, statique et dynamique. Vous ne pouvez définir que 4 options, cela affichera d'abord toutes les options statiques et, s'il y a de l'espace, les options dynamiques.

Voici comment ajouter des raccourcis statiques. C'est assez simple, il suffit d'ajouter quelques clés sur le principalInfo.plist

Dans cet exemple, j'ajouterai deux options statiques, l'une avec l'icône de recherche par défaut et l'autre avec l'icône personnalisée du catalogue d'actifs.

<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>
Nicolas S
la source
1
Merci beaucoup! Avez-vous réussi à simuler la fonctionnalité Peek et Pop?
Alexey
@Alexey pas encore non, mais au moins vous pouvez maintenant tester sur l'appareil réel. Et très probablement, le simulateur fonctionnera dans la mise à jour suivante, l'option de menu est déjà là.
Nicolas S
Je ne peux pas afficher l'élément de raccourci. Pouvez-vous m'aider s'il vous plaît ..?
Dipen Chudasama
@DipenChudasama bien sûr, j'ai mis à jour ma réponse pour vous montrer comment ajouter les raccourcis.
Nicolas S
1
Pour les versions iOS supérieures à 9.1, utilisez le fork de PoomSmart: github.com/PoomSmart/SBShortcutMenuSimulator
thijsonline
42

Avec Xcode 7.3, vous pouvez tester la fonction tactile 3D dans le simulateur mais avec une seule contrainte. (Référence des notes de version Xcode7.3)

La machine (macbook / mac avec trackpad) que vous développez doit avoir une capacité tactile 3D.

Vous pouvez le trouver dans le menu Matériel du simulateur iOS.

Commentaires de Pavel Alexeev: Assurez-vous d'activer «Forcer le clic et le retour haptique» dans les Préférences Système → Trackpad

entrez la description de l'image ici

ipraba
la source
5
Assurez-vous d'activer «Force Click et retour haptique» dans les Préférences Système → Trackpad
Pavel Alexeev
1
Comme condition supplémentaire, vous devez utiliser le dernier simulateur, j'ai essayé iOS 9.2 pendant quelques minutes sans succès - avec 9.3 cela fonctionne;)
Frederik Winkelsdorf
8
J'ai cherché quelques minutes et j'ai fini par me rendre compte que je simulais avec un iPhone 6 et non un 6s, c'est pourquoi le bouton était grisé pour moi
juliensaad
Cela ne fonctionne qu'avec le trackpad. Si l'on a une souris ordinaire (pas sûr de la souris magique) connectée, cela ne fonctionnera pas
Works On Mine
10

La pression de force dans iOS (par exemple: Peek & Pop) n'est pas exposée via Xcode 7.0 ni Xcode 7.1 Beta's Simulator. Les options de pression tactile ne sont pertinentes que pour les appareils watchOS dans ces versions de Simulator. Si vous avez la version bêta de Xcode 7.1, vous remarquerez que l'option de menu est en fait désactivée.

Avec Xcode 7.3 et les environnements d'exécution du simulateur iOS 9.3 et versions ultérieures, vous pouvez tester la fonctionnalité Peek / Pop à l'aide d'un pavé tactile forcé.

Jeremy Huddleston Séquoia
la source
Comment calculer s'il s'agit de Shallow Press ou Deep Press?
Vaibhav Jhaveri
9

Vous pouvez activer 3D Touch dans le simulateur. Merci à cette bibliothèque.

  • Après l'avoir ajouté En utilisant une combinaison des touches de commande, de contrôle et de décalage , 3D Touch peut être activé.

  • N'oubliez pas d'ajouter la bibliothèque uniquement dans l' environnement de débogage . Excluez-le de l' environnement Release .

sanky009
la source
Est-ce juste pour peep and pop ou pour les raccourcis vers la maison?
RileyDev
Oui, c'est pour peep and pop seulement. Vous pouvez utiliser ce pour les raccourcis à la maison.
sanky009
Le sien! la fonction Peek & Pop ne fonctionne pas sur Simulator 6s plus avec Xcode 7.2 lorsque je presse plus longtemps et que j'utilise la combinaison de la commande, du contrôle et du décalage ... pouvez-vous me dire pourquoi? Merci
A. Trejo
@ sanky009: La fonction Peek & Pop ne fonctionne pas sur Simulator 6s plus avec Xcode 7.2 lorsque je presse plus longtemps et que j'utilise la combinaison de commande, contrôle et décalage ...
Bhoomi Jagani
2

Pour les "Actions rapides de l'écran d'accueil", appuyez sur les éléments suivants:

  • a créé un objet de UIMutableApplicationShortcutItem

  • le mettre en lancementOptions pour UIApplicationLaunchOptionsShortcutItemKey

  • et c'est tout

Il semble que l'utilisateur ait effectué la touche 3D sur l'icône de l'application.

    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

(application: didFinishLaunchingWithOptions :)

Andrew
la source
J'ai fait quelque chose de similaire pour le tester, mais ce serait bien de faire le test complet. Il existe plusieurs façons d'accéder à l'application via un raccourci d'application. Une solution consiste à exécuter l'application en arrière-plan et à la mettre au premier plan via le raccourci de l'application.
Kris Gellci
2

Il y a un peu de code ici qui vous permet de tester le peek & pop 3D Touch dans le simulateur. Gardez à l'esprit qu'il s'agit du code pour iOS 9.0, et certaines des méthodes internes / privées ont changé dans la version 9.1, vous devrez donc apporter quelques modifications mineures (Indice: le mot `` Position '' a été remplacé par `` Emplacement '' dans l'un des noms de méthode) .

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

Cela et https://github.com/DeskConnect/SBShortcutMenuSimulator mentionnés dans d'autres réponses vous permettent de tester de manière assez compétente pour 3D Touch sans appareil réel.

Jordan Smith
la source
1

Officiellement, Xcode 7.1 prend en charge le toucher 3D mais pas sur le simulateur. Vous devez avoir un appareil réel pour effectuer le test. Consultez le dernier paragraphe de la documentation d'Apple.

Document Apple

3D touch non pris en charge sur le simulateur

Cependant, vous pouvez utiliser des outils tiers pour le tester sur simulateur tel que celui mis en évidence par Nicolas S ci-dessus.

Jayprakash Dubey
la source
0

Les nouveaux macbooks ont un pavé tactile activé par la force. Je pense que ces options ne fonctionneront que là-dessus.

atulkhatri
la source
0

Cela a fonctionné pour moi avec le simulateur XCode 9 et iphone 8. Dans votre mac, accédez aux préférences système -> Trackpad -> Activer le clic forcé et le retour haptique .

entrez la description de l'image ici

Appuyez ensuite fermement sur n'importe quelle partie du simulateur de l'iphone pour effectuer une action tactile forcée.

Karthik
la source
Je l'ai fait, mais cela ne fonctionne toujours pas: (Xcode 9.4.1, simulateur iPhone X.
Supertecnoboff
1
@Supertecnoboff Vous devez utiliser le trackpad au lieu de la souris. Cela fonctionne pour moi sur Xcode 10, mais ce n'était pas évident que je devais utiliser Trackpad dans MacBook. Bien entendu, il faut cocher "Force Click et retour haptique".
Ariel Bogdziewicz