[ios] iPhone 6S 또는 iPhone 6S Plus 시뮬레이터에서 포스 터치 / 3D 터치 시뮬레이션

iPhone 6S 또는 iPhone 6S Plus 시뮬레이터에서 Xcode 7 GM을 사용하여 포스 터치를 시뮬레이션하려고합니다. 특히 Application Shortcuts를 구현하는 테스트 앱의 아이콘에 대한 강제 터치를 시뮬레이션하려고합니다.

이를 시뮬레이션 할 솔루션이 있는지 알려주세요. Watch 시뮬레이터가 힘 터치를 시뮬레이션하는 데 사용하는 길게 누르기를 시도했지만 iPhone이 길게 누르기 제스처로 캡처하므로 작동하지 않았습니다.

업데이트 : Apple에서 ViewControllerPreview 샘플 코드를 다운로드했습니다. 샘플 응용 프로그램을 실행하면 시뮬레이터는 iPhone 6s이지만 3D / 강제 터치 기능을 지원하지 않습니다. 포스 터치가 활성화 된 트랙 패드가있는 맥북을 사용한다면이 기능을 지원할지 확신 할 수 없습니다.

여기에 이미지 설명 입력

편집 : 포스 터치 트랙 패드가있는 맥북 사용자가 트랙 패드에서 포스 터치를 사용하여 iPhone 6s 또는 6s Plus 시뮬레이터에서 3D 터치를 시뮬레이션 할 수 있습니까? 내 이론은 새로운 MacBook의 포스 터치 트랙 패드를 사용하여 새로운 iPhone 시뮬레이터에서 3D 터치를 시뮬레이션 할 수 있다는 것입니다. 당신이 그것을 시도하면 결과를 언급하는 댓글을 추가하면 내가 게시물을 업데이트 할 수 있습니다.

EDIT2 : 최신 모델 맥북 프로의 Force Touch 트랙 패드가 도움이되지 않는 것 같습니다.



답변

여기에 적혀 있습니다 ! 페이지 하단에 ….

개발 환경

Xcode 7은 3D Touch 개발을 지원합니다. Xcode의 모든 디버깅 기능은 새로운 기능을 구현하는 데 사용할 수 있습니다.

다음 사항에 유의하십시오.

Xcode 7.0을 사용하면 3D Touch를 지원하는 장치에서 개발해야합니다. Xcode 7.0의 시뮬레이터는 3D Touch를 지원하지 않습니다.

Xcode 7.0에서는 코드에서 픽 및 팝 뷰 컨트롤러를 구현해야합니다. Xcode 7.0의 Interface Builder는 3D Touch에 대한 뷰 컨트롤러 또는 전환 구성을위한 그래픽 지원을 제공하지 않습니다.

모든 사용자가 모든 기능을 사용할 수 있도록 3D Touch를 활성화 및 비활성화 한 상태로 앱을 테스트해야합니다. 3D Touch 장치의 경우 설정> 일반> 손쉬운 사용> 3D Touch에서 3D Touch를 비활성화 할 수 있습니다.

그래서 안타깝게도 우리는 그것을하기 위해 실제 장치를 손에 넣어야 할 것 같습니다. 🙁

편집하다…..

Xcode 7.3부터 MacBook의 트랙 패드가 포스 터치를 지원하는 경우이를 수행하는 방법이 있습니다. @iPrabu의 답변을 참조하십시오.


답변

퀵 액션 (앱 바로 가기)을 개발하는 사람들을 위해 시뮬레이터에서 앱을 딥 프레스를 시뮬레이션 할 수있는이 스크립트를 사용할 수 있습니다.

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>


답변

Xcode 7.3을 사용하면 시뮬레이터에서 3D 터치 기능을 테스트 할 수 있지만 제약 조건은 하나뿐입니다. (Xcode7.3 릴리스 정보 참조)

개발중인 기기 (macbook / mac with trackpad)에는 3D 터치 기능이 있어야합니다.

iOS 시뮬레이터 하드웨어 메뉴에서 찾을 수 있습니다.

Pavel Alexeev의 의견 : 시스템 환경 설정 → 트랙 패드에서 “강제 클릭 및 햅틱 피드백”을 활성화해야합니다.

여기에 이미지 설명 입력


답변

iOS의 힘 압력 (예 : Peek & Pop)은 Xcode 7.0 또는 Xcode 7.1 Beta의 시뮬레이터를 통해 노출되지 않습니다. 압력 터치 옵션은 해당 시뮬레이터 버전의 watchOS 장치에만 관련됩니다. Xcode 7.1 베타가있는 경우 메뉴 옵션이 실제로 비활성화되어 있음을 알 수 있습니다.

Xcode 7.3 및 iOS 9.3 이상 시뮬레이터 런타임을 사용하면 포스 터치 트랙 패드를 사용하여 엿보기 / 팝 기능을 테스트 할 수 있습니다.


답변

시뮬레이터에서 3D Touch를 활성화 할 수 있습니다. 도서관 덕분 입니다.

  • 추가 후 명령, 제어 및 Shift 키 조합을 사용하여 3D Touch를 활성화 할 수 있습니다.

  • 디버그 환경에서만 라이브러리를 추가하는 것을 잊지 마십시오 . 릴리스 환경 에서 제외하십시오 .


답변

“홈 화면 빠른 작업”터치의 경우 다음을 수행했습니다.

  • UIMutableApplicationShortcutItem의 객체를 생성했습니다.

  • launchOptions에 넣어 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

(application : didFinishLaunchingWithOptions 🙂


답변

시뮬레이터에서 3D Touch peek & pop을 테스트 할 수있는 약간의 코드가 있습니다. 이것은 iOS 9.0 용 코드이며 9.1에서 내부 / 비공개 메서드 중 일부가 변경되었으므로 몇 가지 사소한 변경이 필요합니다 (힌트 : 다음 중 하나에서 ‘위치’라는 단어가 ‘위치’로 변경됨). 메서드 이름) .

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

이것과 다른 답변에서 언급 된 https://github.com/DeskConnect/SBShortcutMenuSimulator를 사용하면 실제 장치 없이도 3D 터치를 상당히 유능하게 테스트 할 수 있습니다.