Simulasikan sentuhan paksa / sentuhan 3D pada simulator iPhone 6S atau iPhone 6S Plus

99

Saya mencoba mensimulasikan sentuhan paksa menggunakan Xcode 7 GM pada simulator iPhone 6S atau iPhone 6S Plus. Secara khusus, saya mencoba mensimulasikan sentuhan paksa pada ikon aplikasi uji yang menerapkan Pintasan Aplikasi.

Beri tahu saya jika ada solusi untuk mensimulasikan ini, saya mencoba pers lama yang digunakan simulator Tontonan untuk mensimulasikan sentuhan paksa, tidak berfungsi karena iPhone menangkapnya sebagai gerakan tekan lama.

Pembaruan: Saya mengunduh kode Contoh ViewControllerPreview dari Apple. Menjalankan aplikasi sampel mereka, saya melihat bahwa simulator, meskipun iPhone 6s, tidak mendukung fitur 3D / force touch. Saya masih tidak yakin apakah itu akan mendukung fitur jika saya akan menggunakan macbook dengan trackpad yang diaktifkan dengan sentuhan paksa.

masukkan deskripsi gambar di sini

EDIT: Dapatkah seseorang dengan macbook yang memiliki trackpad sentuh paksa mencoba menggunakan sentuhan paksa pada trackpad untuk mensimulasikan sentuhan 3D pada simulator iPhone 6s atau 6s Plus? Teori saya adalah bahwa Anda mungkin dapat menggunakan trackpad force touch pada MacBook baru untuk mensimulasikan sentuhan 3D pada simulator iPhone baru. Tambahkan komentar yang mencatat hasil jika Anda mencobanya dan saya dapat memperbarui posting.

EDIT2: Tampaknya trackpads Force Touch pada model macbook pro yang lebih baru tidak membantu.

Kris Gellci
sumber
1
Apakah Anda tidak harus menggunakan Xcode 7.1 beta?
Jacopo Penzo
Opsi dinonaktifkan saat dijalankan menggunakan 7.1B
dezinezync
1
Sepertinya ada radar di sini. openradar.appspot.com/22635686
atreat
8
Force Touch pada Macbook Pro 2015 tidak membantu ..
Jadar
Anda dapat mempertimbangkan untuk menggunakan ini juga.
felixwcf

Jawaban:

74

Di sini tertulis ! di bagian bawah halaman ....

Pengembangan lingkungan

Xcode 7 mendukung pengembangan 3D Touch. Semua fitur debugging dari Xcode tersedia untuk mengimplementasikan fitur-fitur baru.

Perhatikan hal-hal berikut:

Dengan Xcode 7.0 Anda harus mengembangkan perangkat yang mendukung 3D Touch. Simulator di Xcode 7.0 tidak mendukung 3D Touch.

Dengan Xcode 7.0 Anda harus menerapkan pengontrol tampilan sekilas dan pop dalam kode. Interface Builder di Xcode 7.0 tidak memberikan dukungan grafis untuk mengkonfigurasi pengontrol tampilan atau transisi untuk 3D Touch.

Pastikan untuk menguji aplikasi Anda dengan 3D Touch yang diaktifkan dan dinonaktifkan, memastikan bahwa semua fitur tersedia untuk semua pengguna. Pada perangkat 3D Touch, Anda dapat menonaktifkan 3D Touch di Pengaturan> Umum> Aksesibilitas> 3D Touch

Jadi sayangnya sepertinya kita perlu mendapatkan perangkat yang sebenarnya untuk melakukannya. :-(

EDIT .....

Mulai Xcode 7.3, ada cara untuk melakukan ini jika trackpad MacBook Anda mendukung sentuhan paksa. Lihat jawaban oleh @iPrabu.

kaylanx.dll
sumber
1
FYI saja, ada alat yang saya tautkan di jawaban saya, yang memungkinkan Anda meniru sentuhan paksa untuk menampilkan menu Tindakan Cepat.
Nicolas S
1
Satu keanehan adalah jika Anda menjalankan simulator 6S atau 6S Plus, opsi Hardware "Force Touch Pressure" diaktifkan. Pada semua simulator lainnya, tidak demikian. Jadi sepertinya mereka telah berhasil menerapkan sentuhan 3D di simulator, tetapi kemudian menyerah. Waktu untuk membeli telepon baru ...
Dan Loughney
2
Halaman yang ditautkan sekarang mengatakan Xcode 7.1 tidak mendukung 3D Touch.
Dan Reese
2
Berbicara sebagai pengembang QA ... ini menyebalkan.
Joe Susnick
1
@LucasAzzopardi 3D touch didukung di Xcode 7.3 hanya jika Anda memiliki trackpad dengan sentuhan paksa
Stephen
64

Bagi mereka yang mengembangkan Tindakan Cepat (Pintasan Aplikasi), Anda dapat menggunakan skrip ini yang memungkinkan Anda untuk mensimulasikan penekanan yang dalam pada aplikasi di simulator.

https://github.com/DeskConnect/SBShortcutMenuSimulator

Berikut tangkapan layarnya: masukkan deskripsi gambar di sini

Bagi mereka yang mencari cara menambahkan tindakan di tempat pertama, ada dua opsi, Statis dan Dinamis. Anda hanya dapat mengatur 4 opsi, pertama-tama akan menampilkan semua yang Statis, dan jika ada ruang, tampilkan yang Dinamis.

Berikut cara menambahkan pintasan Statis. Caranya cukup mudah, cukup tambahkan beberapa tombol di bagian utamaInfo.plist

Dalam contoh ini saya akan menambahkan dua opsi statis satu dengan ikon Pencarian Default, dan yang lainnya dengan ikon kustom dari katalog aset.

<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
sumber
1
Bagus, terima kasih banyak! Sudahkah Anda berhasil mensimulasikan fungsionalitas Peek dan Pop?
Alexey
@Alexey belum tidak, tapi setidaknya Anda sekarang dapat menguji di perangkat nyata. Dan kemungkinan besar simulator akan membuatnya berfungsi di pembaruan berikut, opsi menu sudah ada.
Nicolas S
Saya tidak dapat menampilkan Item pintasan, bisakah Anda membantu saya ..?
Dipen Chudasama
@DipenChudasama yakin, saya telah memperbarui jawaban saya untuk menunjukkan cara menambahkan pintasan.
Nicolas S
1
Untuk iOS versi di atas 9.1, gunakan fork dari PoomSmart: github.com/PoomSmart/SBShortcutMenuSimulator
thijsonline
42

Dengan Xcode 7.3 Anda dapat menguji fitur sentuhan 3D di simulator tetapi hanya dengan satu kendala. (Referensi catatan rilis Xcode7.3)

Mesin (macbook / mac dengan trackpad) yang Anda kembangkan harus memiliki kemampuan sentuh 3D.

Anda dapat menemukannya di bawah menu Hardware simulator iOS.

Komentar dari Pavel Alexeev: Pastikan untuk mengaktifkan "Force Click and haptic feedback" di System Preferences → Trackpad

masukkan deskripsi gambar di sini

ipraba
sumber
5
Pastikan untuk mengaktifkan "Paksa Klik dan umpan balik haptic" di System Preferences → Trackpad
Pavel Alexeev
1
Sebagai persyaratan tambahan, Anda harus menggunakan Simulator terbaru, saya mencoba iOS 9.2 selama beberapa menit tanpa hasil - dengan 9.3 berfungsi;)
Frederik Winkelsdorf
8
Mencari beberapa menit dan akhirnya menyadari bahwa saya melakukan simulasi menggunakan iPhone 6 dan bukan 6s, itulah sebabnya tombolnya berwarna abu-abu untuk saya
juliensaad
Ini hanya bekerja dengan trackpad. Jika seseorang memiliki mouse biasa (tidak yakin tentang mouse ajaib) yang terhubung, itu tidak akan berfungsi
Works On Mine
10

Tekanan paksa di iOS (misalnya: Peek & Pop) tidak diekspos melalui Xcode 7.0 atau Xcode 7.1 Beta's Simulator. Opsi sentuhan tekanan hanya relevan untuk perangkat watchOS di versi Simulator tersebut. Jika Anda memiliki Xcode 7.1 beta, Anda akan melihat bahwa opsi menu sebenarnya dinonaktifkan.

Dengan runtime simulator Xcode 7.3 dan iOS 9.3 dan yang lebih baru, Anda dapat menguji fungsionalitas mengintip / pop menggunakan trackpad sentuh paksa.

Jeremy Huddleston Sequoia
sumber
Bagaimana cara menghitung apakah itu Shallow Press atau Deep Press?
Vaibhav Jhaveri
9

Anda dapat mengaktifkan 3D Touch di simulator. Terima kasih untuk perpustakaan ini .

  • Setelah menambahkannya Menggunakan kombinasi tombol perintah, kontrol, dan shift 3D Touch dapat diaktifkan.

  • Jangan lupa untuk menambahkan perpustakaan hanya di lingkungan Debug . Kecualikan dari lingkungan Rilis .

sanky009
sumber
Apakah itu hanya untuk mengintip dan pop atau juga untuk pintasan rumah?
RileyDev
Ya itu hanya untuk mengintip dan pop. Anda dapat menggunakan ini untuk pintasan rumah.
sanky009
Hai,: S! fungsi Peek & Pop tidak berfungsi pada Simulator 6s plus dengan Xcode 7.2 ketika saya menekan lebih lama dan menggunakan kombinasi perintah, kontrol, dan shift ... dapatkah Anda memberi tahu saya alasannya? Terima kasih
A. Trejo
@ sanky009: Fungsi Peek & Pop tidak berfungsi pada Simulator 6s plus dengan Xcode 7.2 ketika saya menekan lebih lama dan menggunakan kombinasi perintah, kontrol, dan shift ...
Bhoomi Jagani
2

Untuk "Tindakan Cepat Layar Utama", saya melakukan hal berikut:

  • membuat objek UIMutableApplicationShortcutItem

  • masukkan ke launchOptions ke UIApplicationLaunchOptionsShortcutItemKey

  • dan hanya itu

Sepertinya pengguna melakukan sentuhan 3d pada ikon aplikasi.

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

Andrew
sumber
Saya melakukan sesuatu yang mirip untuk mengujinya tetapi alangkah baiknya melakukan tes penuh. Ada beberapa cara untuk masuk ke aplikasi melalui pintasan aplikasi. Salah satu caranya adalah saat aplikasi berjalan di latar belakang dan Anda latar depan melalui pintasan aplikasi.
Kris Gellci
2

Ada sedikit kode di sini yang memungkinkan Anda menguji 3D Touch peek & pop di simulator. Ingatlah ini adalah kode untuk iOS 9.0, dan beberapa metode internal / privat telah berubah di 9.1 jadi Anda harus membuat beberapa perubahan kecil (Petunjuk: kata 'Posisi' diubah menjadi 'Lokasi' di salah satu nama metode) .

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

Baik ini dan https://github.com/DeskConnect/SBShortcutMenuSimulator yang disebutkan dalam jawaban lain memungkinkan Anda menguji 3D Touch tanpa perangkat sebenarnya dengan cukup kompeten.

Jordan Smith
sumber
1

Secara resmi Xcode 7.1 mendukung sentuhan 3D tetapi tidak pada simulator. Anda harus memiliki perangkat yang sebenarnya untuk mengujinya. Periksa paragraf terakhir dokumentasi dari Apple.

Dokumen Apple

Sentuhan 3D tidak didukung di simulator

Namun, Anda dapat menggunakan alat pihak ketiga untuk mengujinya di simulator seperti yang disorot oleh Nicolas S di atas.

Jayprakash Dubey
sumber
0

Macbook yang lebih baru memiliki panel sentuh berkemampuan sentuh. Saya pikir opsi ini hanya akan berfungsi di sana.

atulkhatri
sumber
0

Ini bekerja untuk saya dengan simulator XCode 9 & iphone 8. Di mac Anda, buka preferensi sistem -> Trackpad -> Aktifkan Klik paksa dan umpan balik haptic .

masukkan deskripsi gambar di sini

Kemudian tekan dengan kuat pada bagian mana pun dari simulator iphone untuk melakukan aksi sentuhan paksa.

karthik
sumber
Saya melakukan ini, tetapi masih tidak berhasil :( Xcode 9.4.1, simulator iPhone X.
Supertecnoboff
1
@Supertecnoboff Anda harus menggunakan trackpad, bukan mouse. Ini berfungsi untuk saya di Xcode 10, tetapi tidak jelas saya harus menggunakan Trackpad di MacBook. Tentu saja "Force Click dan haptic feedback" harus dicentang.
Ariel Bogdziewicz