アプリをテストしようとすると、このエラーが発生します。
ビルド専用デバイスを使用してこのターゲットを実行することはできません。
サポートされているiOSデバイスは利用できません。デバイスを接続してアプリケーションを実行するか、シミュレートされたデバイスを宛先として選択します。
回答:
-destination 'platform=iOS Simulator,name=iPhone 6,OS=9.3'あなたに追加xcodebuild
xcodebuild test -project YourProject.xcodeproj -scheme YourProject -destination 'platform=iOS Simulator,name=iPhone 6,OS=9.3'
xcodebuild。必要なのは、パラメーターを指定してこのコマンドを実行することだけです
「汎用iOSデバイス」しか選べないという問題があります。実行すると、「ビルド専用デバイスを使用してこのターゲットを実行することはできません。サポートされているiOSデバイスは利用できません。デバイスを接続してアプリケーションを実行するか、シミュレートされたデバイスを宛先として選択してください」と表示されます。
この問題の解決策は、[ビルド設定] ---> [展開] -----> [IOS展開ターゲット] ----> 8.0などの下位バージョンを選択することです。
シミュレーターが出てきて、選択できることがわかりました。
有効な宛先のリストを取得する必要があります。これを行うには、誤ったキーと値のペアを指定すると、xcodebuildは機能する組み合わせを吐き出します。
宛先リストコマンド
xcodebuild test -destination 'platform=iOS Simulator' -workspace Register.xcworkspace -scheme ThatTestTarget
出力例
Available destinations for the "ThatTestTarget" scheme:
{ platform:iOS Simulator, id:145A9B7E-B336-4819-8059-2FFEC408E05E, OS:11.1, name:iPad (5th generation) }
{ platform:iOS Simulator, id:69ABAF6F-ADA3-4E38-AC97-D71001447663, OS:9.3, name:iPad 2 }
{ platform:iOS Simulator, id:550E2F18-406D-4586-84BB-E48F1D704F27, OS:10.3.1, name:iPad Air }
{ platform:iOS Simulator, id:94734F1C-775F-40FA-9015-8196C08805EF, OS:11.1, name:iPad Air }
{ platform:iOS Simulator, id:1DB953DD-CD97-4EC7-8006-BCF01DF3E63F, OS:11.1, name:iPad Air 2 }
{ platform:iOS Simulator, id:DE3072DA-2E31-423D-9D77-220626F8B90A, OS:11.1, name:iPad Pro (9.7-inch) }
{ platform:iOS Simulator, id:3B5D18DB-13B5-4F28-B654-7D2ECDD1F6F0, OS:11.1, name:iPad Pro (10.5-inch) }
{ platform:iOS Simulator, id:A4225E3A-512C-4F42-ADD9-1E7E448C4D27, OS:11.1, name:iPad Pro (12.9-inch) }
{ platform:iOS Simulator, id:684FF1BA-8784-4B7C-B4E5-5231772F0FAC, OS:11.1, name:iPad Pro (12.9-inch) (2nd generation) }
等号のコロンを変更し、スペースを削除し、IDを無視します
したがって、この宛先を使用する場合:
platform:iOS Simulator, id:684FF1BA-8784-4B7C-B4E5-5231772F0FAC, OS:11.1, name:iPad Pro (12.9-inch) (2nd generation)
カンマのコロンを変更し、スペースを削除し、IDを削除すると、次の文字列が得られます。
platform=iOS Simulator,OS=11.1,name=iPad Pro (12.9-inch) (2nd generation)
その場合、コマンド全体は次のようになります。
xcodebuild test -destination 'platform=iOS Simulator,OS=11.1,name=iPad Pro (12.9-inch) (2nd generation)' -workspace Register.xcworkspace -scheme ThatTestTarget
アプリをコンパイルしているXcodeの「BuildOnlyDevice」用にビルドしています。ARMプロセッサ用(シミュレータ用にコンパイルすると、MacのIntel CPUがターゲットになります)。
デバイスを接続して、アクティブなスキームのポップアップから選択するか、シミュレーターの1つを選択すると、準備が整います。
エラーが発生した場合の価値A build only device cannot be used to run this targetについては、Issuenavigatorで次のテキストを参照してください。
ProjectName
ターゲットの整合性:
iOSデプロイメントターゲット「XX.X」は
、
ターゲットProjectNameのSDK「iOSYY.Y」よりも新しい
問題は、プロジェクトに、ご使用のバージョンのXcodeで使用可能なものよりも新しいiOSSDKが必要なことです。この問題は、たとえば、ARKitなどの新しい/ベータ版のiOSSDK機能を利用するプロジェクトで発生します。
解決策は、Xcodeの最新のベータ版をダウンロードすることです。これは、アプリケーションが必要とする非公開のiOSSDKをサポートしている必要があります。最新のXcodeをお持ちの場合は、でターゲットiOSを見つけてみてくださいPreferences -> Components -> Simulators。
私の場合、これは、汎用iOSデバイスを選択し、それをAppStoreに公開するために「ビルド」しようとしたときに発生しました。
しかし、代わりに[製品]-> [アーカイブ]を選択する必要がありました
エミュレータのこの問題を修正しました。
まず、エミュレータリストを確認します
ウィンドウ>デバイスとシミュレーター
任意のデバイスを選択し、[OSバージョンの確認]をクリックした後
Apple Watch OSしかない場合は、新しいIOSシミュレータをダウンロードする必要があります
シミュレータランタイムをさらにダウンロードするをクリックします。
正しいIOSシミュレータを選択し、ダウンロードしてください。
同じエラーメッセージが表示されました。これが私がこれまでに経験し、行ったことです。
ステップ1:ターゲットを確認します。
私の現在のターゲットはIOS13.2です。ここから、現在マシンにあるバージョンは表示されません。
ステップ2:ローカルで利用可能なバージョンを確認する
- 汎用IOSデバイスをクリックします
- これにより、ダウンロードシミュレータ...の選択を含むドロップダウンメニューが表示されます。
- Download Simulators ...の選択が表示されない場合は、ターゲットを下げる必要があります。私の場合、13.2から13.0にし(これは現在のXCodeによって異なります)、手順2をもう一度繰り返します。
- ここから、ダウンロードシミュレーター...の選択を確認できます。
- それを選択してください
- これで、使用可能なバージョンがわかります。
- ここから、ダウンロードするか、お持ちのバージョン(選択したバージョン)を使用するかを選択できます。
ステップ3:それに応じてIOSターゲットを変更します
- ローカルで使用可能なシミュレータのバージョンがわかったので、IOSターゲットを変更できます。
- 私の場合、IOS 11を使用することを選択します(このサンプルのみ)
- 次に、ターゲットを変更します
- もう一度汎用IOSデバイスをクリックします
- ここから、そのIOSで任意のシミュレーターを選択できるようになりました
私は専門家ではありません。自分の経験を共有したかっただけです。これが誰かの助けになることを願っています。