Simulieren Sie Force Touch / 3D Touch auf iPhone 6S- oder iPhone 6S Plus-Simulatoren

99

Ich versuche, eine Force Touch mit Xcode 7 GM auf dem iPhone 6S oder iPhone 6S Plus Simulator zu simulieren. Insbesondere versuche ich, die Kraftberührung auf dem Symbol der Test-App zu simulieren, die Anwendungsverknüpfungen implementiert.

Lassen Sie mich wissen, ob es eine Lösung gibt, um dies zu simulieren. Ich habe versucht, dass das lange Drücken, mit dem der Uhrensimulator die Kraftberührung simuliert, nicht funktioniert hat, da das iPhone es als lange Druckgeste erfasst.

Update: Ich habe den ViewControllerPreview-Beispielcode von Apple heruntergeladen. Beim Ausführen der Beispielanwendung sehe ich, dass der Simulator, obwohl er ein iPhone 6s ist, die 3D / Force Touch-Funktion nicht unterstützt. Ich bin mir immer noch nicht sicher, ob es die Funktion unterstützen würde, wenn ich ein MacBook mit einem Force Touch-fähigen Trackpad verwenden würde.

Geben Sie hier die Bildbeschreibung ein

BEARBEITEN: Kann jemand mit einem MacBook mit einem Force-Touch-Trackpad versuchen, mithilfe der Force-Touch-Funktion auf dem Trackpad 3D-Berührungen auf dem iPhone 6s oder 6s Plus-Simulator zu simulieren? Meine Theorie ist, dass Sie das Force Touch Trackpad auf den neuen MacBooks verwenden können, um die 3D-Berührung auf neuen iPhone-Simulatoren zu simulieren. Fügen Sie einen Kommentar hinzu, der die Ergebnisse notiert, wenn Sie es versuchen, und ich kann den Beitrag aktualisieren.

EDIT2: Es scheint, dass Force Touch-Trackpads auf den neueren MacBook-Profis nicht helfen.

Kris Gellci
quelle
1
Müssen Sie nicht Xcode 7.1 Beta verwenden?
Jacopo Penzo
Option ist deaktiviert, wenn mit 7.1B
dezinezync
1
Es sieht so aus, als ob es ein Radar gibt. openradar.appspot.com/22635686
atreat
8
Force Touch auf dem 2015 Macbook Pro hilft nicht ..
Jadar
Sie können prüfen , zu verwenden , dies auch.
felixwcf

Antworten:

74

Er sagt , hier ! am Ende der Seite....

Entwicklungsumgebung

Xcode 7 unterstützt die 3D Touch-Entwicklung. Für die Implementierung der neuen Funktionen stehen alle Debugging-Funktionen von Xcode zur Verfügung.

Beachten Sie Folgendes:

Mit Xcode 7.0 müssen Sie auf einem Gerät entwickeln, das 3D Touch unterstützt. Der Simulator in Xcode 7.0 unterstützt 3D Touch nicht.

Mit Xcode 7.0 müssen Sie Ihre Peek- und Pop-View-Controller in Code implementieren. Der Interface Builder in Xcode 7.0 bietet keine grafische Unterstützung für die Konfiguration von Ansichtssteuerungen oder Übergängen für 3D Touch.

Stellen Sie sicher, dass Sie Ihre App mit aktiviertem und deaktiviertem 3D Touch testen und sicherstellen, dass alle Funktionen allen Benutzern zur Verfügung stehen. Auf einem 3D Touch-Gerät können Sie 3D Touch unter Einstellungen> Allgemein> Barrierefreiheit> 3D Touch deaktivieren

Es sieht also leider so aus, als müssten wir die eigentlichen Geräte in die Hände bekommen, um dies zu tun. :-(

BEARBEITEN.....

Ab Xcode 7.3 gibt es eine Möglichkeit, dies zu tun, wenn das Trackpad Ihres MacBook Force Touch unterstützt. Siehe Antwort von @iPrabu.

Kaylanx
quelle
1
Nur zu Ihrer Information, es gibt ein Tool, das ich auf meine Antwort verlinkt habe, mit dem Sie die Force Touch emulieren können, um das Menü Schnellaktionen anzuzeigen.
Nicolas S
1
Eine Kuriosität ist, dass beim Ausführen der 6S- oder 6S Plus-Simulatoren die Hardwareoption "Touch Touch Pressure" aktiviert ist. Bei allen anderen Simulatoren ist dies nicht der Fall. Es sieht also so aus, als hätten sie einen Teil des Weges durch die Implementierung von 3D-Touch im Simulator zurückgelegt, aber dann aufgegeben. Zeit, ein neues Telefon zu kaufen ...
Dan Loughney
2
Auf der verlinkten Seite heißt es nun, dass Xcode 7.1 3D Touch nicht unterstützt.
Dan Reese
2
Als QS-Entwickler zu sprechen ... das ist scheiße.
Joe Susnick
1
@ LucasAzzopardi 3D Touch wird in Xcode 7.3 nur unterstützt, wenn Sie ein Trackpad mit Force Touch haben
Stephen
64

Für diejenigen, die Schnellaktionen (App-Verknüpfungen) entwickeln, können Sie dieses Skript verwenden, mit dem Sie einen tiefen Druck auf eine App im Simulator simulieren können.

https://github.com/DeskConnect/SBShortcutMenuSimulator

Hier ist ein Screenshot: Geben Sie hier die Bildbeschreibung ein

Für diejenigen, die sich zunächst mit dem Hinzufügen von Aktionen befassen, gibt es zwei Optionen: Statisch und Dynamisch. Sie können nur 4 Optionen festlegen. Zuerst werden alle statischen Optionen angezeigt. Wenn Platz vorhanden ist, werden dynamische Optionen angezeigt.

Hier erfahren Sie, wie Sie statische Verknüpfungen hinzufügen. Es ist ziemlich einfach, fügen Sie einfach einige Schlüssel am Haupt hinzuInfo.plist

In diesem Beispiel füge ich zwei statische Optionen hinzu, eine mit dem Symbol für die Standardsuche und die andere mit dem benutzerdefinierten Symbol aus dem Asset-Katalog.

<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.
quelle
1
Super, vielen Dank! Haben Sie es geschafft, Peek- und Pop-Funktionen zu simulieren?
Alexey
@Alexey noch nicht nein, aber zumindest kannst du jetzt auf dem realen Gerät testen. Und höchstwahrscheinlich wird der Simulator das im folgenden Update zum Laufen bringen, die Menüoption ist bereits vorhanden.
Nicolas S
Ich kann keine Verknüpfung anzeigen. Können Sie mir bitte helfen?
Dipen Chudasama
@ DipenChudasama sicher, ich habe meine Antwort aktualisiert, um Ihnen zu zeigen, wie Sie die Verknüpfungen hinzufügen.
Nicolas S
1
Verwenden Sie für iOS-Versionen über 9.1 die Gabel von PoomSmart: github.com/PoomSmart/SBShortcutMenuSimulator
thijsonline
42

Mit Xcode 7.3 können Sie die 3D-Touch-Funktion im Simulator testen, jedoch mit nur einer Einschränkung. (Xcode7.3 Release Notes Referenz)

Das Gerät (MacBook / Mac mit Trackpad), das Sie entwickeln, sollte über 3D-Touch-Funktionen verfügen.

Sie finden es im Menü Hardware des iOS-Simulators.

Kommentare von Pavel Alexeev: Stellen Sie sicher, dass "Systemklick und haptisches Feedback erzwingen" in den Systemeinstellungen → Trackpad aktiviert ist

Geben Sie hier die Bildbeschreibung ein

iPrabu
quelle
5
Stellen Sie sicher, dass "Force Click und haptisches Feedback" in den Systemeinstellungen → Trackpad
Pavel Alexeev am
1
Als zusätzliche Voraussetzung müssen Sie den neuesten Simulator verwenden, ich habe iOS 9.2 für ein paar Minuten ohne Erfolg ausprobiert - mit 9.3 funktioniert es;)
Frederik Winkelsdorf
8
Ich habe ein paar Minuten gesucht und festgestellt, dass ich mit einem iPhone 6 und nicht mit einem 6s simuliert habe, weshalb die Schaltfläche für mich ausgegraut war
juliensaad
Es funktioniert nur mit dem Trackpad. Wenn eine normale Maus angeschlossen ist (nicht sicher, ob es sich um eine magische Maus handelt), funktioniert das nicht
funktioniert bei mir
10

Der Druck in iOS (z. B. Peek & Pop) wird weder durch Xcode 7.0 noch durch den Simulator von Xcode 7.1 Beta ausgesetzt. Die Druckberührungsoptionen sind nur für watchOS-Geräte in diesen Versionen von Simulator relevant. Wenn Sie die Beta-Version von Xcode 7.1 haben, werden Sie feststellen, dass die Menüoption tatsächlich deaktiviert ist.

Mit Xcode 7.3 und den Simulator-Laufzeiten von iOS 9.3 und höher können Sie die Peek / Pop-Funktionalität mithilfe eines Force-Touch-Trackpads testen.

Jeremy Huddleston Sequoia
quelle
Wie berechnet man, ob es sich um Shallow Press oder Deep Press handelt?
Vaibhav Jhaveri
9

Sie können 3D Touch im Simulator aktivieren. Dank dieser Bibliothek.

  • Nach dem Hinzufügen Mit einer Kombination der Befehls-, Steuer- und Umschalttasten kann 3D Touch aktiviert werden.

  • Vergessen Sie nicht, die Bibliothek nur in der Debug- Umgebung hinzuzufügen . Schließen Sie es aus der Release- Umgebung aus.

sanky009
quelle
Ist das nur für Peep and Pop oder auch für Home Shortcuts?
RileyDev
Ja, es ist nur für Peep und Pop. Sie können dies für Home-Verknüpfungen verwenden.
sanky009
Seine! Die Peek & Pop-Funktion funktioniert unter Simulator 6s plus mit Xcode 7.2 nicht, wenn ich länger drücke und die Kombination aus Befehl, Steuerung und Umschaltung verwende. Können Sie mir sagen, warum? Vielen Dank
A. Trejo
@ sanky009: Peek & Pop-Funktion funktioniert nicht auf Simulator 6s plus mit Xcode 7.2, wenn ich länger drücke und die Kombination aus Befehl, Steuerung und Umschaltung verwende ...
Bhoomi Jagani
2

Für die Berührung "Schnelle Aktionen des Startbildschirms" habe ich Folgendes vorgenommen:

  • hat ein Objekt von UIMutableApplicationShortcutItem erstellt

  • Setzen Sie es in launchOptions to UIApplicationLaunchOptionsShortcutItemKey

  • und das ist es

Es sieht so aus, als hätte der Benutzer das 3D-Touch auf dem App-Symbol ausgeführt.

    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

(Anwendung: didFinishLaunchingWithOptions :)

Andrew
quelle
Ich habe etwas Ähnliches gemacht, um es zu testen, aber es wäre schön, den vollständigen Test durchzuführen. Es gibt verschiedene Möglichkeiten, die Anwendung über eine App-Verknüpfung aufzurufen. Eine Möglichkeit besteht darin, dass die Anwendung im Hintergrund ausgeführt wird und Sie sie über die App-Verknüpfung in den Vordergrund stellen.
Kris Gellci
2

Hier gibt es ein bisschen Code, mit dem Sie 3D Touch Peek & Pop im Simulator testen können. Beachten Sie, dass dies Code für iOS 9.0 ist und einige der internen / privaten Methoden in 9.1 geändert wurden, sodass Sie einige geringfügige Änderungen vornehmen müssen (Hinweis: Das Wort "Position" wurde in einer der Optionen in "Standort" geändert Methodennamen) .

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

Sowohl dies als auch https://github.com/DeskConnect/SBShortcutMenuSimulator, die in anderen Antworten erwähnt werden, ermöglichen es Ihnen, ohne ein tatsächliches Gerät ziemlich kompetent auf 3D Touch zu testen.

Jordan Smith
quelle
1

Offiziell unterstützt Xcode 7.1 3D Touch, jedoch nicht im Simulator. Sie benötigen ein aktuelles Gerät, um testen zu können. Überprüfen Sie den letzten Absatz der Dokumentation von Apple.

Apple-Dokument

3D-Touch wird vom Simulator nicht unterstützt

Sie können jedoch Tools von Drittanbietern verwenden, um sie auf einem Simulator zu testen, wie z. B. einem, der oben von Nicolas S hervorgehoben wurde .

Jayprakash Dubey
quelle
0

Die neueren Macbooks verfügen über ein Force-Touch-fähiges Touchpad. Ich denke, diese Optionen werden nur darin funktionieren.

atulkhatri
quelle
0

Es hat bei mir mit XCode 9 & iPhone 8 Simulator funktioniert. Gehen Sie auf Ihrem Mac zu Systemeinstellungen -> Trackpad -> Klick und haptisches Feedback erzwingen .

Geben Sie hier die Bildbeschreibung ein

Drücken Sie dann fest auf einen beliebigen Teil des iPhone-Simulators, um eine Force-Touch-Aktion auszuführen.

karthik
quelle
Ich habe das getan, aber es funktioniert immer noch nicht :( Xcode 9.4.1, iPhone X Simulator.
Supertecnoboff
1
@ Supertecnoboff Sie müssen Trackpad anstelle der Maus verwenden. Es funktioniert für mich unter Xcode 10, aber es war nicht offensichtlich, dass ich Trackpad in MacBook verwenden muss. Natürlich muss "Force Click und haptisches Feedback" aktiviert sein.
Ariel Bogdziewicz