iOS App Development: The Limitations of the Simulator - dummies

iOS App Development: The Limitations of the Simulator

By Jesse Feiler

Keep in mind that, despite the Simulator’s many virtues, running iOS apps in the Simulator is still not the same thing as running them on an iOS device. Here’s why:

  • Different frameworks: The Simulator uses OS X versions of the low-level system frameworks, instead of the actual frameworks that run on the device. That means that occasionally some code may run fine in the Simulator but not on iOS devices. Although the Simulator is useful for testing functionality, debug the app on the device itself if you want to find out how it will really run.

  • Different hardware and memory: The Simulator uses the Mac hardware and memory. To accurately determine how your app will perform on an honest-to-goodness iOS device, you have to run it on a real iOS device.

  • Different installation procedure: Xcode installs your app in the Simulator automatically when you build the app using the iOS SDK. It’s a different kettle of fish to install your app on the device for testing. And, by the way, you don’t have a way to get Xcode to install apps from the App Store in the Simulator.

  • Lack of GPS: You can’t fake the Simulator into thinking that it’s lying on the beach at Waikiki.

    You can, however, choose to simulate a location in the Debug area.

  • Two-finger limit: You can simulate a maximum of two fingers. If your application’s user interface can respond to touch events involving more than two fingers, you need to test that on an actual device.

  • Accelerometer differences: You can access your computer’s accelerometer (if it has one) through the UIKit framework. Its reading, however, will differ from the accelerometer readings on an actual iPad.

  • Differences in rendering: OpenGL ES (Open Graphics Library for Embedded Systems) is one of the many 3D graphics libraries that works with the iOS SDK. It turns out that the renderers it uses on devices are different from the ones it uses in the iOS Simulator. As a result, a scene on the Simulator and the same scene on a device may not be identical at the pixel level.

  • Telephony: You can’t make a phone call on the iPhone simulator.