Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

What are my options? I've heard that iPhone emulator is not reliable. Also is it possible for me to buy iphone apps without even owning an iphone?

BTW, I am running linux and a windows VM.

Thanks!

share|improve this question

migrated from apple.stackexchange.com Mar 29 '11 at 23:39

This question came from our site for power users of Apple hardware and software.

    
This question is about developing for Apple devices. Per our FAQs, these questions belong on a different site. –  Nathan G. Mar 29 '11 at 23:38

3 Answers 3

First of all, if you want to develop iPhone app and put them on the App Store, you must have a Mac running Mac OS X.

To test your app on your computer, the emulator is the only solution.

If you want to test it on a real device, you'll have to buy the iOS Developer Program ($99 per year).

If you don't want to buy an iPhone, you might want to look for an refurb iPod Touch, they'll probably be cheaper. But you won't have a GPS and 3G connection, so if your app rely on that, you'll probably have to buy an iPhone.


You can buy apps without owning an iPhone, on iTunes in the App Store, but you won't be able to use them, not even on the emulator.

share|improve this answer
    
any problem with osx on VM? –  Aditya P Mar 30 '11 at 9:59

Is it possible to develop without owning an iPhone? Yes. Is it a good idea? Absolutely not.

First, it's an iPhone Simulator. It's not an emulator. Xcode compiles x86 code and that's what's executed, and it runs against OS X rather than iOS. This means that it's sometimes possible to use methods that exist on OS X but do not exist on real devices. (Xcode is better at this than in the olden days.)

Since it runs x86 and not ARM code, it should be obvious that the Simulator can't run App Store apps.

Second, the performance characteristics are completely different. Some things are quicker on the Mac, others are (surprisingly) quicker on the phone.

Finally, I've been talking about "your Mac" because you really need a Mac if you want to submit to the App Store. You might be able to get a Windows or Linux build environment but you'd be asking for trouble if you tried to get it published.

share|improve this answer
    
Do you have a link to the simulator you are referring to? –  jmq Mar 30 '11 at 1:30
1  
It's included in the latest versions of XCode. –  Slomojo Mar 30 '11 at 1:46

The emulator is only "unreliable" insofar as the graphics will run differently, certain controls won't display properly in the emulator, and a lot of gestures can't be made in the emulator. It just simply isn't the same as a real device. Other than that, it is fine for most development. But you will eventually need to run your app on an actual iOS device to ensure your app runs as intended and expected.

The emulator can't be used to run apps that you have purchased, if that is what you are getting at with your last question.

share|improve this answer
    
There's a lot more wrong with depending on the Simulator: the CPU and memory performance are wildly different, and even some of the iOS APIs behave differently (work on Sim, crash on device, etc.). –  hotpaw2 Mar 30 '11 at 2:57

protected by gnat Dec 20 at 11:34

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?