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?

Deepak Carpenter
źródło
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.
iosCurator
źródło
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

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

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

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

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

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

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

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

Simon Guest
źródło
9

Powtarzanie poniższego polecenia dwa razy działało dla mnie !!

CMD + Shift + K.

Dhaval H. Nena
źródło
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ą.

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

strah
źródło
4

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

U mnie to zadziałało.

Mosib Asad
źródł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/

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

kakashy
źródło
2

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

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

Rohan Sanap
źródło
doskonal tę odpowiedź!
Farid Blaster
2

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

Ashok R
źródło
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 !?

dru
źródło
1

Po prostu ponownie uruchomiłem symulator i zadziałał dla mnie.

Ved Rauniyar
źródło
1

Po prostu użyj CMD + SHIFT + K, a klawiatura włączy się sama.

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

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

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

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

Benedict Cohen
źródło
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”.

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

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

tyler hackett
źródło
0

Właśnie opuściłem swój symulator i zadziałał.

Vikash Sinha
źródło