Macキーボードを使用してiPhoneシミュレーターのテキストフィールドに入力できませんか?


98

私は縦向きと横向きの両方のモードをサポートする基本的なiOSアプリに取り組んでいます。iPhoneシミュレーターキーボードが横向きで開いているときにアプリを縦向きモードに切り替えると、Macの物理キーボードを使用してテキストフィールドに何も入力できなくなります。

誰かがこれを以前に経験したことがありますか?既知のバグですか?



XCodeのバージョンや使用しているiOS SDKなどの詳細情報を提供できますか?
brimble2010 2013

1
まったく同じ問題があります。また、コンソールに深刻な無効なコンテキスト警告が表示されることもあります。
bilobatum 2013年

回答:


80

私のために働いた素晴らしい解決策を見つけました。
シミュレーターを開き、メニューのハードウェア->キーボードに3つのオプションがあります。

  1. iOSはOS Xと同じレイアウトを使用します:このオプションはMacキーボードを無効にします
  2. ハードウェアキーボードの接続:このオプションはMacキーボードを有効にしますが、キーボードは表示されません。
  3. ソフトウェアキーボードの切り替え:このオプションでは、Macのキーパッドを使用して入力でき、iOSのオンスクリーンキーボードも表示されます。

これは2020年と同じように機能しました...ハードウェアキーボードに切り替えた後、シミュレーターで入力できませんでした
Juan

52

Xcode 9では、iPhone 8+シミュレータでも同じ問題に直面しました。私はこのようにそれを解決することができました:

  1. ~/Library/Preferences/com.apple.iphonesimulator.plistファイルを開く
  2. 問題のあるシミュレータ識別子を見つけます([ デバイスとシミュレータ]ウィンドウに表示されます)
  3. CaptureKeyboardInput値を設定YES
  4. シミュレータを再起動します


2
ありがとう。これは、Xcode 9で私が使用できる唯一の方法です。ハードウェアメニュー内のさまざまな組み合わせを試しても役に立たなかったのです。すべてのシムに手作業で追加しました。シムを破壊して再作成してまだ解決していないか確認しませんでした。アップルがシムをめちゃくちゃにしたのは初めてではなく、おそらく最後になることもないでしょう。:)
StephenFeather 2017

2
あなたはメダルに値します。
Oliver Pearmain

2
これが私を助けた唯一の修正です。ありがとうございました!
gokeji

1
どのような答え仲間、帽子ますオフ
Jaydip

1
うん、これは私にとっての答えです。
どうも

41

入力を開始する前に(スクリーンキーボードが表示されたら)、コマンドキーだけを押してから離します。これにより、シミュレータでキーボードが再び有効になります。


1
この回答は、問題のGoogle検索で表示されます。よくできました、ユージーン。どのようにしてそれを理解しましたか?私が試した他の「ソリューション」よりもはるかに優れています。
Nuthatch、2014

17
キーボードが表示されている間にCMD + Shift + Kを2回入力すると、問題が解決しました。
Chanchal Raj

4
Xcode 9のシミュレーターでは機能しません。何も起こりません。
ホセ・ラミレス

私のために一度働いた。その後、キーボードはしばらくして再び機能しなくなりましたが、今は機能しません。(シミュレーターv10.0、Xcode 9.2)
Ryan H.

37

シミュレータメニューから>>ハードウェア>>キーボード>>ハードウェアキーボードの接続

または

押すだけ ⌘ + ⌂ + K


これは私にとってはうまくいきましたが、シミュレーターを再起動した直後
marcomoreira92

25

iOSシミュレータを起動して有効にしHardware > Keyboard > Connect Hardware Keyboardます。

(誤ってそれを無効にした可能性がありますCMD + SHIFT + K-XcodeのCleanと同じショートカット)


18

シミュレータでデバイスを変更してみてください。次に、元のデバイスでアプリを再度実行します。それでうまくいきました。

最初のステップだけでは機能しない場合は、オプションのチェックを外してください:iOSはOS Xと同じキーボードレイアウトを使用し、デバイスを変更します。

それが機能するまで、私はそれをランダムに行うことを理解しました。サルの修正。


1
最初のステップを実行する必要はありませんでしたが、2番目のステップは機能しました。ありがとう!
rob5408 2014年

この質問に対する答えのほとんどすべてがまったく異なる点が気に入っています。愚かなiOSシミュレータ。あなたは私のために働きました-私はそれを提出物に無作為に入れました:)
Darragh Enright

別のシミュレーターを起動する必要がないことを除いて、これは私にとってはうまくいきました。シミュレーターのウィンドウを閉じて(複数のシミュレーターウィンドウを開いて、個別に閉じることもできます)、Xcodeからアプリを再実行して、再び起動しました。間違いなく、シミュレーターで不安定なもの。長い間問題が続いています:(
Ryan H.

17

これらの提案はどれも私にとってうまくいきませんでした。iOSシミュレータアプリを閉じて再起動しました。それで解決しました。


グーフィー。私のために働いた。
KeithTheBiped 2018

Shift-command-kでキーボードを切り替えた場合は、次にこれを試してください。
KeithTheBiped 2018

@KeithTheBiped再起動のiOSシミュレーターで終わる前に、運のないままshift-command-kを試しました。
ブハリ

14

「ハードウェア」という名前のシミュレーターメニューバーで「ハードウェアキーボードの接続」オプションを選択しなかったのは、問題が原因だと思います

手順に従ってください

ジャンプ:ハードウェア->キーボード->ハードウェアキーボードの接続

問題が解決することを願っています。ありがとうございます。ここに画像の説明を入力してください


11

同じ問題が発生しています。Command-LeftArrowおよびCommand-RightArrowショートカットを使用してシミュレーターでデバイスを回転させる場合、問題はシミュレーターでコマンドキーが「スタック」していることに関連していると思います。

Appleが修正するのを待つ間、これを回避する1つの方法は、キーボードショートカットの代わりにメニューオプションを選択してデバイスを回転させることです。これによりデバイスが回転し、キーボードが動作状態のままになるようです。



5

問題はありません。これらの簡単な手順を実行してください。

  1. シミュレータを開く

  2. Going To Topそして、あなたはオプションハードウェアを見ますこれをクリックしてください。

  3. ハードウェアをクリックすると、いくつかのオプションが表示され、1つのオプションはキーボードです。

  4. キーボードオプションをクリックすると、3つのオプションが表示されます。

  5. Macボタンキーボードを使用する場合は、2番目のオプション[ハードウェアキーボードの接続]を選択します。

  6. モバイルタッピングキーボードを使用する場合は、3番目のオプションを選択します。

  7. 最初のオプションは、コードからキーボードを選択する人向けです。

そのすべての仕事をお楽しみください。


1
それが機能しない場合。シミュレーターを終了(終了して開始)し、これらのステップを再度繰り返します。それがうまくいくことを願っています。
FARAZ 2017

5

新しいバージョンのXcode(5.0)をインストールしたばかりで、iOSシミュレーターのキーボードが最初の起動時に機能しませんでした。シミュレータを再起動するだけで役に立ちました。


4

私にとっては、シミュレータを選択し、ハードウェアを選択->キーボード->ハードウェアキーボードを接続します。

それは私のために働いた。


3

私はちょうどあなたが言ったことを試してみました、そしてそれは本当です、それを私がそれを横に動かして、それから再び縦に動かすならば動かないです。私のアプリは変更されていないため、ロジックはありません。デバイスでは問題なく動作するため、シミュレーターのバグです。

これを使用してAppleに報告できます。

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


2

私にとって本当に効果的な解決策は、シミュレーターを削除して新しいものを作成したことです。このバグは、キーボードからシミュレーターへのすべてのショートカットが機能しない場合によく発生すると思います。


2

シミュレーターを終了し、ターミナルで次のコマンドを実行します。

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


この答えを完璧に!
Farid Blaster

2

iPhone6シミュレータに問題があり、iPhone7に変更しました。iPhone7では、作業を続けることができます。


1

すべてのオプションと設定を修正した後 Macキーボードが接続されていない場合、原因の1つはデバイスの回転です。

あなたがいる場合CMD+ または回転デバイスにシミュレータが起動された初期の時に、Macのキーボードでは絶対に何に関係なく動作しません。メニュー設定を変更しても何も起こりません!デバイスを回転させる前に、Macキーボードを使用してデバイス内に入力すると役立つ場合があります。

[メニューショートカットをデバイスに送信]をオフにしてシミュレータを再起動すると、役立つことがあります。信頼性が高く、再現可能な動作が得られたら更新します。

Macキーボードは、シミュレータを実行して終了したときの約半分の時間で機能することがわかりました。これらすべての年の後に50%は悪くありません!?




0

シミュレータを回転させるたびにこの問題に遭遇しました。ハードウェアオプションを変更する提案に従っても機能しません。iOSシミュレーターを再起動することもできません。

回転後にMacキーボードが動作しなくなってから編集領域をクリックするトリックを見つけました。


0

非常に多くのことをした後、私のマシンを再起動して、以下を有効にするだけでうまくいきました。

シミュレータでこれを有効にする:ハードウェア->キーボード->ハードウェアキーボードの接続


0

Xcode 9.3を搭載したバージョン10.0(SimulatorApp-851.2 CoreSimulator-518.19)の場合、何も機能しませんでした。ハードウェア->すべてのコンテンツと設定を消去->消去でシミュレータをリセットします。プロジェクトをクリーンアップし、シミュレータで実行しました。キーボード接続が戻った。


0

Main.storyboardコードでメインウィンドウを削除して作成した後、この問題に遭遇しました。使用に戻すと、Main.storyboard修正されました。


0

私の場合、これはiPhone 8+シミュレーターiOS 11.2で機能しました:1.メニュー->ハードウェア->すべてのコンテンツと設定を消去します。2. xcodeから派生データを削除します。Xcode-> Preferences-> Locations->「Advanced」ボタンの左側にある右矢印をクリックします。


0

私の場合、シミュレーターを開いて、Macのメニューで[ハードウェア]をクリックし、キーボードオプションにアクセスして、ソフトウェアキーボードを切り替えます。示されているように


0

plistlibと呼ばれるplistファイルを編集するためのライブラリがあります。これが私のコードです:

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

これは、plistファイルを読み取り、ConnectHardwareKeyboard値をに変更してからNo、新しいファイルを同じ場所に書き込みます。これは私にとってはうまくいきますが、もっと良い方法があるかどうか知らせてください。私はまだコーディングの初心者です。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.