What is Generic iOS Device in Xcode 7.1 run destinations list?

I found a strange option in my simulators list in Xcode I've never seen before. Generic iOS Device in Build Only Device

Interesting, but when I try to build for this device - I get error:

A build only device cannot be used to run this target.
Please select an available device or choose a simulated device as the destination.

Can anyone explain - for what purposes do I need this option?

I have Xcode 7.1 and iOS 9.1

enter image description here


Solution 1:

The purpose of that target is to build for iOS devices, even if your phone is not plugged in. You can compile for iOS (armv7, armv8, arm64) architectures and see if there are any errors upon compilation, as these errors may be different than when you build for iPhone Simulator (i386 architecture).

This allows you to build (+B) for iOS architectures, but you will not be able to run your executable on this target, as there is nothing to run the program on.

Solution 2:

Also super-useful now: the Generic iOS Device allows you to Archive without having a device plugged in, so you can package the app and upload to iTunes Connect without needing a device!