Имитация силы касания /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

Для "Экран быстрых действий на главном экране" я сделал следующее:

  • создал объект UIMutableApplicationShortcutItem

  • поместите его в startOptions на UIApplicationLaunchOptionsShortcutItemKey

  • и thats it

Похоже, что пользователь нажал 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 имеют сенсорную панель с сенсорным экраном с принудительным касанием. Я думаю, что эти варианты будут работать только в этом.