iPhone 6SまたはiPhone 6S Plusシミュレーターでのフォースタッチ/ 3Dタッチのシミュレーション


99

iPhone 6SまたはiPhone 6S PlusシミュレーターでXcode 7 GMを使用してフォースタッチをシミュレートしようとしています。特に、アプリケーションショートカットを実装しているテストアプリのアイコンにタッチする力をシミュレートしようとしています。

これをシミュレートする解決策があるかどうかを知らせてください、私はウォッチシミュレーターがフォースタッチをシミュレートするために使用する長押しを試みましたが、iPhoneが長押しジェスチャーとしてそれをキャプチャしたため機能しませんでした。

更新:アップルからViewControllerPreviewサンプルコードをダウンロードしました。サンプルアプリケーションを実行すると、シミュレータはiPhone 6sですが、3D /強制タッチ機能をサポートしていないことがわかります。フォースタッチ対応のトラックパッドを備えたMacBookを使用する場合、この機能がサポートされるかどうかはまだわかりません。

ここに画像の説明を入力してください

編集:フォースタッチトラックパッドを搭載したMacbookを持っている人は、トラックパッドのフォースタッチを使用して、iPhone 6sまたは6s Plusシミュレーターで3Dタッチをシミュレートできますか?私の理論では、新しいMacBookでフォースタッチトラックパッドを使用して、新しいiPhoneシミュレーターで3Dタッチをシミュレートできると思います。試してみたら結果を記したコメントを追加してください。投稿を更新できます。

EDIT2:新しいモデルのMacbook ProのForce Touchトラックパッドは役に立たないようです。


1
Xcode 7.1ベータを使用する必要はありませんか?
Jacopo Penzo

7.1Bを使用して実行すると、オプションが無効になる
dezinezync

1
これにはレーダーがあるようです。openradar.appspot.com/22635686
atreat

8
2015 Macbook ProのForce Touchは役に立ちません..
Jadar

これを使用することも検討できます。
felixwcf

回答:


74

ここに書いてあります!ページの下部...

開発環境

Xcode 7は3D Touch開発をサポートしています。Xcodeのすべてのデバッグ機能は、新機能の実装に使用できます。

次の点に注意してください。

Xcode 7.0では、3D Touchをサポートするデバイスで開発する必要があります。Xcode 7.0のシミュレーターは3D Touchをサポートしていません。

Xcode 7.0では、コードにピークおよびポップビューコントローラーを実装する必要があります。Xcode 7.0のInterface Builderは、3D Touchのビューコントローラーまたはトランジションを構成するためのグラフィカルサポートを提供していません。

3D Touchを有効または無効にしてアプリをテストし、すべてのユーザーがすべての機能を使用できることを確認してください。3D Touchデバイスでは、[設定]> [一般]> [ユーザー補助]> [3Dタッチ]で3Dタッチを無効にできます

そのため、残念ながら、実際のデバイスに手を加えて操作する必要があるようです。:-(

編集...

Xcode 7.3以降では、MacBookのトラックパッドが強制タッチをサポートしている場合にこれを行う方法があります。@iPrabuの回答を参照してください。


1
参考までに、私の回答にリンクしたツールがあります。これを使用すると、強制タッチをエミュレートしてクイックアクションメニューを表示できます。
Nicolas S

1
奇妙な点の1つは、6Sまたは6S Plusシミュレーターを実行すると、ハードウェアオプション「Force Touch Pressure」が有効になることです。他のすべてのシミュレータではそうではありません。そのため、彼らはシミュレーターで3Dタッチを実装する過程に参加したように見えましたが、その後あきらめました。新しい電話を購入する時間...
Dan Loughney、2015

2
リンク先のページに、Xcode 7.1は3D Touchをサポートしていないと表示されます。
Dan Reese

2
QA開発者と言えば...
Joe Susnick、2016年

1
@LucasAzzopardi 3Dタッチは、フォースタッチのトラックパッドがある場合にのみ、Xcode 7.3でサポートされます
Stephen

64

クイックアクション(アプリのショートカット)を開発しているユーザーは、このスクリプトを使用して、シミュレーターでアプリのディーププレスをシミュレートできます。

https://github.com/DeskConnect/SBShortcutMenuSimulator

これがスクリーンショットです: ここに画像の説明を入力してください

そもそもアクションを追加する方法を見ている人のために、静的と動的の2つのオプションがあります。設定できるオプションは4つだけです。最初にすべての静的オプションが表示され、スペースがある場合は動的オプションが表示されます。

静的ショートカットを追加する方法は次のとおりです。それはかなり簡単です、メインにいくつかのキーを追加するだけですInfo.plist

この例では、2つの静的オプションを追加します。1つはデフォルトの検索アイコンを使用し、もう1つはアセットカタログのカスタムアイコンを使用します。

<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
ありがとうございます。ピークとポップの機能をシミュレートできましたか?
Alexey

@Alexeyはまだいいえですが、少なくとも実際のデバイスでテストできます。そして、ほとんどの場合、シミュレーターは次のアップデートで機能します。メニューオプションはすでにそこにあります。
Nicolas S

ショートカットアイテムを表示できません。助けてください。
Dipen Chudasama 2015

@DipenChudasama確かに、ショートカットを追加する方法を示すために私の答えを更新しました。
Nicolas S

1
9.1を超えるiOSバージョンの場合、PoomSmartのフォークを使用します:github.com/PoomSmart/SBShortcutMenuSimulator
thijsonline

42

Xcode 7.3では、シミュレータで3Dタッチ機能をテストできますが、制約は1つだけです。(Xcode7.3リリースノートリファレンス)

開発中のマシン(MacBook / Macとトラックパッド)には、3Dタッチ機能が必要です。

iOSシミュレータのハードウェアメニューにあります。

Pavel Alexeevからのコメント:[システム環境設定]→[トラックパッド]で「強制クリックと触覚フィードバック」を必ず有効にしてください。

ここに画像の説明を入力してください


5
システム環境設定→トラックパッド
Pavel Alexeevの

1
追加の要件として、最新のシミュレーターを使用する必要があります。iOS9.2を数分間試しましたが、成功しませんでした
。9.3

8
数分検索したところ、6秒ではなくiPhone 6を使用してシミュレーションしていることが
わかり

トラックパッドでのみ機能します。通常のマウス(マジックマウスについては不明)が接続されている場合は機能しません
Works On Mine

10

iOSのフォースプレッシャー(例:Peek&Pop)は、Xcode 7.0やXcode 7.1 Betaのシミュレータでは公開されません。圧力タッチオプションは、これらのバージョンのシミュレーターのwatchOSデバイスにのみ関連します。Xcode 7.1ベータ版を使用している場合は、メニューオプションが実際には無効になっていることがわかります。

Xcode 7.3およびiOS 9.3以降のシミュレータランタイムでは、フォースタッチトラックパッドを使用してピーク/ポップ機能をテストできます。


浅いプレスか深いプレスかを計算する方法は?
Vaibhav Jhaveri 2017

9

シミュレータで3D Touchを有効にできます。このライブラリに感謝します。

  • 追加後、コマンド、コントロール、シフトキーの組み合わせを使用して、3D Touchを有効にできます。

  • デバッグ環境でのみライブラリを追加することを忘れないでください。リリース環境から除外します。


それはのぞき見とポップ、または家のショートカットのためだけですか?
RileyDev 2016年

はい、のぞき見とポップのみです。これをホームショートカットに使用できます。
sanky009 2016年

こんにちは:S!Xcode 7.2のSimulator 6s plusでPeek&Pop機能が機能しないのは、長押ししてコマンド、コントロール、シフトの組み合わせを使用した場合です。理由を教えてください。ありがとう
A. Trejo

@ sanky009:長く押すとコマンド、コントロール、シフトの組み合わせを使用すると、Xcode 7.2のシミュレータ6sプラスでピーク&ポップ機能が動作しません...
Bhoomi Jagani

2

「ホーム画面のクイックアクション」をタッチするには、次のようにしました。

  • UIMutableApplicationShortcutItemのオブジェクトを作成しました

  • それをlaunchOptionsに入れて UIApplicationLaunchOptionsShortcutItemKey

  • 以上です

ユーザーがアプリアイコンを3dタッチしたようです。

    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

(アプリケーション:didFinishLaunchingWithOptions :)


私はそれをテストするために同様のことをしましたが、完全なテストをするのは素晴らしいことです。アプリのショートカットを介してアプリケーションに入る方法はいくつかあります。1つの方法は、アプリケーションがバックグラウンドで実行されており、アプリのショートカットを使用してフォアグラウンドにある場合です。
Kris Gellci

2

シミュレーターで3D Touchのプレビューとポップをテストできるコードがここにあります。これはiOS 9.0のコードであり、内部/プライベートメソッドの一部は9.1で変更されているため、いくつかの小さな変更を加える必要があることに注意してください(ヒント:単語の「位置」がメソッド名)

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

これと、他の回答で言及されているhttps://github.com/DeskConnect/SBShortcutMenuSimulatorの両方を使用すると、実際のデバイスがなくても3D Touchを十分にテストできます。


1

Xcode 7.1は正式には3Dタッチをサポートしていますが、シミュレーターではサポートしていません。テストするには実際のデバイスが必要です。Appleからのドキュメントの最後の段落を確認してください。

アップルドキュメント

3Dタッチはシミュレーターでサポートされていません

ただし、サードパーティツールを使用して、上記のNicolas Sによって強調表示されているようなシミュレータでテストすることができます。


0

新しいMacBookには、強制タッチ対応のタッチパッドが搭載されています。これらのオプションはその中でのみ機能すると思います。


0

XCode 9とiphone 8のシミュレーターで動作しました。Macで、システム環境設定->トラックパッド-> [強制クリックと触覚フィードバックを有効にする]に移動します

ここに画像の説明を入力してください

次に、iPhoneシミュレータの任意の部分をしっかりと押して、フォースタッチアクションを実行します。


私はこれを行いましたが、それでも機能しません:( Xcode 9.4.1、iPhone Xシミュレーター
Supertecnoboff

1
@Supertecnoboffマウスの代わりにトラックパッドを使用する必要があります。Xcode 10では動作しますが、MacBookでトラックパッドを使用する必要があることは明らかではありませんでした。もちろん「強制クリックと触覚フィードバック」をチェックする必要があります。
Ariel Bogdziewicz
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.