Simula il tocco forzato / tocco 3D sui simulatori di iPhone 6S o iPhone 6S Plus


99

Sto cercando di simulare un tocco forzato utilizzando Xcode 7 GM sul simulatore di iPhone 6S o iPhone 6S Plus. In particolare, sto cercando di simulare il tocco forzato sull'icona dell'app di test che sta implementando i collegamenti alle applicazioni.

Fammi sapere se c'è una soluzione per simulare questo, ho provato la pressione lunga che il simulatore di Watch utilizza per simulare il tocco forzato, non ha funzionato poiché l'iPhone lo cattura come un gesto di pressione lunga.

Aggiornamento: ho scaricato il codice di esempio ViewControllerPreview da Apple. Eseguendo la loro applicazione di esempio, vedo che il simulatore, sebbene sia un iPhone 6s, non supporta la funzione 3D / force touch. Non sono ancora sicuro che supporterebbe la funzione se dovessi utilizzare un macbook con un trackpad abilitato al tocco forzato.

inserisci qui la descrizione dell'immagine

EDIT: qualcuno con un macbook dotato di trackpad force touch può tentare di utilizzare il tocco forzato sul trackpad per simulare il tocco 3D sul simulatore di iPhone 6s o 6s Plus? La mia teoria è che potresti usare il trackpad force touch sui nuovi MacBook per simulare il tocco 3D sui nuovi simulatori di iPhone. Aggiungi un commento annotando i risultati se lo provi e posso aggiornare il post.

EDIT2: Sembra che i trackpad Force Touch sul modello più recente di macbook pro non siano d'aiuto.


1
Non devi usare Xcode 7.1 beta?
Jacopo Penzo

L'opzione è disabilitata quando si esegue utilizzando 7.1B
dezinezync

1
Sembra che ci sia un radar su questo. openradar.appspot.com/22635686
atreat

8
Force Touch sul Macbook Pro 2015 non aiuta ..
Jadar

Puoi considerare di usare anche questo .
felixwcf

Risposte:


74

Dice qui ! Nella parte inferiore della pagina....

Sviluppo dell'ambiente

Xcode 7 supporta lo sviluppo 3D Touch. Tutte le funzionalità di debug di Xcode sono disponibili per l'implementazione delle nuove funzionalità.

Tieni presente quanto segue:

Con Xcode 7.0 devi sviluppare su un dispositivo che supporti il ​​3D Touch. Il simulatore in Xcode 7.0 non supporta 3D Touch.

Con Xcode 7.0 devi implementare i tuoi controller peek e pop view nel codice. Interface Builder in Xcode 7.0 non fornisce supporto grafico per la configurazione dei controller di visualizzazione o delle transizioni per 3D Touch.

Assicurati di testare la tua app con 3D Touch sia abilitato che disabilitato, assicurandoti che tutte le funzionalità siano disponibili per tutti gli utenti. Su un dispositivo 3D Touch, puoi disabilitare 3D Touch in Impostazioni> Generali> Accessibilità> 3D Touch

Quindi, sfortunatamente, sembra che dobbiamo mettere le mani sui dispositivi effettivi per farlo. :-(

MODIFICARE.....

A partire da Xcode 7.3 c'è un modo per farlo se il trackpad del tuo MacBook supporta il tocco forzato. Vedi risposta di @iPrabu.


1
Per tua informazione, c'è uno strumento che ho collegato alla mia risposta, che ti consente di emulare il tocco forzato per mostrare il menu Azioni rapide.
Nicolas S

1
Una stranezza è che se esegui i simulatori 6S o 6S Plus l'opzione Hardware "Force Touch Pressure" è abilitata. Su tutti gli altri simulatori non lo è. Quindi sembra che siano riusciti a implementare il tocco 3D nel simulatore, ma poi si sono arresi. È ora di comprare un nuovo telefono ...
Dan Loughney,

2
La pagina collegata ora dice che Xcode 7.1 non supporta 3D Touch.
Dan Reese

2
Parlando come uno sviluppatore QA ... questo fa schifo.
Joe Susnick

1
@LucasAzzopardi 3D touch è supportato in Xcode 7.3 solo se si dispone di un trackpad con force touch
Stephen

64

Per coloro che stanno sviluppando azioni rapide (scorciatoie app) è possibile utilizzare questo script che consente di simulare una stampa profonda su un'app sul simulatore.

https://github.com/DeskConnect/SBShortcutMenuSimulator

Ecco uno screenshot: inserisci qui la descrizione dell'immagine

Per coloro che stanno cercando come aggiungere le azioni in primo luogo, ci sono due opzioni, Statico e Dinamico. Puoi impostare solo 4 opzioni, prima mostrerà tutte quelle statiche e, se c'è spazio, mostrerà quelle dinamiche.

Ecco come aggiungere scorciatoie statiche. È abbastanza semplice, basta aggiungere alcuni tasti sul principaleInfo.plist

In questo esempio aggiungerò due opzioni statiche una con l'icona di ricerca predefinita e l'altra con un'icona personalizzata dal catalogo delle risorse.

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

1
Fantastico, grazie mille! Sei riuscito a simulare le funzionalità Peek e Pop?
Alexey

@Alexey non ancora no, ma almeno ora puoi testare sul dispositivo reale. E molto probabilmente il simulatore lo farà funzionare nel seguente aggiornamento, l'opzione di menu è già presente.
Nicolas S

Non riesco a mostrare la scorciatoia Elemento puoi aiutarmi per favore ..?
Dipen Chudasama

@DipenChudasama certo, ho aggiornato la mia risposta per mostrarti come aggiungere le scorciatoie.
Nicolas S

1
Per le versioni iOS superiori alla 9.1, usa il fork di PoomSmart: github.com/PoomSmart/SBShortcutMenuSimulator
thijsonline

42

Con Xcode 7.3 puoi testare la funzionalità 3D touch nel simulatore ma con un solo vincolo. (Riferimento alle note di rilascio di Xcode7.3)

La macchina (macbook / mac con trackpad) che stai sviluppando dovrebbe avere capacità di tocco 3D.

Puoi trovarlo nel menu Hardware del simulatore iOS.

Commenti di Pavel Alexeev: assicurati di abilitare "Force Click e feedback tattile" in Preferenze di Sistema → Trackpad

inserisci qui la descrizione dell'immagine


5
Assicurati di abilitare "Force Click e feedback tattile" in Preferenze di Sistema → Trackpad
Pavel Alexeev

1
Come requisito aggiuntivo è necessario utilizzare l'ultimo simulatore, ho provato iOS 9.2 per un paio di minuti senza successo - con 9.3 funziona;)
Frederik Winkelsdorf

8
Ho cercato per alcuni minuti e ho finito per rendermi conto che stavo simulando utilizzando un iPhone 6 e non un 6s, motivo per cui il pulsante era disattivato per me
juliensaad

Funziona solo con il trackpad. Se uno ha un mouse normale (non sono sicuro del mouse magico) collegato, non funzionerà
Funziona sul mio

10

La pressione della forza in iOS (ad esempio: Peek & Pop) non è esposta tramite Xcode 7.0 né Xcode 7.1 Beta Simulator. Le opzioni di tocco a pressione sono rilevanti solo per i dispositivi watchOS in quelle versioni di Simulator. Se hai la versione beta di Xcode 7.1, noterai che l'opzione di menu è effettivamente disabilitata.

Con Xcode 7.3 e iOS 9.3 e versioni successive del simulatore, puoi testare la funzionalità peek / pop utilizzando un trackpad force touch.


Come calcolare se si tratta di Shallow Press o Deep Press?
Vaibhav Jhaveri,

9

È possibile abilitare 3D Touch nel simulatore. Grazie a questa libreria.

  • Dopo averlo aggiunto Utilizzando una combinazione dei tasti di comando, controllo e MAIUSC è possibile abilitare 3D Touch.

  • Non dimenticare di aggiungere la libreria solo nell'ambiente di debug . Escluderlo dall'ambiente di rilascio .


È solo per sbirciare e schioccare o anche per scorciatoie da casa?
RileyDev

Sì, è solo per peep and pop. È possibile utilizzare questo per i collegamenti domestici.
sanky009

Il suo! la funzione Peek & Pop non funziona su Simulator 6s plus con Xcode 7.2 quando premo più a lungo e uso la combinazione di comando, controllo e spostamento ... puoi dirmi perché? Grazie
A. Trejo

@ sanky009: La funzione Peek & Pop non funziona su Simulator 6s plus con Xcode 7.2 quando premo più a lungo e uso la combinazione di comando, controllo e spostamento ...
Bhoomi Jagani

2

Per le "Azioni rapide della schermata Home", ho effettuato quanto segue:

  • ha creato un oggetto di UIMutableApplicationShortcutItem

  • mettilo in launchOptions to UIApplicationLaunchOptionsShortcutItemKey

  • e questo è tutto

Sembra che l'utente abbia fatto il tocco 3d sull'icona dell'app.

    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

(applicazione: didFinishLaunchingWithOptions :)


Ho fatto qualcosa di simile per provarlo, ma sarebbe bello fare il test completo. Esistono diversi modi per accedere all'applicazione tramite un collegamento all'app. Un modo è quando l'applicazione è in esecuzione in background e la metti in primo piano tramite il collegamento dell'app.
Kris Gellci

2

C'è un po 'di codice qui che ti consente di testare 3D Touch peek & pop nel simulatore. Tieni presente che questo è il codice per iOS 9.0 e alcuni dei metodi interni / privati ​​sono cambiati nella 9.1, quindi dovrai apportare alcune piccole modifiche (Suggerimento: la parola "Posizione" è cambiata in "Posizione" in uno dei nomi dei metodi) .

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

Sia questo che https://github.com/DeskConnect/SBShortcutMenuSimulator menzionato in altre risposte ti consentono di testare il 3D Touch senza un dispositivo reale in modo abbastanza competente.


1

Ufficialmente Xcode 7.1 supporta il tocco 3D ma non sul simulatore. È necessario disporre di un dispositivo effettivo per eseguire il test. Controlla l'ultimo paragrafo della documentazione di Apple.

Documento Apple

3D touch non supportato sul simulatore

Tuttavia, è possibile utilizzare strumenti di terze parti per testarlo sul simulatore come quella evidenziata da Nicolas S sopra.


0

I nuovi macbook hanno un touch pad abilitato al tocco forzato. Penso che queste opzioni funzioneranno solo in questo.


0

Ha funzionato per me con il simulatore XCode 9 e iPhone 8. Nel tuo Mac vai alle preferenze di sistema -> Trackpad -> Abilita clic forzato e feedback tattile .

inserisci qui la descrizione dell'immagine

Quindi premere con decisione su qualsiasi parte del simulatore di iPhone per eseguire un'azione di tocco forzato.


L'ho fatto, ma ancora non funziona :( Xcode 9.4.1, simulatore di iPhone X.
Supertecnoboff

1
@Supertecnoboff Devi usare il trackpad invece del mouse. Per me funziona su Xcode 10, ma non era ovvio che dovevo usare il trackpad in MacBook. Ovviamente "Force Click e feedback tattile" devono essere controllati.
Ariel Bogdziewicz
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.