Non riesci a digitare nel campo di testo nel simulatore di iPhone utilizzando la tastiera del Mac?


98

Sto lavorando a un'app iOS di base che supporta sia la modalità verticale che quella orizzontale. Quando la tastiera del simulatore di iPhone è aperta in orizzontale e sto passando l'app in modalità verticale, non riesco a digitare nulla in qualsiasi campo di testo utilizzando la tastiera fisica del mio Mac.

Qualcuno l'ha sperimentato prima? È un bug noto?



Puoi fornire maggiori informazioni come la versione di XCode e l'SDK iOS che stai utilizzando per favore?
brimble2010

1
Ho lo stesso identico problema. A volte ricevo anche una lunga serie di avvisi di contesto non valido nella console.
bilobatum

Risposte:


80

Ho trovato un'ottima soluzione che ha funzionato per me.
Apri il simulatore, quindi trova il menu Hardware -> Tastiera ha tre opzioni:

  1. iOS utilizza lo stesso layout di OS X : questa opzione disabilita la tastiera del Mac
  2. Connetti tastiera hardware : questa opzione abilita la tastiera del Mac ma la tastiera non verrà visualizzata.
  3. Attiva / disattiva tastiera software : questa opzione ti consentirà di digitare utilizzando il tastierino del Mac e mostrerà anche la tastiera iOS sullo schermo.

ha funzionato come nel 2020 ... Impossibile digitare sul simulatore, dopo il passaggio alla tastiera Hardrware funziona
Juan

52

In Xcode 9 ho affrontato lo stesso problema con il simulatore di iPhone 8+. Sono riuscito a risolverlo in questo modo:

  1. Apri ~/Library/Preferences/com.apple.iphonesimulator.plistfile
  2. Trova l' identificatore problematico del simulatore (mostrato nella finestra Dispositivi e simulatore )
  3. Imposta il CaptureKeyboardInputvalore suYES
  4. Riavvia il simulatore


2
Grazie. Questa è l'unica cosa che funziona per me in Xcode 9. Avevo provato le varie combinazioni all'interno del menu hardware senza alcun risultato. Sono andato e l'ho aggiunto manualmente a tutti i miei sim. Non ha ancora distrutto e ricreato un sim per vedere se anche questo lo ha risolto. Non è la prima volta che Apple ha rovinato i sims, probabilmente non sarà nemmeno l'ultima. :)
StephenFeather

2
Ti meriti una medaglia.
Oliver Pearmain

2
Questa è l'unica soluzione che mi ha aiutato. Grazie!
gokeji

1
che risposta fratello, tanto di cappello
Jaydip

1
Sì, questa è la risposta per me. Grazie mille
Witalo Benicio

41

Prima di iniziare a digitare (quando viene visualizzata la tastiera su schermo), premi solo il tasto Comando e poi rilascialo. Questo dovrebbe riattivare la tastiera nel simulatore.


1
Questa risposta è visibile in una ricerca su Google per il problema. Ben fatto, Eugene. Come l'hai capito? Molto meglio delle altre "soluzioni" che ho provato.
Picchio muratore

17
Digitando due volte CMD + Maiusc + K mentre viene visualizzata la tastiera, ho risolto la questione.
Chanchal Raj

4
Non funziona nel simulatore da Xcode 9. Non succede nulla.
Jose Ramirez

Ha funzionato per me una volta. Poi la tastiera ha smesso di funzionare di nuovo per me non molto tempo dopo e ora non funziona. (Simulator v10.0, Xcode 9.2)
Ryan H.

37

Dal menu Simulatore >> Hardware >> Tastiera >> Connetti tastiera hardware

O

basta premere ⌘ + ⌂ + K


questo ha funzionato per me, ma subito dopo aver riavviato il simulatore
marcomoreira92

25

Avvia iOS Simulator e abilitalo Hardware > Keyboard > Connect Hardware Keyboard.

(Potresti averlo disabilitato accidentalmente premendo CMD + SHIFT + K- stessa scorciatoia di Clean in Xcode)


18

Sul simulatore prova a cambiare il dispositivo. Quindi esegui di nuovo l'app sul dispositivo originale. Ha funzionato per me.

Se il primo passaggio da solo non funziona, deseleziona l'opzione: iOS utilizza lo stesso layout di tastiera di OS X e quindi cambia il dispositivo.

L'ho capito facendo cose casuali finché non ha funzionato. Riparazione della scimmia.


1
Non ho dovuto fare il primo passaggio, ma il secondo ha funzionato. Grazie!
rob5408

Adoro come quasi ogni risposta a questa domanda sia completamente diversa. Simulatore iOS stupido. Il tuo ha funzionato per me - l'ho inviato a caso :)
Darragh Enright

Questo ha funzionato per me, tranne per il fatto che non avevo bisogno di aprire un altro simulatore. Ho semplicemente chiuso la finestra del simulatore (ora puoi avere più finestre del simulatore e chiuderle anche singolarmente), quindi ho rieseguito l'app da Xcode per ripristinarla. Sicuramente qualcosa di traballante con il simulatore. È stato problematico da molto tempo ormai :(
Ryan H.

17

Nessuno di questi suggerimenti ha funzionato per me. Ho chiuso l'app iOS Simulator e l'ho riavviata. Questo ha risolto il problema per me.


Sciocco. Ha funzionato per me.
KeithTheBiped

Se hai provato a commutare la tastiera con maiuscole-comando-k, prova questo successivo.
KeithTheBiped

@KeithTheBiped ho provato shift-command-k senza fortuna prima di finire con il riavvio del simulatore iOS.
Bukhari

14

Penso che sia solo a causa di un problema che non hai selezionato l'opzione "Connetti tastiera hardware, nella barra dei menu del simulatore denominata" Hardware "

Si prega di seguire i passaggi

Vai a: Hardware -> Tastiera -> Collega tastiera hardware

Spero che ti possa aiutare con il problema, grazie.inserisci qui la descrizione dell'immagine


11

Sto vedendo lo stesso problema. Credo che il problema sia correlato al tasto di comando "bloccato" nel simulatore se si ruota il dispositivo nel simulatore utilizzando le scorciatoie Command-LeftArrow e Command-RightArrow.

Mentre aspettiamo che Apple risolva il problema, un modo per aggirare il problema è ruotare il dispositivo selezionando l'opzione di menu invece della scorciatoia da tastiera. Questo fa ruotare il dispositivo e sembra lasciare la tastiera in uno stato funzionante.


9

Ripetere il comando sotto due volte ha funzionato per me !!

CMD + MAIUSC + K


5

Non è un problema, basta eseguire questi semplici passaggi.

  1. Apri simulatore

  2. Andando in alto e vedete l'opzione Hardware cliccate su questo.

  3. Quando fai clic su Hardware vengono visualizzate alcune opzioni e una delle opzioni è Tastiera.

  4. Fare clic sull'opzione Tastiera e vengono visualizzate tre opzioni.

  5. Se desideri utilizzare la tastiera con i pulsanti del Mac, seleziona la seconda opzione Connetti tastiera hardware.

  6. Se si desidera utilizzare la tastiera toccando il cellulare, selezionare la terza opzione.

  7. La prima opzione è per coloro che selezionano la propria tastiera tramite codice.

Goditi tutto il lavoro.


1
Se non funziona. Uccidi (chiudi e avvia) il simulatore e ripeti di nuovo questi passaggi. Spero che funzioni.
FARAZ

5

Ho appena installato una nuova versione di Xcode (5.0) e la tastiera in iOS Simulator non ha funzionato al primo avvio. Il solo riavvio del simulatore ha aiutato.


4

Per me, seleziona Simulatore, Seleziona Hardware -> Tastiera -> Collega tastiera hardware.

Ha funzionato per me.


3

Ho appena provato quello che hai appena detto ed è vero, non funziona se lo sposto in orizzontale e poi di nuovo in verticale. Non ha alcuna logica perché la mia app non cambia nemmeno e funziona bene nel dispositivo, quindi è un bug nel simulatore.

Puoi segnalarlo ad Apple usando questo:

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


2

La soluzione che funziona davvero per me, è stata eliminata dal simulatore e crearne uno nuovo. Questo bug penso che si verifichi comunemente quando tutte le scorciatoie non funzionano dalla tastiera al simulatore.


2

Esci dal simulatore ed esegui il seguente comando nel terminale:

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


perfetta questa risposta!
Farid Blaster

2

Ho avuto problemi con il simulatore iPhone6 ​​l' ho cambiato in iPhone7.Su iPhone7 posso continuare il mio lavoro.


1

Se la tastiera del Mac è ancora scollegata dopo aver corretto tutte le opzioni e le impostazioni, una causa è la rotazione del dispositivo.

Se si CMD+ o per ruotare il dispositivo in anticipo all'avvio del simulatore, la tastiera del Mac non funzionerà assolutamente, non importa quale; la modifica delle impostazioni del menu non fa nulla! Potrebbe essere utile utilizzare la tastiera del Mac per inserire dati all'interno del dispositivo prima di ruotare il dispositivo.

Disattivare "Invia collegamenti del menu al dispositivo" e riavviare il simulatore a volte aiuta. Aggiornerò se ottengo un comportamento affidabile e ricreabile.

Trovo che la tastiera del Mac funzioni circa la metà del tempo che corro e chiudo Simulator. Il 50% non è male dopo tutti questi anni !?




0

Ho incontrato questo problema ogni volta che ruoto il simulatore. Seguire i suggerimenti per modificare le opzioni hardware non funziona per me, né riavviare iOS Simulator.

Ho trovato un trucco che fa clic sull'area di modifica dopo la rotazione per far funzionare la tastiera del Mac.


0

Dopo aver fatto così tante cose, solo un riavvio della mia macchina e l'abilitazione di quanto segue hanno funzionato.

Abilitando questo nel simulatore: Hardware -> Tastiera -> Connetti tastiera hardware


0

Per la versione 10.0 (SimulatorApp-851.2 CoreSimulator-518.19) con Xcode 9.3, niente ha funzionato per me. Ripristino il simulatore da Hardware -> Cancella tutto il contenuto e le impostazioni -> Cancella. Pulito il progetto ed eseguito sul simulatore. La connessione della tastiera è tornata.


0

Mi sono imbattuto in questo problema dopo aver rimosso Main.storyboarde creato la finestra principale nel codice. Tornare a usare lo ha Main.storyboardrisolto per me.


0

Per me questo ha funzionato sul simulatore di iPhone 8+ iOS 11.2: 1. Vai su Menu -> Hardware -> Cancella tutti i contenuti e le impostazioni. 2. Eliminare i dati derivati ​​da xcode. Xcode -> Preferenze -> Posizioni -> Fare clic sulla freccia destra sul lato sinistro del pulsante "Avanzate".


0

per me, sul simulatore aperto, nel menu del tuo Mac, fai clic su Hardware e raggiungi l'opzione della tastiera e seleziona Attiva / disattiva la tastiera del software. come mostrato


0

C'è una libreria per modificare i file plist chiamata plistlib. Ecco il mio codice:

    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")

Questo legge il file plist, cambia il ConnectHardwareKeyboardvalore in Noe quindi scrive il nuovo file nella stessa posizione. Questo funziona per me, ma fammi sapere se c'è un modo migliore per farlo. Sono ancora nuovo nella programmazione.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.