İPhone 6S veya iPhone 6S Plus simülatörlerinde force touch / 3D touch simüle edin


99

İPhone 6S veya iPhone 6S Plus simülatöründe Xcode 7 GM kullanarak güçlü bir dokunuşu simüle etmeye çalışıyorum. Özellikle, Uygulama Kısayollarını uygulayan test uygulamasının simgesine kuvvet dokunuşunu simüle etmeye çalışıyorum.

Bunu simüle edecek bir çözüm olup olmadığını bana bildirin, Watch simülatörünün kuvvet dokunuşunu simüle etmek için kullandığı uzun basmayı denedim, iPhone onu uzun bir basma hareketi olarak yakaladığı için çalışmadı.

Güncelleme: ViewControllerPreview Örnek kodunu Apple'dan indirdim. Örnek uygulamalarını çalıştırırken, simülatörün bir iPhone 6s olmasına rağmen, 3D / force touch özelliğini desteklemediğini görüyorum. Force touch özellikli bir trackpad ile bir macbook kullanıyor olsaydım bu özelliği destekleyip desteklemeyeceğinden hala emin değilim.

görüntü açıklamasını buraya girin

DÜZENLEME: Force touch trackpad'e sahip bir macbook'a sahip biri, iPhone 6s veya 6s Plus simülatöründe 3D dokunuşu simüle etmek için izleme dörtgenindeki kuvvetli dokunuşu kullanmaya çalışabilir mi? Teorim, yeni iPhone simülatörlerinde 3B dokunuşu simüle etmek için yeni MacBook'lardaki güçlü dokunma izleme panelini kullanabileceğinizdir. Eğer denerseniz sonuçları not eden bir yorum ekleyin ve ben de gönderiyi güncelleyebilirim.

DÜZENLEME2: Yeni model macbook profesyonellerinde Force Touch izleme dörtgenlerinin yardımcı olmadığı görülüyor.


1
Xcode 7.1 beta kullanmanız gerekmiyor mu?
Jacopo Penzo

7.1B
dezinezync

1
Görünüşe göre bu konuda bir radar var. openradar.appspot.com/22635686
atreat

8
2015 Macbook Pro'da Force Touch yardımcı olmuyor ..
Jadar

Kullanılacak düşünebilirsiniz bu da.
felixwcf

Yanıtlar:


74

Diyor burada ! sayfanın sonunda....

Geliştirme Ortamı

Xcode 7, 3D Touch geliştirmeyi destekler. Xcode'un tüm hata ayıklama özellikleri, yeni özellikleri uygulamak için kullanılabilir.

Aşağıdakileri aklınızda bulundurun:

Xcode 7.0 ile, 3D Touch'ı destekleyen bir cihaz üzerinde geliştirme yapmalısınız. Xcode 7.0'daki simülatör, 3D Touch'ı desteklemez.

Xcode 7.0 ile gözetleme ve pop görünüm denetleyicilerinizi kodda uygulamanız gerekir. Xcode 7.0'daki Arabirim Oluşturucu, 3D Touch için görünüm denetleyicileri veya geçişleri yapılandırmak için grafik desteği sağlamaz.

Uygulamanızı hem etkin hem de devre dışı olarak 3D Touch ile test ettiğinizden ve tüm özelliklerin tüm kullanıcılar tarafından kullanılabildiğinden emin olun. Bir 3D Touch cihazında, 3D Touch'ı Ayarlar> Genel> Erişilebilirlik> 3D Touch'tan devre dışı bırakabilirsiniz.

Maalesef bunu yapmak için gerçek cihazlara el atmamız gerekiyor gibi görünüyor. :-(

DÜZENLE.....

Xcode 7.3'ten itibaren, MacBook'unuzun izleme dörtgeni zorla dokunmayı destekliyorsa bunu yapmanın bir yolu vardır. @İPrabu tarafından verilen cevaba bakın.


1
Bilginize, cevabıma bağladığım ve Hızlı İşlemler menüsünü göstermek için kuvvet dokunuşunu taklit etmenizi sağlayan bir araç var.
Nicolas S

1
Bir tuhaflık, 6S veya 6S Plus simülatörlerini çalıştırırsanız Donanım seçeneğinin "Dokunma Basıncını Zorla" nın etkin olmasıdır. Diğer tüm simülatörlerde öyle değil. Simülatörde 3B dokunuşu uygulayarak yolun bir parçası gibi görünüyorlar, ancak sonra pes ettiler. Yeni bir telefon alma zamanı ...
Dan Loughney

2
Bağlantılı sayfa artık Xcode 7.1'in 3D Touch'ı desteklemediğini söylüyor.
Dan Reese

2
Bir QA geliştiricisi olarak konuşmak ... bu berbat.
Joe Susnick

1
@LucasAzzopardi 3D dokunmatik Eğer kuvvet dokunuşla bir dokunmatik alan sahipseniz Xcode 7.3 desteklenir
Stephen

64

Hızlı Eylemler (Uygulama Kısayolları) geliştirenler için, simülatördeki bir uygulamaya derin bir basış simülasyonu yapmanızı sağlayan bu komut dosyasını kullanabilirsiniz.

https://github.com/DeskConnect/SBShortcutMenuSimulator

İşte bir ekran görüntüsü: görüntü açıklamasını buraya girin

İlk etapta eylemleri nasıl ekleyeceğine bakanlar için Statik ve Dinamik olmak üzere iki seçenek var. Yalnızca 4 seçenek ayarlayabilirsiniz, önce tüm Statik olanları gösterir ve alan varsa Dinamik olanları gösterir.

Statik kısayolların nasıl ekleneceği aşağıda açıklanmıştır. Oldukça kolay, sadece ana kısma bazı anahtarlar ekleyinInfo.plist

Bu örnekte, biri Varsayılan Arama simgesiyle, diğeri varlık kataloğundan özel simgeyle iki statik seçenek ekleyeceğim.

<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
Harika, çok teşekkürler! Peek ve Pop işlevselliğini simüle etmeyi başardınız mı?
Alexey

@Alexey henüz hayır, ama en azından artık gerçek cihazda test edebilirsiniz. Ve büyük olasılıkla simülatör bunu aşağıdaki güncellemede çalıştıracak, menü seçeneği zaten orada.
Nicolas S

Kısayol öğesini gösteremiyorum lütfen bana yardım eder misiniz ..?
Dipen Chudasama

@DipenChudasama elbette, kısayolları nasıl ekleyeceğinizi göstermek için cevabımı güncelledim.
Nicolas S

1
9.1'in üzerindeki iOS sürümleri için PoomSmart'ın çatalı kullanın: github.com/PoomSmart/SBShortcutMenuSimulator
thijsonline

42

Xcode 7.3 ile 3D dokunma özelliğini simülatörde ancak tek bir kısıtlama ile test edebilirsiniz. (Xcode7.3 sürüm notları referansı)

Geliştirdiğiniz makine (izleme paneline sahip macbook / mac) 3B dokunma özelliğine sahip olmalıdır.

Bunu iOS simülatörü Donanım menüsünde bulabilirsiniz.

Pavel Alexeev'in yorumları: Sistem Tercihleri ​​→ İzleme Dörtgeni'nde "Zorla Tıklama ve dokunsal geri bildirimi" etkinleştirdiğinizden emin olun

görüntü açıklamasını buraya girin


5
Sistem Tercihleri ​​→ İzleme Paneli
Pavel Alexeev,

1
Ek bir gereksinim olarak en son Simülatörü kullanmanız gerekir, iOS
9.2'yi

8
Birkaç dakika aradım ve bir iPhone 6 kullanarak simülasyon yaptığımı fark ettim, 6s değil, bu yüzden düğme benim için
griydi

Yalnızca izleme paneli ile çalışır. Bağlanan normal bir fare varsa (sihirli fare hakkında emin değil), bu işe yaramaz
Works On Mine

10

İOS'taki kuvvet basıncı (örneğin: Peek & Pop), Xcode 7.0 veya Xcode 7.1 Beta'nın Simülatörü aracılığıyla açığa çıkmaz. Basınçla dokunma seçenekleri yalnızca Simulator'un bu sürümlerindeki watchOS cihazları için geçerlidir. Xcode 7.1 beta sürümüne sahipseniz, menü seçeneğinin aslında devre dışı olduğunu fark edeceksiniz.

Xcode 7.3 ve iOS 9.3 ve sonraki simülatör çalışma süreleri ile, bir force touch trackpad kullanarak gözetleme / pop işlevini test edebilirsiniz.


Shallow Press mi yoksa Deep Press mi olduğu nasıl hesaplanır?
Vaibhav Jhaveri

9

3D Touch'ı simülatörde etkinleştirebilirsiniz. Bu kütüphane sayesinde .

  • Ekledikten sonra Komut, kontrol ve shift tuşlarının bir kombinasyonu kullanılarak 3D Touch etkinleştirilebilir.

  • Sadece Debug ortamında kütüphane eklemeyi unutmayınız . Yayın ortamından hariç tutun .


Bu sadece peep ve pop için mi yoksa ev kısayolları için mi?
RileyDev

Evet, sadece dikizlemek ve pop yapmak için. Sen kullanabilirsiniz Bu ev kısayollar için.
sanky009

Merhaba: S! Peek & Pop işlevi, Xcode 7.2 ile birlikte Simulator 6s plus üzerinde çalışmıyor, daha uzun süre bastığımda ve komut, kontrol ve vites kombinasyonunu kullandığımda ... nedenini bana söyleyebilir misin? Teşekkürler
A. Trejo

@ sanky009: Peek & Pop işlevi, daha uzun basıldığında ve komut, kontrol ve vites kombinasyonunu kullandığımda Xcode 7.2 ile Simulator 6s plus üzerinde çalışmıyor ...
Bhoomi Jagani

2

"Ana Ekran Hızlı İşlemler" seçeneğine dokunmak için aşağıdakileri yaptım:

  • bir UIMutableApplicationShortcutItem nesnesi oluşturdu

  • lansmana koy UIApplicationLaunchOptionsShortcutItemKey

  • ve bu kadar

Görünüşe göre kullanıcı, uygulama simgesine 3B dokunuşunu yapmış.

    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

(uygulama: didFinishLaunchingWithOptions :)


Test etmek için benzer bir şey yaptım ama tam testi yapmak güzel olurdu. Bir uygulama kısayolu aracılığıyla uygulamaya girmenin birkaç yolu vardır. Bunun bir yolu, uygulamanın arka planda çalıştığı ve uygulama kısayolu aracılığıyla ön plana çıkardığınız zamandır.
Kris Gellci

2

Simülatörde 3D Touch peek & pop'u test etmenizi sağlayan bir miktar kod burada. Bunun iOS 9.0 için kod olduğunu ve bazı dahili / özel yöntemlerin 9.1'de değiştiğini, bu nedenle birkaç küçük değişiklik yapmanız gerekeceğini unutmayın (İpucu: 'Konum' kelimesi, yöntem adları) .

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

Hem bu hem de diğer yanıtlarda bahsedilen https://github.com/DeskConnect/SBShortcutMenuSimulator , gerçek bir cihaz olmadan oldukça yetkin bir şekilde 3D Touch test etmenize olanak tanır.


1

Resmi olarak Xcode 7.1, 3D dokunuşu destekler ancak simülatörde desteklenmez. Test etmek için gerçek cihaza sahip olmanız gerekir. Apple'ın sunduğu belgelerin son paragrafına bakın .

Apple Belgesi

Simülatörde 3D dokunma desteklenmiyor

Ancak, yukarıda Nicolas S tarafından vurgulanan bir simülatörde test etmek için üçüncü taraf araçlarını kullanabilirsiniz .


0

Yeni macbook'larda force-touch özellikli dokunmatik yüzey bulunuyor. Bence bu seçenekler sadece bunda işe yarayacak.


0

Benim için XCode 9 ve iphone 8 simülatörü ile çalıştı. Mac'inizde sistem tercihine gidin -> İzleme Paneli -> Zorla tıklama ve dokunsal geri bildirimi etkinleştirin .

görüntü açıklamasını buraya girin

Ardından, zorla dokunma eylemi gerçekleştirmek için iphone simülatörünün herhangi bir bölümüne sıkıca bastırın.


Bunu yaptım ama yine de çalışmıyor :( Xcode 9.4.1, iPhone X simülatörü.
Supertecnoboff

1
@Supertecnoboff Fare yerine izleme dörtgenini kullanmalısınız. Benim için Xcode 10'da çalışıyor, ancak MacBook'ta Trackpad kullanmam gerektiği açık değildi. Elbette "Force Click ve dokunsal geribildirim" kontrol edilmelidir.
Ariel Bogdziewicz
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.