Jak pisać przy użyciu klawiatury w symulatorze iPhone'a?


138

Kiedyś mogłem pisać na mojej prawdziwej klawiaturze Maca po uruchomieniu iPhone Simulator. Pisanie za pomocą klawiatury ekranowej symulatora jest po prostu okropne podczas testowania z dużą ilością tekstu.

Bez względu na to, co robię, nie mogę już pisać na klawiaturze w symulatorze. Nawet jeśli mam włączoną opcję „Symulacja klawiatury sprzętowej”, po prostu nic nie zostanie wpisane. Czy ktoś może mi powiedzieć, co robię źle? Czy nie ma już możliwości pisania na prawdziwej klawiaturze?


@ user189924: Zaznacz poprzednie pytania zaakceptowanymi odpowiedziami, w przypadku których inni ci pomogli. Pomaga społeczności i motywuje innych do odpowiedzi na Twoje przyszłe pytania.
Alex Reynolds

2
Wszystkie 5 aktualnych odpowiedzi działa, ale BARDZO NAJLEPSZĄ odpowiedzią jest ta, która obecnie znajduje się na dole @SGS.
Chuck H,

2
Cześć @strange - od xCode 6 wybrana odpowiedź nie wydaje się być najlepszym podejściem. Czy rozważyłbyś ponowną ocenę swojego wyboru? Dwie odpowiedzi dotyczące korzystania z opcji menu symulatora i objaśniania skrótów klawiaturowych to slamour i moja własna . Jeśli jednak jesteś zadowolony z obecnego wyboru, zachowaj go.
Benjohn

1
⇧⌘K zgodnie z wyjaśnieniem @Benjohn stackoverflow.com/a/26715382/242933
ma11hew28

To samo przytrafiło się mnie i zostało rozwiązane w ten
sposób-

Odpowiedzi:


260

Spróbuj usunąć plik preferencji symulatora iPhone'a. Kiedy mój iPhone Simulator przestał reagować na naciśnięcia klawiszy, naprawiło to.

  1. Zamknij symulator.
  2. Przejdź do wyszukiwarki i naciśnij (Command + Shift + G), a następnie nawiguj ~/Library/Preferences.
  3. Przenieś com.apple.iphonesimulator.plistdo kosza.
  4. Spróbuj ponownie uruchomić aplikację na iPhone'a w symulatorze.

1
Kiedy obracam lub przybliżam, tracę zdolność. Czy istnieje trwałe rozwiązanie?
philipkd

1
@Filozofia Również tracę umiejętność pisania, gdy obracam za pomocą ⌘→lub ⌘←. Dowiedziałem się, że muszę go obrócić za pomocą pozycji menu.
Tobia,

4
Wygląda na to, że w symulatorze występuje błąd polegający na tym, że przestaje on reagować na klawiaturę po użyciu skrótów obrotowych. Aby to naprawić, dotknij sam ⌘ Cmdklawisz. Powinien ponownie zaakceptować pisanie. Zobacz też: stackoverflow.com/questions/18979510/…
Mike

6
Zamiast usuwać plik plist, po prostu go otwieram i zmieniam pole EnableKeyboardSyncna YES. Następnie ponownie uruchamiam symulator.
ohnit

1
Ta odpowiedź nie jest już poprawna od wersji XCode 6.0.1. Zobacz odpowiedź @slamor i Keith Smiley poniżej.
adjwilli

144

Usunięcie com.apple.iphonesimulator.plist nie pomogło mi pod Xcode 6.0.1. Prawdopodobnie działał w starym Xcode.

Ale to, co działa idealnie dla mnie pod Xcode 6.0.1, to nowe klawisze skrótu w symulatorze iOS:

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

I wiesz, naprawdę cierpiałem przez ostatnie 2 miesiące, dopóki go nie znalazłem, a teraz jest to bardzo wygodne))


Dziękuję Ci! Przez tydzień męczyłem się z wpisywaniem moich dłuuugich danych logowania do aplikacji! :)
Solomiya

Zapraszamy! Nawiasem mówiąc, te skróty klawiszowe działają doskonale również w najnowszym xCode 6.1 pod OS X Yosemite.
slamour

Naprawdę pomocny, ja też walczyłem od kilku dni.
ChenSmile

Jest to znacznie lepsze obejście błędu Apple niż zaakceptowana odpowiedź.
SeanR

to jest właściwy sposób, przez kilka dni walczyłem, aby symulator używał fizycznej klawiatury. Nie jestem pewien, czy to jest błąd, może to być funkcja, z punktu widzenia Apple, umożliwiająca przełączanie między wejściem opartym na dotknięciu a sprzętem zewnętrznym
Bogdan

72

Nie niszcz plików preferencji symulatora iPhone'a. Nie ma takiej potrzeby.

Zajrzyj do menu symulatora Hardware ➔ Keyboard. Opcje menu to:

  1. iOS używa tego samego układu co OS X
  2. Podłącz klawiaturę sprzętową ⇧⌘K
  3. Przełącz klawiaturę oprogramowania ⌘K

Upewnij się, że opcja 2 jest zaznaczona.

Jeśli jest już zaznaczone, odznacz je, a następnie sprawdź ponownie (prawdopodobnie będziesz chciał nauczyć się skrótów klawiaturowych).

Jeśli okaże się, że powoduje to ukrycie klawiatury ekranowej, ale chcesz ją również wyświetlić, użyj opcji 3, aby ponownie ją włączyć.

Jeśli obrót symulatora wydaje się zatrzymywać pracę klawiatury, wyłącz opcję drugą i włącz ją ponownie - wydaje się, że rozwiązuje to problem.


2
To zadziałało dla mnie! Zdecydowanie spróbuj tego, zanim cokolwiek
wyrzucisz

Prawie dwa lata po udzieleniu odpowiedzi, która jest moją najbardziej
pozytywną

Z jakiegoś powodu miałem ten sam problem. Moja klawiatura działała iw pewnym momencie to ustawienie się zmieniło i klawiatura w symulatorze przestała działać. To jest odpowiedź, która rozwiązała mój problem w XCode 8.3
sonar0007

1
@ sonar0007 Często zdarza mi się to ponownie, kiedy aktualizuję xCode.
Benjohn,

27

Używam wersji iOS Simulator 7.0. Podczas gdy symulator był uruchomiony, przeszedłem do iOS Simulator-> Reset Contents and Settings ... i zresetowałem symulator z tego miejsca. Wydawało się, że to mi wystarczyło. Mam nadzieję, że to pomoże.


4
Działa na iOS7, ale po zmianie skali okna dla symulatora ponownie przestaje reagować na klawiaturę sprzętową.
iOS Monster

To najlepszy sposób na ponowne uruchomienie klawiatury
Gajendra K Chauhan,

Na iOS Simulator 10.0 użyjHardware -> Erase All Content and Settings...
Nikolai R Kristiansen

17

Dzieje się tak, ponieważ używałeś zmiany orientacji symulatora za pomocą skrótów klawiaturowych. Po prostu naciśnij cmd na klawiaturze Maca i zacznij pisać.


2
Moim zdaniem to najlepsza odpowiedź.
Chuck H,

1
To działa mniej więcej w połowie przypadków. Ta druga połowa, coś innego spowodowało to, a to nie pomaga.
arik

1
Wypróbowałem wszystkie powyższe rozwiązania, ale wpisanie cmd uratowało mi dzień.
Renato Back

8

Wszystko, co musiałem zrobić, to wyjść z symulatora i uruchomić go ponownie


4

MÓJ PROBLEM BYŁ WYŚWIETLANIE KLAWIATURY I NIE WYKRYWANIE NACIŚNIEŃ. I ZNALAZŁEM ROZWIĄZANIE:

Nie musisz wychodzić z klawiatury.

Wypróbuj Sprzęt-> Klawiatura-> Podłącz bezpośrednio klawiaturę sprzętową


3

Usunięcie też com.apple.iphonesimulator.plistdziałało, ale musiałem znaleźć go w ukrytym folderze/Users/[yourusername]/Library/Preferences/


7
W rzeczywistości znak tyldy "~" w "~ / Library / Preferences" oznacza / Users / [twoja nazwa użytkownika] w terminalu, jest to po prostu wygodny znak specjalny w ścieżkach uniksowych dla katalogu domowego.
Trond Hatlen

1

Shell / 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"

Identyfikator urządzenia można znaleźć za pośrednictwem xcrun / simctl, na podstawie nazwy devoce:

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


0

Jeśli tworzysz aplikację React Native i nie możesz odświeżyć ( ⌘R) lub włączyć zdalnego debugowania ( ⌘D) z symulatora iOS, podczas gdy inne wejścia klawiatury działają, upewnij się, że uruchamiasz konfigurację kompilacji debugowania . Możesz to sprawdzić za pomocą:

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

Mam stąd wskazówkę .


0

Po prostu uruchom ponownie Symulator (zamknij i otwórz aplikację).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.