Nie możesz wpisać pola tekstowego w symulatorze iPhone'a za pomocą klawiatury Mac?


98

Pracuję nad podstawową aplikacją na iOS, która obsługuje zarówno tryb pionowy, jak i poziomy. Kiedy klawiatura symulatora iPhone'a jest otwarta w orientacji poziomej i przełączam aplikację na tryb pionowy, nie mogę nic wpisać w żadnym polu tekstowym przy użyciu fizycznej klawiatury komputera Mac.

Czy ktoś tego wcześniej doświadczył? Czy to znany błąd?



Czy możesz podać więcej informacji, takich jak wersja XCode i SDK iOS, którego używasz?
brimble2010,

1
Mam dokładnie ten sam problem. Czasami dostaję też długie, poważne ostrzeżenia o nieprawidłowym kontekście w konsoli.
bilobatum

Odpowiedzi:


80

Znalazłem świetne rozwiązanie, które działało dla mnie.
Otwórz symulator, a następnie znajdź menu Sprzęt -> Klawiatura ma trzy opcje:

  1. iOS używa tego samego układu co OS X : Ta opcja wyłącza klawiaturę Maca
  2. Podłącz klawiaturę sprzętową : Ta opcja włącza klawiaturę Maca, ale klawiatura nie jest wyświetlana.
  3. Przełącz klawiaturę oprogramowania : Ta opcja umożliwia pisanie za pomocą klawiatury komputera Mac i wyświetla również klawiaturę ekranową systemu iOS.

działało jak w 2020 ... Nie można wpisać na symulatorze, po przełączeniu na klawiaturę Hardrware działa
Juan

52

W Xcode 9 miałem ten sam problem z symulatorem iPhone'a 8+. Udało mi się to rozwiązać w ten sposób:

  1. Otwórz ~/Library/Preferences/com.apple.iphonesimulator.plistplik
  2. Znajdź problematyczny identyfikator symulatora (pokazany w oknie Urządzenia i symulator )
  3. Ustaw CaptureKeyboardInputwartość naYES
  4. Uruchom ponownie symulator


2
Dzięki. To jedyna rzecz, która działa dla mnie w Xcode 9. Próbowałem różnych kombinacji w menu sprzętowym bezskutecznie. Przeszedłem i ręcznie dodałem go do wszystkich moich Simów. Nie zniszczyłem i nie odtworzyłem jeszcze karty SIM, aby sprawdzić, czy to również rozwiązuje problem. Nie pierwszy raz, gdy Apple schrzanił simów, prawdopodobnie nie będzie też ostatnim. :)
StephenFeather

2
Zasługujesz na medal.
Oliver Pearmain

2
To jedyna poprawka, która mi pomogła. Dziękuję Ci!
gokeji

1
co za odpowiedź stary, czapki z głów
Jaydip

1
Tak, to jest odpowiedź dla mnie.
Wielkie

41

Zanim zaczniesz pisać (gdy pojawi się klawiatura ekranowa), naciśnij sam klawisz polecenia, a następnie zwolnij go. Powinno to ponownie włączyć klawiaturę w symulatorze.


1
Ta odpowiedź jest widoczna w wyszukiwarce Google dla problemu. Dobra robota, Eugene. Jak to wymyśliłeś? Znacznie lepsze niż inne „rozwiązania”, które wypróbowałem.
Kowalik

17
Wpisanie CMD + Shift + K dwa razy, gdy pojawia się klawiatura, rozwiązało sprawę za mnie.
Chanchal Raj

4
Nie działa w symulatorze z Xcode 9. Nic się nie dzieje.
Jose Ramirez

Pracował dla mnie raz. Niedługo potem klawiatura przestała dla mnie działać i teraz to nie działa. (Symulator v10.0, Xcode 9.2)
Ryan H.

37

Z menu symulatora >> Sprzęt >> Klawiatura >> Podłącz klawiaturę sprzętową

LUB

po prostu naciśnij ⌘ + ⌂ + K


to działało dla mnie, ale zaraz po ponownym uruchomieniu symulatora
marcomoreira92

25

Uruchom symulator iOS i włącz Hardware > Keyboard > Connect Hardware Keyboard.

(Mogłeś przypadkowo go wyłączyć, naciskając CMD + SHIFT + K- ten sam skrót, co Wyczyść w Xcode)


18

W symulatorze spróbuj zmienić urządzenie. Następnie ponownie uruchom aplikację na oryginalnym urządzeniu. To zadziałało dla mnie.

Jeśli pierwszy krok nie działa sam, odznacz opcję: iOS Używa tego samego układu klawiatury co OS X, a następnie zmień urządzenie.

Wymyśliłem to, robiąc przypadkowe rzeczy, aż zadziałało. Naprawianie małpy.


1
Nie musiałem robić pierwszego kroku, ale drugi krok zadziałał. Dzięki!
rob5408

Uwielbiam, że każda odpowiedź na to pytanie jest zupełnie inna. Głupi symulator iOS. Twój zadziałał dla mnie - losowałem to do składania :)
Darragh Enright

To działało dla mnie, z wyjątkiem tego, że nie musiałem wywoływać innego symulatora. Po prostu zamknąłem okno symulatora (możesz mieć teraz wiele okien symulatora i zamknąć je również indywidualnie), a następnie ponownie uruchomiłem aplikację z Xcode, aby ją przywrócić. Na pewno coś niestabilnego w symulatorze. To już od dawna jest problematyczne :(
Ryan H.

17

Żadna z tych sugestii nie zadziałała dla mnie. Zamknąłem aplikację iOS Simulator i uruchomiłem ją ponownie. To naprawiło to dla mnie.


Głupkowaty. Pracował dla mnie.
KeithTheBiped

Jeśli próbowałeś przełączyć klawiaturę za pomocą shift-command-k, spróbuj tego dalej.
KeithTheBiped

@KeithTheBiped Próbowałem shift-command-k bez powodzenia, zanim skończyłem z ponownym uruchomieniem symulatora iOS.
Bukhari

14

Myślę, że tylko z powodu problemu nie wybrałeś opcji `` podłącz klawiaturę sprzętową '' na pasku menu symulatora o nazwie `` Sprzęt ''

Postępuj zgodnie z instrukcjami

Idź do: Sprzęt -> Klawiatura -> Podłącz klawiaturę sprzętową

Mam nadzieję, że pomoże ci to rozwiązać problem, dziękuję.wprowadź opis obrazu tutaj


11

Widzę ten sam problem. Uważam, że problem jest związany z "utknięciem" klawisza polecenia w symulatorze, jeśli obrócisz urządzenie w symulatorze za pomocą skrótów Command-LeftArrow i Command-RightArrow.

Czekając, aż Apple naprawi, jednym ze sposobów obejścia tego jest obrócenie urządzenia poprzez wybranie opcji menu zamiast skrótu klawiaturowego. To obraca urządzenie i wydaje się pozostawić klawiaturę w stanie roboczym.



5

To nie jest problem, po prostu wykonaj te proste kroki.

  1. Otwórz symulator

  2. Going to Top And you See Option Hardware kliknij to.

  3. Po kliknięciu na Sprzęt pojawia się jakaś opcja, a jedną z nich jest Klawiatura.

  4. Kliknij opcję Klawiatura, a pojawią się trzy opcje.

  5. Jeśli chcesz używać klawiatury Mac w prosty sposób, wybierz drugą opcję Podłącz klawiaturę sprzętową.

  6. Jeśli chcesz używać mobilnej klawiatury dotykowej, wybierz trzecią opcję.

  7. Pierwsza opcja jest przeznaczona dla tych, którzy wybierają klawiaturę za pomocą kodu.

Ciesz się tą pracą.


1
Jeśli to nie zadziała. Zabij (zamknij i uruchom) symulator i powtórz te kroki ponownie. Mam nadzieję, że to zadziała.
FARAZ

5

Właśnie zainstalowałem nową wersję Xcode (5.0) i klawiatura w iOS Simulator nie działała przy pierwszym uruchomieniu. Samo ponowne uruchomienie symulatora pomogło.


4

Dla mnie wybierz Symulator, wybierz Sprzęt -> Klawiatura -> Podłącz klawiaturę sprzętową.

U mnie to zadziałało.


3

Właśnie wypróbowałem to, co właśnie powiedziałeś i to prawda, nie zadziała, jeśli przestawię to na poziomo, a potem znowu na portret. Nie ma żadnej logiki, ponieważ moja aplikacja nawet się nie zmienia i działa dobrze na urządzeniu, więc jest to błąd w symulatorze.

Możesz zgłosić to firmie Apple, korzystając z tego:

https://developer.apple.com/bug-reporting/


2

Rozwiązanie, które naprawdę działało u mnie, zostało usunięte z symulatora i stworzyłem nowy. Myślę, że ten błąd często występuje, gdy wszystkie skróty nie działają z klawiatury do symulatora.


2

Zamknij symulator i uruchom następujące polecenie w terminalu:

rm ~/Library/Preferences/com.apple.iphonesimulator.plist


doskonal tę odpowiedź!
Farid Blaster

2

Miałem problem z symulatorem iPhone6 , zmieniłem go na iPhone7 . Na iPhonie7 mogę kontynuować pracę.


1

Jeśli klawiatura Maca nadal jest odłączona po poprawieniu wszystkich opcji i ustawień, jedną z przyczyn jest obracanie urządzenia.

Jeśli CMD+ lub obrócisz urządzenie wcześniej podczas uruchamiania symulatora, klawiatura Maca absolutnie nie będzie działać bez względu na wszystko; zmiana ustawień menu nic nie robi! Pomocne może być użycie klawiatury Maca do wprowadzenia danych wewnątrz urządzenia przed obróceniem urządzenia.

Wyłączenie opcji „Wyślij skróty menu do urządzenia” i ponowne uruchomienie symulatora czasami pomaga. Zaktualizuję, jeśli uzyskam niezawodne, możliwe do odtworzenia zachowanie.

Uważam, że klawiatura Maca działa mniej więcej przez połowę czasu, gdy uruchamiam i opuszczam Symulator. 50% nie jest złe po tych wszystkich latach !?




0

Spotkałem się z tym problemem za każdym razem, gdy obracam symulator. Postępowanie zgodnie z sugestiami dotyczącymi zmiany opcji sprzętowych nie działa dla mnie, ani nie uruchamiaj ponownie symulatora iOS.

Znalazłem sztuczkę polegającą na tym, że kliknięcie obszaru edycji po obróceniu powoduje, że klawiatura Maca w końcu działa.


0

Po zrobieniu tylu rzeczy wystarczyło ponowne uruchomienie komputera i włączenie poniższych czynności.

Włączanie tego w symulatorze: Sprzęt -> Klawiatura -> Podłącz klawiaturę sprzętową


0

W wersji 10.0 (SimulatorApp-851.2 CoreSimulator-518.19) z Xcode 9.3 nic nie działało. Zresetowałem symulator przez Sprzęt -> Wymaż całą zawartość i ustawienia -> Wymaż. Oczyszczono projekt i uruchomiono na symulatorze. Przywrócono połączenie klawiatury.


0

Napotkałem ten problem po usunięciu Main.storyboardi utworzeniu głównego okna w kodzie. Powrót do używania Main.storyboardnaprawił to dla mnie.


0

U mnie to działało na symulatorze iPhone'a 8+ iOS 11.2: 1. Przejdź do Menu -> Sprzęt -> Usuń całą zawartość i ustawienia. 2. Usuń dane pochodne z xcode. Xcode -> Preferencje -> Lokalizacje -> Kliknij strzałkę w prawo po lewej stronie przycisku „Zaawansowane”.


0

dla mnie na otwartym symulatorze w menu twojego Maca kliknij Sprzęt i przejdź do opcji klawiatury i wybierz przełącz klawiaturę programową. jak pokazano


0

Istnieje biblioteka do edycji plików plist o nazwie plistlib. Oto mój kod:

    import plistlib

    file_name = ('path/to/com.apple.iphonesimulator.plist')
    try:
        p = plistlib.readPlist(file_name)
        p["ConnectHardwareKeyboard"] = "NO"
        plistlib.writePlist(p, file_name)
    except:
        print("Failure")

To odczytuje plik plist, zmienia ConnectHardwareKeyboardwartość na, Noa następnie zapisuje nowy plik w tej samej lokalizacji. To działa dla mnie, ale daj mi znać, jeśli jest lepszy sposób, aby to zrobić. Wciąż jestem nowy w kodowaniu.


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.