web-dev-qa-db-fra.com

Simuler la force tactile / tactile 3D sur des simulateurs iPhone 6S ou iPhone 6S Plus

J'essaie de simuler un effleurement à 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 implémente Application Shortcuts.

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

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

enter image description here

EDIT: Quelqu'un possédant un macbook doté d'un trackpad tactile forcé peut-il tenter d'utiliser le contact tactile forcé 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 MacBook 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 post.

EDIT2: Il semble que les trackpads Force Touch du nouveau modèle de MacBook Pro n’aident en rien.

98
Kris Gellci

Cela 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 ceci à l'esprit:

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 pics 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é, afin de vous assurer que toutes les fonctionnalités sont disponibles pour tous les utilisateurs. Sur un appareil 3D Touch, vous pouvez désactiver 3D Touch dans Réglages> Général> Accessibilité> 3D Touch.

Donc, malheureusement, il semble que nous ayons besoin de mettre la main sur les dispositifs réels pour le faire. :-(

MODIFIER.....

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

74
kaylanx

Pour ceux qui développent des actions rapides (raccourcis vers les applications), vous pouvez utiliser ce script qui vous permet de simuler une pression en profondeur sur une application du simulateur.

https://github.com/DeskConnect/SBShortcutMenuSimulator

Voici une capture d'écran: enter image description here

Pour ceux qui cherchent comment ajouter les actions en premier lieu, il existe deux options, statique et dynamique. Vous ne pouvez définir que 4 options. Toutes les options statiques sont d'abord affichées, puis les options dynamiques, le cas échéant.

Voici comment ajouter des raccourcis statiques. C'est assez facile, il suffit d'ajouter quelques touches sur le principal Info.plist

Dans cet exemple, je vais ajouter deux options statiques, l'une avec l'icône de recherche par défaut et l'autre avec une icône personnalisée du catalogue de ressources.

<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>
64
Nicolas S

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 de Xcode7.3)

La machine (macbook/mac avec trackpad) que vous développez doit avoir une fonctionnalité 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 Préférences Système → Trackpad .

enter image description here

42
iPrabu

La pression forcée sous iOS (par exemple: Peek & Pop) n'est pas exposée via Xcode 7.0 ni le simulateur de Xcode 7.1 Beta. Les options de pression tactile ne concernent que les appareils watchOS de ces versions de Simulator. Si vous avez la version bêta de Xcode 7.1, vous remarquerez que l'option de menu est réellement désactivée.

Avec les exécutions de simulateur Xcode 7.3 et iOS 9.3 et versions ultérieures, vous pouvez tester les fonctionnalités de peek/pop à l'aide d'un pavé tactile force.

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

  • Après l’avoir ajouté, 3D Touch peut être activé à l’aide d’une combinaison de la commande , des touches de commande et de déplacement .

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

9
sanky009

Pour les "Actions rapides de l'écran d'accueil", j'ai effectué les opérations suivantes:

  • créé un objet de UIMutableApplicationShortcutItem

  • mettez-la dans launchOptions to UIApplicationLaunchOptionsShortcutItemKey

  • et c'est tout

Il semble que l'utilisateur ait touché la 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:)

2
Andrew

Il y a un peu de code ici qui vous permet de tester 3D Touch Peek & Pop dans le simulateur. N'oubliez pas qu'il s'agit d'un code pour iOS 9.0 et que certaines des méthodes internes/privées ont été modifiées dans la version 9.1; vous devrez donc apporter quelques modifications mineures (indice: le mot 'Position' changé en 'Lieu' dans l'un des noms de méthodes) .

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

Ceci et https://github.com/DeskConnect/SBShortcutMenuSimulator mentionné dans d'autres réponses vous permettent de tester la 3D Touch sans périphérique réel de manière assez compétente.

2
Jordan Smith

Officiellement, Xcode 7.1 prend en charge le toucher 3D mais pas sur simulateur. Vous devez avoir un appareil réel pour pouvoir tester. Vérifiez le dernier paragraphe de documentation d’Apple.

Apple Document

3D touch not supported on simulator

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

1
Jayprakash Dubey

Les macbooks les plus récents ont un pavé tactile activé par force-touch. Je pense que ces options ne fonctionneront que dans cela.

0
atulkhatri

Cela a fonctionné pour moi avec XCode 9 & iphone 8 simulator. Dans votre Mac, allez à Préférences Système -> Trackpad -> Activer Forcer le clic et le retour haptique .

enter image description here

Appuyez ensuite fermement sur n’importe quelle partie du simulateur iPhone pour effectuer une action tactile forcée.

0
karthik