Simulez force touch / 3D touch sur les simulateurs iPhone 6S ou iPhone 6S Plus

J'essaie de simuler une force touch en utilisant Xcode 7 GM sur le simulateur iPhone 6S ou iPhone 6S Plus. En particulier, j'essaie de simuler le contact de force sur l'icône de l'application de test qui implémente des raccourcis D'Application.

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

Mise à jour: j'ai téléchargé le ViewControllerPreview exemple de code 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 touch. Je ne suis toujours pas sûr si elle prendrait en charge la fonctionnalité si je devais utiliser un macbook avec un trackpad activé force touch.

entrez la description de l'image ici

Modifier: Quelqu'un avec un macbook qui a un trackpad force touch peut-il tenter d'utiliser le force touch sur le trackpad pour simuler 3D touch sur l'iPhone 6s ou 6s Plus simulateur? Ma théorie est que vous pouvez peut-être utiliser le trackpad force touch sur les nouveaux MacBooks pour simuler le touch 3D sur les nouveaux simulateurs iPhone. Ajouter un commentaire en notant les résultats si vous l'essayez et je peux mettre à jour le post.

EDIT2: il semble que la force tactile trackpads sur le nouveau modèle macbook pros ne permettent pas.

98
demandé sur Kris Gellci 2015-09-10 03:31:32

10 réponses

, Il 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 ce qui suit:

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

Avec Xcode 7.0, vous devez implémenter votre peek et pop afficher les contrôleurs 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 à la fois 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 devons mettre la main sur les appareils 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 force touch. Voir la réponse de @iPrabu.

74
répondu kaylanx 2016-04-06 20:40:44

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 y a deux options, statique et dynamique. Vous ne pouvez définir que 4 options, il montrera d'abord toutes les options statiques, et s'il y a de l'espace, afficher les dynamiques.

Voici comment ajouter des raccourcis statiques. C'est assez facile, il suffit d'ajouter quelques touches sur le principal Info.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>
63
répondu Nicolas S 2016-02-08 00:25:47

Avec Xcode 7.3, vous pouvez tester la fonctionnalité 3D touch dans le simulateur, mais avec une seule contrainte. (xcode7.3 notes de version référence)

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

Vous pouvez le trouver sous le menu matériel du simulateur iOS.

Commentaires de Pavel Alexeev: assurez-vous d'activer "forcer le clic et la rétroaction haptique" dans les Préférences Système → Trackpad

entrez la description de l'image ici

40
répondu iPrabu 2016-04-28 09:12:09

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

  • Après l'avoir ajouté à l'aide d'une combinaison des touches command, control et shift, 3D Touch peut être activé.

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

9
répondu sanky009 2016-01-23 06:20:09

La pression de Force dans iOS (par exemple: Peek & Pop) n'est pas exposée via Xcode 7.0 ni le simulateur de Xcode 7.1 Beta. Les options pressure touch 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 réellement désactivée.

Avec Xcode 7.3 et les runtimes du simulateur iOS 9.3 et versions ultérieures, vous pouvez tester la fonctionnalité peek/pop à l'aide d'un trackpad force touch.

9
répondu Jeremy Huddleston Sequoia 2016-08-04 05:22:13

Pour la touche" actions rapides de L'écran D'accueil", j'ai fait ce qui suit:

  • Créé un objet de UIMutableApplicationShortcutItem

  • Mettez-le dans launchOptions pour UIApplicationLaunchOptionsShortcutItemKey

  • Et c'est tout

Il semble que l'utilisateur ait fait le toucher 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
répondu Andrew 2015-09-14 12:38:57

Il y a un peu de code ici qui vous permet de tester 3D Touch peek & pop dans le simulateur. Gardez à l'esprit que c'est du code pour iOS 9.0, et certaines des méthodes internes/privées ont changé dans 9.1, vous devrez donc apporter quelques modifications mineures (Indice: le mot 'Position' a changé en 'Location' 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 pour 3D Touch sans un appareil réel assez avec compétence.

2
répondu Jordan Smith 2015-11-16 10:22:49

Officiellement Xcode 7.1 prend en charge 3D touch mais pas sur le simulateur. Vous devez avoir dispositif réel afin de tester. Vérifiez 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 comme celui mis en évidence par Nicolas s ci-dessus.

1
répondu Jayprakash Dubey 2017-05-23 10:31:03

Cela a fonctionné pour moi avec Xcode 9 et iPhone 8 simulator. Dans votre mac, accédez à Préférences Système - > Trackpad - > activer forcer le clic et la rétroaction haptique .

entrez la description de l'image ici

Appuyez ensuite fermement sur n'importe quelle partie du simulateur iphone pour effectuer une action force touch.

1
répondu karthik 2018-01-08 16:24:00

Les nouveaux macbooks ont un pavé tactile activé par force-touch. Je pense que ces options ne fonctionneront que dans ce domaine.

0
répondu atulkhatri 2016-04-10 14:31:58