iOSシミュレーターはシミュレーターなので、なぜそれ専用にビルドする必要があるのですか?ある種のVM/サンドボックスで実際のコードを実行するというシミュレーターのポイントではありませんか?
では、デバイス/シミュレーターのビルドがどのように機能するか、そして結果としてビルドされるアプリがどのように異なるかについて、実際の違いは何ですか?
iOSシミュレーターはシミュレーターなので、なぜそれ専用にビルドする必要があるのですか?ある種のVM/サンドボックスで実際のコードを実行するというシミュレーターのポイントではありませんか?
では、デバイス/シミュレーターのビルドがどのように機能するか、そして結果としてビルドされるアプリがどのように異なるかについて、実際の違いは何ですか?
An application running natively on an iOS device is an ARM program. However, an application running in the iOS Simulator is an ordinary 32-bit (i386 architecture) Mac OS X program. In other words, the Simulator doesn’t simulate an iOS device down to the hardware level. It provides a faithful copy of the iOS environment, reimplemented to run natively on the Mac.
The simulator build uses the i386 instruction set, since that is what your mac uses.
When you build for an iOS device, you are building either for the armv6 or armv7 instruction sets.
The point of the simulator is so that you can do some quick testing on your mac, without needing to use a device.
To learn more about instruction sets: http://en.wikipedia.org/wiki/Instruction_set
シミュレーターとデバイスは同じコードをまったく同じように実行する必要がありますが、注意すべき問題はほとんどありません。
シミュレーターは、デバイスが実行できるすべての機能を実行できるわけではありません。たとえば、シミュレーターはカメラと対話せず、GPSデータは存在しません(ただし、オプションから固定位置を設定できます)。行。
シミュレーターを使用すると、開発中にデバイスにコードをダンプするよりもはるかに高速にコードと機能をチェックできますが、シミュレーターはコンピューターのメモリとCPUを使用しているため、実際のデバイスのパフォーマンス、速度、メモリは反映されません。賢い。
コードが安定していて計画どおりに機能している場合は、主にシミュレーターでテストおよび開発することをお勧めします。デバイス固有のパフォーマンスやその他の問題について、デバイス自体でテストするときが来ました。
このトピックについてさらに詳しく説明することはできますが、これはあなたの質問に対する簡単な答えです。