iPhone SDK Simulator Limitations
March 17th, 2008 Posted in Software Development, iPhone
I’ve been playing a lot with the iPhone SDK and the “Aspen” iPhone Simulator. The simulator works great for testing standard application features like navigating through views and pressing buttons. Where the simulator is severely lacking is in testing with many of the nice hardware features the iPhone possesses. Here is a summary of the iPhone Simulator deficiencies that I have found so far:
3D Graphics
The OpenGL framework is not supported on the simulator. 3D graphics applications will most likely be some of the most complex applications developed for the iPhone. Not having a simulated environment is bound to slow down development on these types of applications.
Camera
Using the UIImagePickerController class of the UIKit framework does not support acquiring images directly from the camera. It would be nice if the Simulator could use a camera attached to your computer such as the iSight camera built right into my MacBook Pro. As a consolation you are able to use the UIImagePickerController to select the default images stored on the Simulator. Also, I haven’t found a way to access the camera hardware directly. I had hoped to be able to use to camera to create video clips but this may not be possible with the SDK.
Accelerometer
There is no way to simulate the 3-axis accelerometer. It would be nice if you could simulate accelerometer data by entering values into a simple dialog. You are able to change the orientation of the simulator between portrait and landscape so you can test rotating views.
Multi-Touch Interface
Let’s face it the multi-touch interface is one of the features that makes the iPhone special. The simulator only lets you simulate a single touch event at a time. I would like to be able to use the multi-touch track pad on my MacBook to simulate multi-touch events on the simulator. It would also be nice if there was a touch event editor where developers could create multi-touch scenarios and play them back on the simulator.
Location
There is no way to simulate the iPhone’s ability to location its longitude and latitude by cell tower triangulation. It would by nice to have a simple interface allowing developers to enter longitude and latitude and have it feed into the simulator.
Multiple Simulator Instances
You can only have a single simulator instance running at a time. I want to be able to have multiple simulators running at the same time to test communication between iPhones. I would need multiple Macs running simulators to do that now.
The simulator is a great tool but it could be much better. Most of the above deficiencies could be fixed fairly easily. Testing applications on the simulator is always going to be faster and safer then deploying to an iPhone device for testing.












Related Articles:

Hi, I found your blogpost while searching for a way to use the camera on the SDK. Do you know if the SDK beta 5 release gives you this ability? I’ve been playing around with the SDK, and I can’t get the camera function to work yet. But I don’t know if it’s just that my code is buggy or because the SDK doesn’t support it. Have you found any success while using the camera feature?
I have been trying to find a way to use the camera too, and found your BlogSpot searching for that. Apparently there’s no way ( or no trivial way ) to do it.
If you guys know anything please post it
Hi,
Lack of the Accelerometer is not a problem anymore.
I made an accelerometer simulator, what doesn’t need any iphone/ipod to be connected to the computer.
You can download it and see the entire description at http://www.iphonearch.com/topic/6/iphone-accelerometer-simulator
Cheers
For multitouch simulation: hold Opt or Shift-Opt while moving the mouse. I haven’t tried it but perhaps input events can be played back/edited with the Instruments application.