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.
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.
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.
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
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>
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
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 .
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.
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:)
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.
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.
Cependant, vous pouvez utiliser des outils tiers pour le tester sur simulateur comme celui mis en évidence par Nicolas s ci-dessus.
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 .
Appuyez ensuite fermement sur n'importe quelle partie du simulateur iphone pour effectuer une action force touch.
Les nouveaux macbooks ont un pavé tactile activé par force-touch. Je pense que ces options ne fonctionneront que dans ce domaine.