質問

私は企画、ゲームを必要とした複数のユーザーおよび破壊も修復もおもしろくない方に火をつける複数インスタンスのiPhoneをシミュレーション。私は他に何も見ませんメニューまたはGoogleの検索結果から確認しなかった欠です。

役に立ちましたか?

解決

私が知る限り、だけでなく、あなたは、シミュレータの実行中の複数のインスタンスを持つことはできませんが、時間がテストし、実際のデバイスのために来るとき、あなたがいずれかの実行中のデバッガーの複数のインスタンスを持つことはできません。

これは、マルチデバイスのアプリを行うことを意味し、あなたはそれぞれのアプリを実行する単一のiPhone /タッチデバイス(またはシミュレータのインスタンス)に割り当てられた1台のMacを持っている必要があります。

私はVMWareのか、Parallelsのは何とかこのさせることができるかどうかに探し始めましたが、OSをハッキングすることなく行うことができるという多くがありません。

私は http://bugreporter.apple.com にして機能要求を提出する提案します。

他のヒント

できるだけでなく、エントリーが表示されます。

読: http://www.coderebel.com/2010/08/31/iphone_simulator

といって二つのプロジェクト(P1,P2)するデバッグを同時にしてください。

設定方法:

  1. 新規ユーザー(U2)をMac
  2. このR/WへのアクセスP2、特にビルドフォルダにまとめた。
  3. ダウンロードランチャーアプリからのサイト上でコピーしてくださいます。

テdebug:

  1. 近Xcodeのシミュレータの場合は走行
  2. 打上げのiPhoneランチャー.アプリU1.
  3. 開始XcodeとU1、負荷P1、デバッグしやすくなります。
  4. 打上げのiPhoneランチャー.アプリU2.
  5. 開始XcodeとU2、負荷P2、デバッグしやすくなります。

残念なことでP.I.T.A.この変更ユーザーを出しであるが、これまでのところ、私なります。武器agiは、dexで下がらないboxerぐ.

複数のユーザーを使用せずに簡単にこれを行う方法があります。あなたががデバッガに接続されることはありません覚えておいてください。以下の説明は、をXCodeの6 + のためのものです覚えておいてください。あなたはこの説明をスキップしてすぐ下ラッピング-それアップセクションにスクロールすることができます。

ここの私たちが見ることができます回答のからコマンドラインから任意のシミュレータを起動することができます:

  

オープン-a "iOSシミュレータ" --args -CurrentDeviceUDID

は、コンソール上でxcrun simctl listコマンドを実行して、deviceIDの(だけでなく、すべてのあなたのシミュレータ)を見つけることができます。これは、このようなリストを生成します。デバイスIDは、括弧内のコードである

== Runtimes ==
iOS 8.3 (8.3 - 12F69) (com.apple.CoreSimulator.SimRuntime.iOS-8-3)
== Devices ==
-- iOS 8.3 --
    iPhone 4s (99Z06AC6-A2D6-46E7-B4F7-BA4F5F3F39C8) (Shutdown)
    iPhone 5 (K262AF11-ADD2-4FDA-ACBA-8C80DD9D4AA1) (Shutdown)
    iPhone 5s (337KDC51-0A4B-47DB-8966-83562FD92C93) (Shutdown)
    iPhone 6 Plus (9GK714E2-F713-4F98-A96E-C72ACD6571A8) (Shutdown)
-- iOS 8.2 --
    etc continued....

したがって、一例として、上記使用シミュレータを実行するために、コンソールでこのコマンドを実行します。

open -n /Applications/Xcode.app/Contents/Developer/Applications/iOS\ Simulator.app/ --args -CurrentDeviceUDID '99Z06AC6-A2D6-46E7-B4F7-BA4F5F3F39C8'
-nフラグが-aフラグは、アプリケーション(複数可)の新しいインスタンスを開きながら1がすでに実行されている場合でも、ファイルを開くために使用するアプリケーションを指定しているため、

私たちは、代わりに-nフラグを使用します。すべてこのようなものを知っているman openコマンドを使用します。

また、あなたのシミュレータのための正しいパスを持っていることを確認します。

あなたはこのようなシミュレータを実行した場合、チャンスはあなたが限らシミュレータを持っているということである、注意すべきもう一つ。そして、その限られているので、あなたが画面上にすでにだものを中断することなく、それを起動したい場合があります。ここでは、この回答はからこの問題を解決するところ、彼はcreate a new simulator and delete one.する方法を示しますすることができます> だから、すべてを包む

を、ここにあなたがそれらを起動するために行うものです。

A)まず、それを起動する前にシミュレータを作成します。

使用法: "名前"、 "デバイスタイプID" "ランタイムID" を作成simctl

xcrun simctl create "mynewsimulator" "iPhone 6" "com.apple.CoreSimulator.SimRuntime.iOS-8-3"

あなたは、私が上記走ったコマンドxcrun simctl listコマンドから実行時のIDを検索します。上記のコマンドを実行した後、deviceIDのコンソール画面上に印刷されます。あなたは、以下に示すシミュレータを起動するための最後の引数として必要になりますよう、それをメモしておいてください。のは、このIDを99Z06AC6-A2D6-46E7-B4F7-BA4F5F3F39C8たと仮定しましょう。

B)、それを起動します。

open -n /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/ --args -CurrentDeviceUDID '99Z06AC6-A2D6-46E7-B4F7-BA4F5F3F39C8'

C)あなたのシミュレータで終わったら、それを削除する

xcrun simctl delete 99Z06AC6-A2D6-46E7-B4F7-BA4F5F3F39C8

このすべてが簡単に実行するための単一の.SHファイルに配置することができます。 あなたがSHファイルにこのすべてを置くことにした場合、各コマンドの後waitまたはsleepコマンドを置くことに注意してください。

[EDIT 2017】 私はXCodeの9は現在、複数のシミュレータをサポートすることを参照してください。どのようにそれがすべて動作します見て待ちます。

別のオプション(とはいえ、おそらく行き過ぎ)あなたが持っている場合はMac OS X Serverのライセンスは、Mac OS X Serverのインスタンスを仮想化し、VMに二シミュレータを実行することです。

うーん...私はあなたがここに何が欠けているとは思いません。私の知る限りでは、複数のデバイスをエミュレートすることができSDK内には技術がありません - それは便利な機能が持っていることであろうけれども。私はあなたの唯一のオプションは二iPhone OSデバイスを取得し、あるいはまた、あなたがテストのためにそれを使用させるためのiPhone OSデバイスを持っている友人を取得することだと思います。

XCodeの4では、あなたは、両方がデバッグモードにして持ちながら複数のインスタンスを実行することができます。

私がやったことは私のターゲットの複製を作成し、オリジナルと複製の両方を実行しました。あなたは、出力ウィンドウを使用している場合は、あなたが見ているその出力を切り替えることができます。

順に従ってテストを行います。

いつものためのプロセス全体には、最初の行プロジェクト->編集プロジェクトの設定->クオプションの構築-独立した目標。

  1. バーコードを作成するアプリのシミュレーター、例えばアプリの名前でインスタンス
  2. りシミュレータ
  3. 行プロジェクト->新しい目標->Instance2 追加バンドル表示名Instance2"にInstance2.info.plistファイル セット実行ファイル名:Instance2 選択Instance2対象講演に関するお問い合わせプロジェクトに設定しても活躍す目標>Instance2 作Instance2

注意:全くないリセットシミュレータ リセットシミュレーター->走行シミュレーター->iPhoneをシミュレーター>リセットコンテンツ-設定...

しかし、これらの二つのアプリのシミュレータでの試験アプリのすべてのインスタンス.

希望しないようにしてください:)

から受けることになってしまいが組み合わせに答える Ivstyこの.

基本的には、そのままいをつユーザー(B)、シミュレータにそれぞれが、VNCサーバにユーザBは、その接続からユーザーへのアクセス画面でBせず切り替えます。

上のXcode 9からサポートされます。

(出典:WWDC 2017)

はい、今それは可能だとも非常に簡単です。 あなたが必要とする唯一のものは、Facebookやルビーの宝石からのビルドツールをxctoolています。ルビーの宝石は、テスト中に必要なシミュレータを破壊する/作成するのに役立ちます。

あなたは、このリンク上の完全なマニュアルを読むことができます:

https://github.com/plu/parallel_ios_testsする

私は、このアプローチを使用していると私は同じ時間に4のiOSシミュレータ上で私のテストを実行します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top