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?

dziwne
źródło
@ 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.
David Brown
źródło
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))

slamour
źródło
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.

Benjohn
źródło
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.

nocturnalbee
źródło
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ć.

guny
źródło
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

Chicowitz
źródło
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ą

Ram Madhavan
źródło
3

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

James
źródło
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/.*(//'
Evgeny Faddeenkov
źródło
0

Napotkałem ten sam problem i wypróbowałem wiele różnych sposobów, które działały głównie, ale nigdy na pewno. Ostatecznie to znalazłem. https://stackoverflow.com/a/26057011/1463604

Nishant
źródło
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ę .

Franz
źródło
0

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

Dmitry
źródło