Моделюйте силовий дотик / 3D дотик на тренажерах iPhone 6S або iPhone 6S Plus


99

Я намагаюся імітувати силовий дотик, використовуючи Xcode 7 GM на тренажері iPhone 6S або iPhone 6S Plus. Зокрема, я намагаюся імітувати натиск на піктограму тестової програми, яка реалізує ярлики додатків.

Дайте мені знати, чи є рішення для моделювання цього, я спробував довге натискання, яке симулятор Watch використовує для імітації силового дотику, не спрацював, оскільки iPhone захоплює це як жест тривалого натискання.

Оновлення: я завантажив зразок коду ViewControllerPreview з Apple. Запускаючи їх зразок програми, я бачу, що тренажер, хоча iPhone 6s, не підтримує функцію 3D / force touch. Я все ще не впевнений, чи не підтримує вона цю функцію, якби я використовував macbook із трекпадним доступом із сильним дотиком.

введіть тут опис зображення

РЕДАКТУВАННЯ: Чи може хтось із комп'ютера, що має трекпад із сильним дотиком, намагатися використовувати натиск на трекпад для імітації 3D-дотику на тренажері iPhone 6s або 6s Plus? Моя теорія полягає в тому, що ви можете, можливо, використовувати трекпад із сильним дотиком на нових MacBooks для імітації 3D дотику на нових тренажерах iPhone. Додайте коментар, зазначаючи результати, якщо ви спробуєте це, і я можу оновити публікацію.

EDIT2: Схоже, трекпад-панелі Force Touch на новіших моделях MacBook не допомагають.


1
Чи не потрібно використовувати Xcode 7.1 beta?
Якопо Пенцо

Опція відключена під час запуску за допомогою 7.1B
dezinezync

1
Схоже, на цьому є радари. openradar.appspot.com/22635686
atreat

8
Force Touch на Macbook Pro 2015 не допомагає ..
Jadar

Ви також можете використовувати це .
felixwcf

Відповіді:


74

Він каже , що тут ! внизу сторінки ....

Середовище розвитку

Xcode 7 підтримує розробку 3D Touch. Усі функції налагодження Xcode доступні для впровадження нових функцій.

Майте на увазі наступне:

З Xcode 7.0 ви повинні розробляти на пристрої, який підтримує 3D Touch. Симулятор в Xcode 7.0 не підтримує 3D Touch.

За допомогою Xcode 7.0 ви повинні реалізувати у коді свої контролери peek та pop view. Інтерфейс Builder в Xcode 7.0 не забезпечує графічну підтримку для налаштування контролерів перегляду чи переходів для 3D Touch.

Не забудьте протестувати додаток за допомогою 3D Touch як увімкненого, так і відключеного, гарантуючи, що всі функції доступні для всіх користувачів. На пристрої 3D Touch можна відключити 3D Touch у Налаштуваннях> Загальне> Доступність> 3D Touch

Тож, на жаль, виглядає так, що нам потрібно зайнятися власними пристроями для цього. :-(

РЕДИКАТИ ...

З Xcode 7.3 є спосіб зробити це, якщо трекпад вашого MacBook підтримує примусовий дотик. Дивіться відповідь від @iPrabu.


1
Просто FYI, є інструмент, який я пов’язав у своїй відповіді, який дозволяє вам імітувати примусовий дотик, щоб відобразити меню швидких дій.
Nicolas S

1
Одна дивна річ у тому, що якщо ви запускаєте тренажери 6S або 6S Plus, увімкнено апаратну опцію "Примусовий тиск". На всіх інших тренажерах це не так. Так виглядає, що вони пройшли частину шляху завдяки впровадженню 3D дотику в тренажері, але потім здалися. Час придбати новий телефон ...
Dan Loughney,

2
На пов'язаній сторінці зараз написано, що Xcode 7.1 не підтримує 3D Touch.
Ден Різ

2
Якщо говорити як QA dev ... це смокче.
Джо Сюснік

1
@LucasAzzopardi 3D touch підтримується в Xcode 7.3, тільки якщо у вас є трекпад із силовим дотиком
Stephen

64

Для тих, хто розробляє швидкі дії (ярлики додатків), ви можете використовувати цей сценарій, який дозволяє імітувати глибоке натискання програми на тренажері.

https://github.com/DeskConnect/SBShortcutMenuSimulator

Ось скріншот: введіть тут опис зображення

Для тих, хто дивиться на те, як додати дії на першому місці, є два варіанти - статичний та динамічний. Ви можете встановити лише 4 варіанти, він спочатку покаже всі статичні, а якщо є місце, покажіть динамічні.

Ось як додати статичні ярлики. Це досить просто, просто додайте кілька клавіш на головнуInfo.plist

У цьому прикладі я додаю два статичні параметри: один із значком пошуку за замовчуванням, а інший із власною іконою з каталогу ресурсів.

<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
Чудово, спасибі велике! Вам вдалося імітувати функціональність Peek і Pop?
Олексій

@Alexey поки що немає, але принаймні зараз ви можете протестувати на реальному пристрої. І, швидше за все, тренажер отримає те, що працює в наступному оновлення, опція меню вже є.
Nicolas S

Я не можу показати ярлик. Ви можете мені допомогти?
Dipen Chudasama

@DipenChudasama впевнений, я оновив свою відповідь, щоб показати вам, як додати ярлики.
Nicolas S

1
Для версій iOS вище 9.1 використовуйте вилку від PoomSmart: github.com/PoomSmart/SBShortcutMenuSimulator
thijsonline

42

З Xcode 7.3 ви можете протестувати функцію 3D сенсорного симулятора в тренажері, але лише з одним обмеженням. (Посилання на примітки до випуску Xcode7.3)

Машина (macbook / mac з трекпад), яку ви розробляєте, повинна мати можливість тривимірного дотику.

Ви можете знайти його в меню апаратного забезпечення симулятора iOS.

Коментарі Павла Алексєєва: Обов’язково ввімкніть "Прискорений натискання та швидкий зворотний зв'язок" у налаштуваннях системи → Трекпад

введіть тут опис зображення


5
Обов’язково ввімкніть "Примусовий клік та швидкий зворотний зв'язок" у налаштуваннях системи → Трекпад
Павло Алексєєв

1
В якості додаткової вимоги ви повинні використовувати останній симулятор, я спробував iOS 9.2 протягом декількох хвилин без успіху - з 9.3 це працює;)
Фредерік Вінкельсдорф

8
Протягом декількох хвилин шукав, і зрозумів, що я імітую за допомогою iPhone 6, а не 6-х, саме тому для мене кнопка була сірою
juliensaad

Він працює лише з трекпад. Якщо у вас підключена звичайна миша (не впевнена в магічній миші), ця робота не буде працювати
працює на моїх

10

Силовий тиск в iOS (наприклад, Peek & Pop) не піддається впливу Xcode 7.0, а також Xcode 7.1 Beta Simulator. Параметри сенсорного тиску актуальні лише для пристроїв watchOS в тих версіях Simulator. Якщо у вас бета-версія Xcode 7.1, ви помітите, що параметр меню фактично вимкнено.

З Xcode 7.3 та iOS 9.3 та пізнішими режимами роботи симулятора, ви можете перевірити функціональність заглянути / поп, використовуючи сильний сенсорний трекпад.


Як обчислити, чи це "Дрібний прес" чи "Глибокий прес"?
Вайбхав Джавери

9

Ви можете включити 3D Touch в тренажері. Завдяки цій бібліотеці.

  • Після його додавання За допомогою комбінації клавіш управління, управління та зсуву 3D Touch можна ввімкнути.

  • Не забудьте додати бібліотеку лише в середовищі налагодження . Виключіть його із середовища випуску .


Це тільки для peep та pop чи для домашніх ярликів?
RileyDev

Так, це лише для peep and pop. Ви можете використовувати це для домашніх ярликів.
sanky009

Привіт,: S! Функція Peek & Pop не працює на Simulator 6s плюс із Xcode 7.2, коли я триваліше натискаю та використовую комбінацію команд, керування та зсуву ... ви можете мені сказати, чому? Спасибі
А. Треджо

@ sanky009: Функція Peek & Pop не працює на Simulator 6s плюс із Xcode 7.2, коли я довше натискаю та використовую комбінацію команд, керування та зсуву ...
Bhoomi Jagani

2

Для торкання "Швидкі дії на головному екрані" я зробив наступне:

  • створив об’єкт UIMutableApplicationShortcutItem

  • поставити його в запускOptions для 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 :)


Я зробив щось подібне, щоб перевірити це, але було б непогано зробити повний тест. Існує кілька способів введення програми через ярлик програми. Один із способів - це коли програма працює у фоновому режимі, і ви передбачте її за допомогою ярлика програми.
Kris Gellci

2

Тут є трохи коду, який дозволяє перевірити 3D Touch peek & pop у тренажері. Майте на увазі, що це код для iOS 9.0, а деякі внутрішні / приватні методи були змінені в 9.1, тому вам потрібно буде внести кілька незначних змін (Підказка: слово "Позиція" змінилося на "Місцезнаходження" в одному з назви методів) .

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

І це, і https://github.com/DeskConnect/SBShortcutMenuSimulator, згадані в інших відповідях, дозволяють перевірити наявність 3D Touch без фактичного пристрою досить грамотно.


1

Офіційно Xcode 7.1 підтримує 3D дотик, але не на тренажері. Для тестування вам потрібно мати фактичний пристрій. Перевірте останній параграф документації від Apple.

Документ Apple

3D-дотик не підтримується на тренажері

Однак ви можете скористатися сторонніми інструментами для тестування на тренажері, такому, як той, який виділяється Ніколясом S вище.


0

Нові комп’ютери мають сенсорну панель з підтримкою примусового дотику. Я думаю, що ці варіанти будуть працювати лише в цьому.


0

Він працював для мене з симулятором XCode 9 & iphone 8. У своєму mac перейдіть до системних уподобань -> Trackpad -> Увімкнути натискання та прискорений зворотній зв'язок .

введіть тут опис зображення

Потім міцно натисніть на будь-яку частину тренажера iphone, щоб виконати дію з силовим дотиком.


Я це зробив, але це все ще не працює :( Xcode 9.4.1, симулятор iPhone X.
Supertecnoboff

1
@Supertecnoboff Ви повинні використовувати трекпад замість миші. Це працює для мене на Xcode 10, але це було не очевидно, що я повинен використовувати Trackpad в MacBook. Зрозуміло, потрібно перевірити "Прискорений натиск та швидкий зворотний зв'язок".
Аріель Богдзевич
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.