ฉันจะพิมพ์โดยใช้คีย์บอร์ดบนตัวจำลอง iphone ได้อย่างไร


138

ฉันเคยสามารถพิมพ์ด้วยแป้นพิมพ์ mac จริงของฉันหลังจากเปิดตัว iPhone Simulator การพิมพ์ด้วยแป้นจำลองบนหน้าจอน่ากลัวมากเมื่อทดสอบด้วยข้อความจำนวนมาก

ไม่ว่าฉันจะทำอะไรฉันก็ไม่สามารถให้แป้นพิมพ์พิมพ์อีกต่อไปภายในเครื่องจำลอง แม้ว่าฉันจะเปิด "Simulate Hardware Keyboard" มันก็จะไม่พิมพ์อะไรเลย มีคนช่วยบอกฉันทีว่าฉันทำอะไรผิด ไม่มีวิธีพิมพ์โดยใช้แป้นพิมพ์จริงอีกต่อไปหรือไม่


@ user189924: โปรดทำเครื่องหมายคำถามก่อนหน้านี้ด้วยคำตอบที่ยอมรับซึ่งผู้คนช่วยเหลือคุณ ช่วยชุมชนและกระตุ้นผู้อื่นให้ตอบคำถามในอนาคตของคุณ
Alex Reynolds

2
คำตอบปัจจุบันทั้งหมด 5 ข้อทำงานได้ แต่คำตอบที่ดีที่สุดคือคำตอบที่ @SGS
Chuck H

2
สวัสดี @strange - ด้วย xCode 6 เป็นต้นไปคำตอบที่เลือกไม่น่าจะเป็นวิธีที่ดีที่สุด คุณจะพิจารณาการประเมินทางเลือกของคุณอีกครั้งหรือไม่? ทั้งสองคำตอบเกี่ยวกับการใช้ตัวเลือกเมนูจำลองและครอบคลุมแป้นพิมพ์ลัดที่มีของ slamorและของตัวเอง อย่างไรก็ตามหากคุณมีความสุขกับตัวเลือกปัจจุบันโปรดเก็บไว้
Benjohn

1
asK ตามที่อธิบายโดย @Benjohn stackoverflow.com/a/26715382/242933
ma11hew28

สิ่งเดียวกันเกิดขึ้นกับฉันและได้รับการแก้ไขด้วยวิธีนี้ - stackoverflow.com/a/47696048/413877
Mahbub Morshed

คำตอบ:


260

ลองกำจัดไฟล์การกำหนดค่าตามความชอบของ iPhone Simulator เมื่อ iPhone Simulator ของฉันหยุดตอบสนองการกดแป้น

  1. ออกจากโปรแกรมจำลอง
  2. ไปค้นหาและกด (คำสั่ง + Shift + G) ~/Library/Preferencesจากนั้นไป
  3. ย้ายcom.apple.iphonesimulator.plistไปที่ถังขยะ
  4. ลองเปิดแอพ iPhone ของคุณในตัวจำลองอีกครั้ง

1
เมื่อฉันหมุนหรือซูมฉันสูญเสียความสามารถ มีทางออกถาวรหรือไม่?
philipkd

1
@Philosophistry ฉันสูญเสียความสามารถในการพิมพ์มากเกินไปเมื่อฉันหมุนใช้หรือ⌘→ ⌘←ฉันพบว่าฉันต้องหมุนโดยใช้รายการเมนู
เบีย

4
ดูเหมือนจะมีข้อบกพร่องในตัวจำลองซึ่งหยุดการตอบสนองต่อแป้นพิมพ์หลังจากใช้ทางลัดหมุน ในการแก้ไขปัญหานี้ให้แตะ⌘ Cmdปุ่มด้วยตนเอง ควรยอมรับการพิมพ์อีกครั้ง ดูเพิ่มเติมที่: stackoverflow.com/questions/18979510/…
Mike

6
แทนการลบไฟล์ plist ที่ฉันเพิ่งเปิดและเปลี่ยนสนามการEnableKeyboardSync YESจากนั้นฉันรีสตาร์ทเครื่องจำลอง
ohnit

1
คำตอบนี้ไม่ถูกต้องตั้งแต่ XCode 6.0.1 ดูคำตอบ @slamor และ Keith Smiley ด้านล่าง
adjwilli

144

การลบ com.apple.iphonesimulator.plist ไม่ได้ช่วยฉันภายใต้ Xcode 6.0.1 อาจเป็นไปได้ว่ามันทำงานใน Xcode รุ่นเก่า

แต่อะไรที่ทำงานได้อย่างสมบูรณ์แบบสำหรับฉันภายใต้ Xcode 6.0.1 มันคือปุ่มลัดใหม่ใน iOS Simulator:

Shift-Command-K   Connect/Disconnect Hardware Keyboard
Command-K         Toggle (Show/Hide) Software Keyboard

และคุณรู้ไหมว่าฉันทรมานมากใน 2 เดือนที่ผ่านมาจนกระทั่งพบและตอนนี้สะดวกมาก))


ขอบคุณ! ฉันพยายามพิมพ์ข้อมูลประจำตัว loooong ของฉันลงในแอพเช่นหนึ่งสัปดาห์! :)
Solomiya

ยินดี! อย่างไรก็ตามปุ่มลัดเหล่านี้ยังทำงานได้อย่างสมบูรณ์แบบใน xCode 6.1 ล่าสุดภายใต้ OS X Yosemite
เยินยอ

มีประโยชน์จริง ๆ ฉันก็ดิ้นรนจากสองสามวัน
ChenSmile

นี่เป็นวิธีแก้ปัญหาที่ดีกว่ากับ bug ของ Apple มากกว่าคำตอบที่ยอมรับ
SeanR

นี่เป็นวิธีที่ถูกต้องฉันพยายามมาหลายวันเพื่อให้ตัวจำลองใช้แป้นพิมพ์กายภาพ ฉันไม่แน่ใจว่านี้เป็นข้อผิดพลาดก็อาจจะมีคุณลักษณะจากจุดที่แอปเปิ้ลในมุมมองของการอนุญาตให้มีการแลกเปลี่ยนระหว่างการป้อนข้อมูลตามแตะหรือฮาร์ดแวร์ภายนอก
Bogdan

72

อย่าทิ้งไฟล์กำหนดลักษณะของ iPhone simulator ไม่จำเป็นต้องทำเช่นนี้

Hardware ➔ Keyboardดูในเมนูจำลองของ ตัวเลือกเมนูคือ:

  1. iOS ใช้เค้าโครงเดียวกันกับ OS X
  2. เชื่อมต่อฮาร์ดแวร์คีย์บอร์ด⇧⌘K
  3. สลับซอฟต์แวร์คีย์บอร์ด ⌘K

ตรวจสอบให้แน่ใจตัวเลือก 2

หากตรวจสอบแล้วให้ยกเลิกการเลือกจากนั้นตรวจสอบอีกครั้ง (คุณอาจต้องการเรียนรู้แป้นพิมพ์ลัด)

หากคุณพบว่าสิ่งนี้ซ่อนแป้นพิมพ์บนหน้าจอ แต่คุณต้องการให้มันแสดงขึ้นให้ใช้ตัวเลือก 3 เพื่อสลับกลับมา

หากการหมุนเครื่องจำลองดูเหมือนว่าจะหยุดการทำงานของแป้นพิมพ์ให้สลับตัวเลือกสองตัวจากนั้นเปิดใหม่อีกครั้ง - สิ่งนี้จะแก้ไขได้


2
สิ่งนี้ได้ผลสำหรับฉัน! ลองทำสิ่งนี้อย่างแน่นอนก่อนจะโยนทุกอย่างออกไป
โยเซบลี

เกือบสองปีที่ผ่านมาจากการตอบนี้เป็นไกลและฉันมากขึ้นได้รับการโหวตคำตอบดังนั้นจะบอกคุณทุกอย่างที่คุณจำเป็นต้องรู้เกี่ยวกับวิศวกรรมซอฟต์แวร์ร่วมสมัย :-)
Benjohn

ด้วยเหตุผลบางอย่างฉันมีปัญหาเดียวกัน แป้นพิมพ์ของฉันใช้งานได้และในบางจุดการตั้งค่านี้เปลี่ยนไปและแป้นพิมพ์ในเครื่องจำลองหยุดทำงาน นี่คือคำตอบที่ทำให้ปัญหาของฉันใน XCode 8.3
sonar0007

1
@ sonar0007 มันเกิดขึ้นกับฉันบ่อยครั้งเมื่อฉันอัพเกรด xCode
Benjohn

27

ฉันใช้ iOS Simulator เวอร์ชั่น 7.0 ในขณะที่ตัวจำลองกำลังทำงานอยู่ฉันไปที่ iOS Simulator-> รีเซ็ตเนื้อหาและการตั้งค่า ... และรีเซ็ตตัวจำลองจากที่นั่น ที่ดูเหมือนจะได้ทำเคล็ดลับสำหรับฉัน หวังว่าจะช่วย


4
มันใช้งานได้กับ iOS7 แต่เมื่อคุณเปลี่ยนขนาดหน้าต่างสำหรับเครื่องจำลองจะหยุดการตอบสนองต่อแป้นพิมพ์ฮาร์ดแวร์อีกครั้ง
iOS Monster

นี่เป็นวิธีที่ดีที่สุดในการเปิดแป้นพิมพ์ใหม่
Gajendra K Chauhan

สำหรับการใช้งาน iOS Simulator 10.0Hardware -> Erase All Content and Settings...
Nikolai R Kristiansen

17

นี่เป็นเพราะคุณใช้การเปลี่ยนการวางแนวของเครื่องมือจำลองโดยใช้แป้นพิมพ์ลัด เพียงกด cmd บนแป้นพิมพ์ mac แล้วเริ่มพิมพ์


2
ในความเห็นของฉันนี่เป็นคำตอบที่ดีที่สุด
Chuck H

1
ใช้งานได้ประมาณครึ่งหนึ่งของเวลา อีกครึ่งหนึ่งนั้นเป็นอย่างอื่นที่ทำให้เกิดสิ่งนี้และนี่ไม่ได้เป็นการหลอกลวง
arik

1
ฉันลองวิธีการด้านบนทั้งหมด แต่การพิมพ์คำสั่งบันทึกวันของฉัน
Renato Back

8

สิ่งที่ฉันต้องทำคือออกจากโปรแกรมจำลองและเปิดใช้อีกครั้ง


4

ปัญหาของฉันคือแป้นพิมพ์ที่แสดงและ KEYSTROKES ไม่ตรวจพบ และฉันพบวิธีแก้ไข:

คุณไม่จำเป็นต้องออกจากแป้นพิมพ์

ลองใช้ Hardware-> Keyboard-> Connect Hardware Keyboard โดยตรง


3

การลบcom.apple.iphonesimulator.plistทำงานให้ฉันด้วย แต่ฉันต้องค้นหามันในโฟลเดอร์ที่ซ่อนอยู่/Users/[yourusername]/Library/Preferences/


7
จริงๆแล้วเครื่องหมายตัวหนอน "~" ใน "~ / Library / Preferences" แปลเป็น / Users / [yourusername] ในเทอร์มินัลมันเป็นเพียงตัวอักษรพิเศษที่สะดวกสบายในเส้นทาง unix สำหรับไดเรกทอรีบ้านคน
Trond Hatlen

1

เชลล์ / Command-Line / Jenkins / CI:

sh "plutil -replace DevicePreferences.${deviceID}.ConnectHardwareKeyboard -bool NO $HOME/Library/Preferences/com.apple.iphonesimulator.plist"
sh "plutil -extract DevicePreferences.${deviceID} xml1 -o - $HOME/Library/Preferences/com.apple.iphonesimulator.plist"

ID อุปกรณ์สามารถพบได้ผ่าน xcrun / simctl ตามชื่อ devoce:

xcrun simctl list | grep ${simulatorDeviceName} | sed 's/).*(.*//;s/.*(//'


0

หากคุณมีการพัฒนาแอพพลิเค React พื้นเมืองและคุณไม่สามารถรีเฟรช ( ⌘R) หรือเปิดใช้งานระยะไกลแก้จุดบกพร่อง ( ⌘D) จากจำลอง iOS ของคุณ, ในขณะที่ปัจจัยการผลิตแป้นพิมพ์อื่น ๆ ทำงานให้แน่ใจว่าคุณกำลังเรียกใช้การตั้งค่าการแก้ปัญหาการสร้าง คุณสามารถตรวจสอบกับ:

Product -> Scheme -> Edit Scheme -> Run -> Info -> Build Configuration -> Debug"

ผมได้รับเคล็ดลับนี้จากที่นี่


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.