จำลองการบังคับสัมผัส / สัมผัส 3D บนเครื่องจำลอง iPhone 6S หรือ iPhone 6S Plus


99

ฉันพยายามจำลองการบังคับสัมผัสโดยใช้ Xcode 7 GM บนเครื่องจำลอง iPhone 6S หรือ iPhone 6S Plus โดยเฉพาะอย่างยิ่งฉันพยายามจำลองการบังคับสัมผัสบนไอคอนของแอปทดสอบซึ่งใช้ทางลัดแอปพลิเคชัน

แจ้งให้เราทราบหากมีวิธีแก้ปัญหาในการจำลองสิ่งนี้ฉันลองกดแบบยาวซึ่งโปรแกรมจำลองนาฬิกาใช้เพื่อจำลองการสัมผัสแรงไม่ทำงานเนื่องจาก iPhone จับภาพเป็นท่าทางการกดแบบยาว

อัปเดต: ฉันดาวน์โหลดโค้ดตัวอย่าง ViewControllerPreview จาก Apple การเรียกใช้แอปพลิเคชันตัวอย่างของพวกเขาฉันเห็นว่าตัวจำลองแม้ว่า iPhone 6s จะไม่รองรับคุณสมบัติ 3D / Force touch ฉันยังไม่แน่ใจว่าจะรองรับคุณสมบัตินี้ได้หรือไม่หากฉันจะใช้ macbook ที่มีแทร็กแพดที่เปิดใช้งานระบบสัมผัสบังคับ

ป้อนคำอธิบายภาพที่นี่

แก้ไข: คนที่มี macbook ที่มีแทร็กแพดแบบบังคับสามารถพยายามใช้การสัมผัสบนแทร็คแพดเพื่อจำลองการสัมผัส 3 มิติบนเครื่องจำลอง iPhone 6s หรือ 6s Plus ได้หรือไม่? ทฤษฎีของฉันคือคุณอาจใช้แทร็คแพดแบบบังคับบน MacBooks ใหม่เพื่อจำลองการสัมผัส 3 มิติบนเครื่องจำลอง iPhone รุ่นใหม่ เพิ่มความคิดเห็นเพื่อแจ้งผลลัพธ์หากคุณลองและฉันจะอัปเดตโพสต์ได้

แก้ไข 2: ดูเหมือนว่าแทร็กแพด Force Touch บน macbook Pros รุ่นใหม่จะไม่ช่วยอะไร


1
คุณไม่จำเป็นต้องใช้ Xcode 7.1 beta หรือ?
Jacopo Penzo

ตัวเลือกถูกปิดใช้งานเมื่อรันโดยใช้ 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 Simulator ใน Xcode 7.0 ไม่รองรับ 3D Touch

ด้วย Xcode 7.0 คุณต้องติดตั้งตัวควบคุมมุมมองและมุมมองป๊อปในโค้ด ตัวสร้างอินเทอร์เฟซใน Xcode 7.0 ไม่มีการสนับสนุนแบบกราฟิกสำหรับการกำหนดค่าตัวควบคุมมุมมองหรือการเปลี่ยนสำหรับ 3D Touch

อย่าลืมทดสอบแอปของคุณด้วย 3D Touch ทั้งที่เปิดใช้งานและปิดใช้งานเพื่อให้แน่ใจว่าผู้ใช้ทุกคนสามารถใช้คุณลักษณะทั้งหมดได้ บนอุปกรณ์ 3D Touch คุณสามารถปิดใช้งาน 3D Touch ได้ในการตั้งค่า> ทั่วไป> การช่วยการเข้าถึง> 3D Touch

น่าเสียดายที่ดูเหมือนว่าเราจำเป็นต้องใช้อุปกรณ์จริงเพื่อทำมัน :-(

แก้ไข .....

ตั้งแต่ Xcode 7.3 มีวิธีดำเนินการหากแทร็กแพดของ MacBook ของคุณรองรับการสัมผัสแบบบังคับ ดูคำตอบโดย @iPrabu


1
เพียงแค่ FYI มีเครื่องมือที่ฉันเชื่อมโยงกับคำตอบของฉันที่ให้คุณเลียนแบบการบังคับสัมผัสเพื่อแสดงเมนู Quick Actions
Nicolas S

1
ความแปลกอย่างหนึ่งคือถ้าคุณเรียกใช้เครื่องจำลอง 6S หรือ 6S Plus ตัวเลือกฮาร์ดแวร์ "Force Touch Pressure" จะเปิดใช้งาน ในเครื่องจำลองอื่น ๆ ทั้งหมดไม่ใช่ ดูเหมือนว่าพวกเขาจะมีส่วนร่วมในการใช้งาน 3D touch ในเครื่องจำลอง แต่ก็ยอมแพ้ ได้เวลาซื้อโทรศัพท์ใหม่ ...
Dan Loughney

2
ขณะนี้หน้าที่เชื่อมโยงระบุว่า Xcode 7.1 ไม่รองรับ 3D Touch
Dan Reese

2
การพูดในฐานะนักพัฒนา QA ...
Joe Susnick

1
@LucasAzzopardi 3D touch ได้รับการสนับสนุนใน Xcode 7.3 เฉพาะในกรณีที่คุณมีแทร็กแพดที่มีระบบบังคับสัมผัส
Stephen

64

สำหรับผู้ที่กำลังพัฒนา Quick Actions (ทางลัดของแอป) คุณสามารถใช้สคริปต์นี้ที่ช่วยให้คุณจำลองการกดลึกลงบนแอปบนเครื่องจำลองได้

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

@ Alexey ยังไม่เคย แต่อย่างน้อยคุณก็สามารถทดสอบบนอุปกรณ์จริงได้แล้ว และเป็นไปได้มากว่าโปรแกรมจำลองจะทำงานได้ในการอัปเดตต่อไปนี้ตัวเลือกเมนูมีอยู่แล้ว
Nicolas S

ฉันไม่สามารถแสดงทางลัด Item ได้โปรดช่วยฉันที .. ?
Dipen Chudasama

@DipenChudasama แน่นอนฉันได้อัปเดตคำตอบเพื่อแสดงวิธีเพิ่มทางลัด
Nicolas S

1
สำหรับ iOS เวอร์ชันที่สูงกว่า 9.1 ให้ใช้ทางแยกจาก PoomSmart: github.com/PoomSmart/SBShortcutMenuSimulator
thijsonline

42

ด้วย Xcode 7.3 คุณสามารถทดสอบคุณสมบัติการสัมผัส 3 มิติในโปรแกรมจำลองได้ แต่มีข้อ จำกัด เพียงข้อเดียว (Xcode7.3 อ้างอิงบันทึกประจำรุ่น)

เครื่อง (macbook / mac พร้อมแทร็กแพด) ที่คุณกำลังพัฒนาควรมีความสามารถในการสัมผัสแบบ 3D

คุณสามารถค้นหาได้จากเมนูฮาร์ดแวร์จำลอง iOS

ความคิดเห็นจาก Pavel Alexeev: อย่าลืมเปิดใช้งาน“ Force Click and haptic feedback” ใน System Preferences → Trackpad

ป้อนคำอธิบายภาพที่นี่


5
อย่าลืมเปิดใช้งาน“ Force Click and haptic feedback” ใน System Preferences → Trackpad
Pavel Alexeev

1
ตามข้อกำหนดเพิ่มเติมคุณต้องใช้ Simulator ล่าสุดฉันลองใช้ iOS 9.2 สองสามนาทีโดยไม่ประสบความสำเร็จ - ด้วย 9.3 มันใช้งานได้)
Frederik Winkelsdorf

8
ค้นหาไม่กี่นาทีและพบว่าฉันกำลังจำลองโดยใช้ iPhone 6 ไม่ใช่ 6s ซึ่งเป็นสาเหตุที่ทำให้ปุ่มเป็นสีเทาสำหรับฉัน
juliensaad

ใช้งานได้กับแทร็กแพดเท่านั้น หากมีการเชื่อมต่อเมาส์ธรรมดา (ไม่แน่ใจเกี่ยวกับเมาส์วิเศษ) สิ่งนั้นจะใช้ไม่ได้
Works On Mine

10

แรงกดดันใน iOS (เช่น Peek & Pop) จะไม่เปิดเผยผ่าน Xcode 7.0 หรือ Xcode 7.1 Beta's Simulator ตัวเลือกการกดสัมผัสจะเกี่ยวข้องกับอุปกรณ์ watchOS ใน Simulator เวอร์ชันเหล่านั้นเท่านั้น หากคุณมี Xcode 7.1 beta คุณจะสังเกตเห็นว่าตัวเลือกเมนูถูกปิดใช้งานจริง

ด้วย Xcode 7.3 และ iOS 9.3 และรันไทม์จำลองที่ใหม่กว่าคุณสามารถทดสอบการทำงานของ peek / pop โดยใช้แทร็คแพดแบบบังคับ


จะคำนวณได้อย่างไรว่าเป็น Shallow Press หรือ Deep Press?
Vaibhav Jhaveri

9

คุณสามารถเปิดใช้งาน 3D Touch ในโปรแกรมจำลอง ขอขอบคุณที่นี้ห้องสมุด

  • หลังจากเพิ่มแล้วสามารถเปิดใช้งานการใช้คำสั่งร่วมกันควบคุมและเปลี่ยนปุ่ม 3D Touch ได้

  • อย่าลืมเพิ่มไลบรารีในสภาพแวดล้อมการแก้ปัญหาเท่านั้น แยกออกจากสภาพแวดล้อมการเผยแพร่


นั่นเป็นเพียงการมองลอดและป๊อปหรือทางลัดที่บ้านเช่นกัน
RileyDev

ใช่สำหรับ peep และ pop เท่านั้น คุณสามารถใช้สิ่งนี้สำหรับทางลัดในบ้าน
sanky009

หวัดดี: ส! ฟังก์ชั่น Peek & Pop ไม่ทำงานบน Simulator 6s plus กับ Xcode 7.2 เมื่อฉันกดนานขึ้นและใช้การรวมกันของคำสั่งการควบคุมและกะ ... คุณบอกฉันได้ไหมว่าทำไม ขอบคุณ
A. Trejo

@ sanky009: ฟังก์ชั่น Peek & Pop ไม่ทำงานบน Simulator 6s plus กับ Xcode 7.2 เมื่อฉันกดนานขึ้นและใช้การรวมกันของคำสั่งการควบคุมและกะ ...
Bhoomi Jagani

2

สำหรับ "การดำเนินการด่วนบนหน้าจอหลัก" ให้แตะฉันทำสิ่งต่อไปนี้:

  • สร้างวัตถุของ UIMutableApplicationShortcutItem

  • ใส่ลงใน launchOptions เพื่อ UIApplicationLaunchOptionsShortcutItemKey

  • และนั่นคือมัน

ดูเหมือนว่าผู้ใช้จะสัมผัส 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 :)


ฉันทำบางอย่างที่คล้ายกันเพื่อทดสอบ แต่ก็เป็นการดีที่จะทำแบบทดสอบเต็มรูปแบบ มีหลายวิธีในการเข้าสู่แอปพลิเคชันผ่านทางลัดของแอป วิธีหนึ่งคือเมื่อแอปพลิเคชันทำงานอยู่เบื้องหลังและคุณอยู่เบื้องหน้าผ่านทางลัดของแอป
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 อย่างเป็นทางการรองรับการสัมผัส 3 มิติ แต่ไม่ใช่ในโปรแกรมจำลอง คุณต้องมีอุปกรณ์จริงเพื่อทดสอบ ตรวจสอบเอกสารย่อหน้าสุดท้ายจาก Apple

เอกสาร Apple

ไม่รองรับ 3D touch บนเครื่องจำลอง

อย่างไรก็ตามคุณสามารถใช้เครื่องมือของบุคคลที่สามเพื่อทดสอบในโปรแกรมจำลองเช่นเครื่องมือที่Nicolas Sไฮไลต์ไว้ด้านบน


0

macbook รุ่นใหม่ ๆ กำลังมีทัชแพดแบบบังคับสัมผัส ฉันคิดว่าตัวเลือกเหล่านี้จะใช้ได้เฉพาะในนั้น


0

มันใช้ได้กับฉันด้วยโปรแกรมจำลอง XCode 9 และ iphone 8 ใน Mac ของคุณไปที่การตั้งค่าระบบ -> Trackpad -> เปิดใช้งานคลิกกองทัพและสัมผัสความคิดเห็น

ป้อนคำอธิบายภาพที่นี่

จากนั้นกดส่วนใดส่วนหนึ่งของเครื่องจำลอง iphone ให้แน่นเพื่อดำเนินการบังคับสัมผัส


ฉันทำสิ่งนี้แล้ว แต่ก็ยังใช้ไม่ได้ :( Xcode 9.4.1, ตัวจำลอง iPhone X
Supertecnoboff

1
@Supertecnoboff คุณต้องใช้แทร็กแพดแทนเมาส์ มันใช้ได้กับฉันใน Xcode 10 แต่ไม่ชัดเจนว่าฉันต้องใช้ Trackpad ใน MacBook แน่นอนว่าต้องตรวจสอบ "Force Click and haptic feedback"
Ariel Bogdziewicz
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.