Имитация силы касания /3D касания на симуляторах iPhone 6S или iPhone 6S Plus
Я пытаюсь имитировать силовое прикосновение, используя Xcode 7 GM на симуляторе iPhone 6S или iPhone 6S Plus. В частности, я пытаюсь имитировать силовое прикосновение к значку тестового приложения, которое реализует ярлыки приложений.
Сообщите мне, если есть решение для имитации этого, я пробовал длительное нажатие, которое симулятор Watch использует для имитации силового прикосновения, не работал, поскольку iPhone фиксирует его как длинный жест нажатия.
Обновление: я загрузил код образца ViewControllerPreview из Apple. Запуск своего примера приложения я вижу, что симулятор, хотя iPhone 6s, не поддерживает функцию 3D/force touch. Я все еще не уверен, поддерживает ли она эту функцию, если я буду использовать macbook с сенсорным треком с сенсорным экраном.
![введите описание изображения здесь]()
EDIT: может ли кто-то с macbook, который имеет сенсорный трек с сенсорным экраном, попытаться использовать касание силы на трекпаде, чтобы имитировать 3D-касание на симуляторе iPhone 6 или 6s Plus? Моя теория заключается в том, что вы можете использовать сенсорный трекпад силы на новых MacBooks для имитации 3D-касания на новых симуляторах iPhone. Добавьте комментарий, отметив результаты, если вы попробуете его, и я могу обновить сообщение.
EDIT2: Кажется, что трекпады Force Touch на более поздних моделях macbook-профессионалов не помогают.
Ответы
Ответ 1
Здесь говорится ! в нижней части страницы....
Среда разработки
Xcode 7 поддерживает разработку 3D Touch. Все функции отладки Xcode доступны для реализации новых функций.
Помните следующее:
С Xcode 7.0 вы должны работать на устройстве, поддерживающем 3D Touch. Симулятор в Xcode 7.0 не поддерживает 3D Touch.
С помощью Xcode 7.0 вы должны реализовать свои контроллеры просмотра и просмотра в коде. Интерфейс Builder в Xcode 7.0 не обеспечивает графическую поддержку для настройки контроллеров представлений или переходов для 3D Touch.
Обязательно протестируйте приложение с включенным и отключенным 3D Touch, гарантируя, что все функции доступны для всех пользователей. На устройстве 3D Touch вы можете отключить 3D-Touch в настройках > Общие > Доступность > 3D-коснуться
Так что, к сожалению, похоже, нам нужно получить доступ к фактическим устройствам, чтобы это сделать.: - (
ИЗМЕНИТЬ.....
Как и в Xcode 7.3, есть способ сделать это, если ваш трекпад MacBook поддерживает силовое прикосновение. См. Ответ от @iPrabu.
Ответ 2
Для тех, кто разрабатывает быстрые действия (ярлыки приложений), вы можете использовать этот script, который позволяет вам симулировать глубокое нажатие на приложение на симуляторе.
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>
Ответ 3
С Xcode 7.3 вы можете протестировать функцию 3D-касания в симуляторе, но с одним ограничением. (ссылка на заметки о выпуске Xcode7.3)
Машина (macbook/mac с трекпадом), которую вы разрабатываете, должна иметь возможность 3D-касания.
Вы можете найти его в меню iOS simulator Hardware.
Комментарии от Pavel Alexeev: Обязательно включите "Force Click и тактильную обратную связь" в Системных настройках → Трекпад
![введите описание изображения здесь]()
Ответ 4
Силовое давление в iOS (например, Peek и Pop) не отображается через Xcode 7.0 или Xcode 7.1 Beta Simulator. Параметры нажатия касаются только для устройств watchOS в этих версиях Simulator. Если у вас есть бета-версия Xcode 7.1, вы заметите, что параметр меню фактически отключен.
С Xcode 7.3 и iOS 9.3 и более поздними версиями симулятора вы можете проверить функциональность peek/pop с помощью сенсорного трекпада с силовым приводом.
Ответ 5
Вы можете включить 3D Touch в симуляторе. Благодаря этой библиотеке.
-
После его добавления Используя комбинацию клавиш , управления и переключения, можно включить 3D Touch.
-
Не забудьте добавить библиотеку только в среду Отладка. Исключите из среды Release.
Ответ 6
Для "Экран быстрых действий на главном экране" я сделал следующее:
Похоже, что пользователь нажал 3-значный значок приложения.
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:)
Ответ 7
Здесь немного кода, который позволяет протестировать 3D Touch peek и поп в симуляторе. Имейте в виду, что это код для iOS 9.0, а некоторые внутренние/частные методы изменились в 9.1, поэтому вам нужно внести несколько незначительных изменений (подсказка: слово "позиция" изменено на "местоположение" в одном из имена методов).
https://gist.github.com/nickfrey/07e2c6d8d2e5444fb91d
Оба этих и https://github.com/DeskConnect/SBShortcutMenuSimulator, упомянутые в других ответах, позволяют вам испытать 3D Touch без фактического устройства достаточно грамотно.
Ответ 8
Официально Xcode 7.1 поддерживает 3D-касание, но не на симуляторе. Для тестирования необходимо иметь фактическое устройство. Проверьте последний параграф documentation от Apple.
![Apple Document]()
![3D-сенсор не поддерживается на симуляторе]()
Тем не менее, вы можете использовать сторонние инструменты для тестирования на симуляторе, например, с помощью Nicolas S выше.
Ответ 9
Это сработало для меня с симулятором XCode 9 и iphone 8. В своем mac перейдите к системному предпочтению → Трекпад → Включить принудительный клик и тактильную обратную связь.
![enter image description here]()
Затем нажмите твердо на любую часть симулятора iphone, чтобы выполнить действие касания силы.
Ответ 10
Новые macbooks имеют сенсорную панель с сенсорным экраном с принудительным касанием. Я думаю, что эти варианты будут работать только в этом.