What should I buy iPad or iPhone 4 for iPhone SDK 4? - iphone

Now, I'm developing on iPhone SDK3 and iPodTouch 2G. iPodTouch 2G can't do full function of iOS4. I want to change iPhone SDK4 development.In july, iPhone 4 and iPad will available in singapore. So, What should I buy iPad or iPhone 4 for iPhone SDK 4 ?
What different between iPad API and iPhone 4 API ?
How about market ?
Can I write iPhone app with iPad ?

Each version of the OS has the same API for all devices, but some of them don't support all all features. For example, the UIImagePickerController allows the user to select a photo. On an iPhone, they can take a picture with the camera or pick an existing photo from their Photo Library. With iPad and iPod Touch, there is no camera, so the user could only pick a picture from their Photo Library.
If you are relying on hardware features such as camera, compass, gyroscope, accelerometer for your application, you'd need a device that has this feature as the emulator does not them.
iPhone 4 has all of the hardware features of all iPhone, iPod Touch and iPad devices. Buying an iPhone 4 with or without contract is going to cost some money, but if you're developing an application you can recover the cost with sales of your app or iAd revenue.
If your application does not need specific hardware, then the best choice for you is going to depend on cost and whether you will use the device each day. A second-hand iPhone 3GS will do almost all iOS 4.0 features except front-facing camera and gyroscope.

The iPad runs iOS 3.2 currently. Apple has said that 4.0 won't be available for the iPad until "Fall" (aka Autumn). So if you want to test 4.0 apps in July on a real device (not just the simulator), you'll need an iPhone 3GS or 4.

I'm not experiences in ObjectiveC but I guess it really depends of what you want to do. You can do everything in the emulator so I guess you want the real devices to do proper testing over your applications. The only difference between both is that iPad doesn't have the new 6 axis acelerometer and doesn't have frontal camera. Apart from that the API should be the same (removing the support for phone calls oviously). I dont know what apple is going to do about games and so on but I guess the solution will be the same than between 3gs Iphone and IPad. Since the Ipad screen resolution is still bigger than the new Iphone one, you should be able to run any iPhone application (even the new ones) in your IPad (unless they use frontal camera or any other functionality not present in the iPad).
In resume, If you only want the device for development I whould buy an IPad since you can develop and test IPad and IPhone applications, so it is much more versatile. If you have an IPhone forget about testing IPad apps since you have not enough resolution.
Hope it helps.

Related

Use iPhone 5 for Retina 3,5" debugging

I recently gave my iPhone 4 to a friend so I don't have a Retina 3,5" Device anymore.
I wondered if theres a way without much tweaking the app code to get the 3,5" Version on the iPhone 5(like an App which isn't optimized).
If you do not include (or temporarily remove) Default-568h#2x.png if will run as a 3,5" app.
The simplest way would be to test on the iPhone simulator and change the hardware from retina 4 inch to retina 3.5 inch!
Or ask your friend to borrow their phone and test it on the device which involves certificates so it's slightly more inconvenient.
Either way, it's not too hard to test on multiple devices. Additionally, if you have an iPod touch that is older than the 5th generation, that works too.
Generally you can purchase, cheaply, used iPod touches online to use for development testing. Good luck!

Is the iPod touch 4th generation good as a testing device

I am planing to get iPod touch 4th generation 8GB to test my apps on it, as it has the same memory as the iPhone 3Gs (256MB) but speed and reselution as the iPhone 4 plus 3-axis gyroscope, my qustion is with todays top line devices (iPhone 4s & iPad2) is the iPod touch 4 can be considered as lowest specification to target? I know that I should have several deferent devices laying around but for now I just need to get the first one, what would you advice me? Thanks in advance.
iPod is a good test device but it does not have A-GPS, neither you can test for Call APIs, neither you can check SMS APIs at some instances you'll find yourself blocked during testing. I do have a 3GS,4, 4s abd iPod touch. I myself have faced this condition many times so if you have any funding issue and you want to get the lowest test device with OS5, you must get iPhone 3GS at least which will give you full featured testing facility and you can test with all APIs in the apple's developer plate.!!!
The iPod Touch 4G has about the same performance as an iPhone 4. So if you don't want to target the iPhone 3GS or if you don't care whether your app will run smoothly on iPhone 3GS then the iPod Touch 4G is a good testing device. However, the iPhone 3GS is still being sold so you might want to target that (or use an iPod Touch 3G which has similar performance but is cheaper). If you want to target iPhone 3GS/iPod Touch 3G you might also want test with a retina device as these are "standard" now.

difference between developing for iphone 3gs and for iphone 4

I've developed application for the original iPhone, the 3G and the 3GS, now I need to develop an application for the iPhone 4. What is the difference between developing an application for iPhone 3GS and the iPhone 4?
The most noticeable change is the Retina Display and you should include #2x images in your project to support this. Other than that unless you plan on taking advantage of new hardware (gyroscope for example) or the graphics and cpu improvements, there is very little difference. Also you should reference the SDK Compatibility Guide for tips on maintaining backwards compatibility and/or supporting features available only on certain devices.
The iPhone 3GS uses a 480-by-320-pixel resolution screen where as the iPhone 4 (and 4S) uses a 960-by-640-pixel resolution screen.
As #Joe says, there is very little other differences.

Which iOS devices should we have for reasonable functionality and performance testing?

We are developing our first iPhone game, and all is going OK for now. We are testing on an iPhone 3GS and an iPad 1. We were wondering which devices should we test on to make sure that also people with older devices will be able to play the game and actually enjoy it.
I have been recommended to get an iPod Touch 2nd generation; since these do not come cheap, I wanted to ask more experienced people for their opinion. I have found a couple of these on eBay from respectable sellers; one is a jailbroken device with iOS 4, the other is a regular iPod Touch 2nd generation with iOS 3.
I looked through past topics on the same subject, and most recent one was about 1 year ago, so things might have changed. Thanks for your help!
If you're checking on an iPhone 3GS then you probably don't need an iPod Touch as well. Although it wouldn't hurt as a secondary testing device.
I think either the iPad 2 or iPhone 4 would be good alternatives.. I know the iPhone 4 includes retina display so you'll be working at 326dpi. Much higher resolution for graphics and UI elements than previous iPhone and iPod Touch generations.
iOS devices fall into following categories for performance:
iPhone, iPhone 3G, iPod Touch 1G: 412MHz, 128MB RAM
iPod Touch 2G: 533MHz, 128MB RAM
iPhone 3GS, iPod Touch 3G: 600MHz, 256MB RAM
iPod Touch 4G: 800MHz, 256MB RAM
iPhone 4: 800MHz, 512MB RAM
iPhone 4S: Dual-Core 800MHz, 512MB RAM
iPad 1: 1GHz, 256MB RAM
iPad 2: Dual-Core 1GHz, 512MB RAM
For more details, see this Wikipedia article.
It would probably be beneficial to have as many of these categories covered as possible, especially if you want enable/disable certain things to optimize graphics/performance for each device. At minimum, I would suggest getting a device in that first group so you can make sure your game can run on the least powerful hardware.
I would also suggest getting an iPhone 4 in order to have Retina Display graphics. Retina Display graphics are generally expected in new games these days, and although you could test it in the simulator, I would suggest having an iPhone 4 handy to test it on a real device as well.
If you plan on a Deployment Target for your apps lower than iOS 4.3, you will need to find an armv6 architecture device on which to test, preferably running the iOS version of the lowest version iOS Deployment Target which you plan on supporting. armv6 devices include the iPhone 2G, 3G and the 1st and 2nd gen iPod Touch.
The 3GS has a newer CPU that runs armv7, so that's fine for Deployment Targets of 4.3 and above.
It all depends on what version of iOS you are developing for.
In an ideal world, you would be able to test your product on all the devices that support the OS you are developing.
If this is not an option, you should just need the bare minimum devices that the OS can run on:
iOS 3: iPhone (original), iPod Touch (1st generation), iPad
iOS 4: iPhone 3G, iPod Touch (2nd generation), iPad
iOS 5: iPhone 3GS, iPod Touch (3rd generation), iPad
One can assume that if your product runs well on these devices, it will run well (if not better) on devices of greater power.

It is possible to use a iPod Touch 4 to develop iOS app running and published for both iPhone and iPod Touch?

I want to develop app and games on IOS platform。
Can I use a iPod Touch 4 to develop games for iPhone and iPod Touch? ( leave out the hardware difference, like GPS or phone call )
If it could, when I complete my app and debugged with iPod Touch, is it has some limit to publish my app in Apple App Store?
You can use an iPod Touch to do the hardware debugging (as long as you aren't using iPhone specific hardware), there is no requirement for an iPhone, you can also use the simulator to help debug. Apple has no limitation on requiring you to debug on an iPhone.
In Short, Yes you can develop without testing on an iPhone and publish to the app store with no issues.
Yes, you technically could use whatever you want. Just make sure your build settings are set properly/