What kind of iPhone / iPod Touch do I need to test my app? - iphone

I've written a fairly basic app for the iPhone, which I would like to test on at least one device and then get it onto the market place.
I don't need a data plan, so I'm considering buying an iPod touch, but I understand it doesn't have a camera, video, compass. While I don't need those for my current app, I might for a future one, nothing for sure there.
My concern about purchasing an iPhone, used or new, is that I believe I won't be able to use it without a sim card unless I jailbreak it. I'd prefer not to get involved with jailbreaking, as I'm unclear how it would my efforts to test the app on the device and/or get the app onto the app store.
If I get a new iPhone, I would have to cancel the contract immediately, and my same concern about the lack of a sim card would apply.
I'd be interested in people's experience with this issue, e.g. starting out with iPhone apps and not having an iPhone, is with this issue.

The newest iPod Touch does have a camera: http://www.apple.com/ipodtouch/
You should be able to test nearly everything you'd need to test on an iPod Touch.
Also, if you want to support older devices, it might be a good idea to also pick up a used, older, iPod Touch on eBay or somewhere, so you can test on a non-Retina display.

I have development going on without an iPhone but is preferred to develop with a device cause you could test your codes once in awhile. iPod Touch 4 does have camera. Anyway i think iPhone would still be able to function properly without a sim card just that you can't call. Otherwise getting an iPad is not that bad, since you can run both iPad and iPhone apps in iPad.

You may want to get the oldest slowest model of device running the oldest version of iOS on which you want you apps to be compatible. This may also be a low cost way to get into testing on devices. If your apps are commercially successful, you will be able to afford acquiring more newer test devices, but the old one may be the most valuable one for app testing purposes.

I have been using my old iPhone 3G for developement, mostly because it allows me to see how my code runs on one of the slowest devices out there.
The phone is not currently signed up with AT&T and it still works fine for development. For data access the wifi works fine without a carrier account. It also has the camera and (basic) GPS/mapping.
I could probably pick up a used iPhone 3G off one of the auction site relatively cheaply.

Related

How can I test game center (multipleyr) on single IOS device

How Can i test game center (multiplyer) on single iPad device. Please give me idea.
Thanks in advance.
To my knowledge this is not possible. You cannot run the multiplayer functionality of GameCenter within the simulator (as documented here: https://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/GameKit_Guide/GameCenterOverview/GameCenterOverview.html#//apple_ref/doc/uid/TP40008304-CH5-SW16).
I myself just bought a 2nd iOS device for this very reason. On the plus side, having two devices allows you to try out other multiplayer games from both sides, to see how things work.
If you have an iPhone in addition to an iPad, you might be able to develop a single application that runs on both devices, even if for deployment you plan on supporting only the iPad. For example you could detect that you're on the iPhone and run only the functionality necessary to test multiplayer. In my instance, this wasn't feasible, so I just went ahead and bought the 2nd iPad, but I mention it for completeness.
Finally, now that the third generation iPad has been released, you can probably find the first devices used for significantly less than retail.

Are IPhone apps guaranteed to work on iPod touch?

Since, I don't have the iPod touch simulator in xcode, and I don't have an iPod touch device there's not much of a way for me to test my app on this device. Since it works on iPhone 3gs and iPhone 4 can I safely assume it works on the iPod touch too?
Thanks!
In short, yes, it should work just fine.
You need to think about things that aren't in the iPod touch. You won't be able to send a text from the device so you need to conditionally code for it. As long as you're smart about it, you can easily code for both devices without having to own both. I would suggest getting one though, even last year's model. It's worth the investment and reassurance.
I don't think anyone can give that warranty. It all depends on how the app is implemented. There are certain differences between the iPhone type and the iPod Touch and as long as you code the app defensively (i.e. taking care that features that are not available can be overcome) you'll be ok.
The two most obvious ones are:
not all iPod touches have all features present in the latest incarnation
the iPhones are always connected
the iPhone 4 has a second camera - for example, a mirror-like app won't work on anything else than iPhone 4 and latest iPod touch
The best thing you might want to do in your case is to run the app on an iPhone in Airplane Mode.
Also, might be worth looking around for a previous generation version - you can get good deals in the Apple Refurbished Store.

What can I do with my old iPhone

I currently use my iPhone 3G for testing my apps, but I am thinking about upgrading to the iPhone 4. What can I do to my 3G so I can still use it for testing. I don't need it to have 3G access, I just want to be able to put apps on it for performance testing since it is a slower device. I would still like to keep Wi-Fi access if possible. What options do I have?
I am pretty sure once you move your phone over to a new contract, your old phone will still continue to work over wireless and also for testing apps. It just won't work as a phone or have 3g access. I did this for a while before giving my old phone to a friend.
Once your new iPhone is set up with your phone service provide, remove the SIM card from the old one. That's all you have to do. Actually you can probably work even with the SIM card in. Really, there's nothing to do.
My old iPhone 3G and 3GS continue to work normally (except for cellular services) after I purchased new iPhones (with new SIM cards) and transfered my account to them.
Wifi and all installed apps work as well.
So you probably don't need to do anything at all.
If you upgrade the OS on any of these old iPhones, you may need to keep an old SIM card in them, so don't throw the old ones away.

Can a deactivated iPhone be used for app development/testing?

I'm thinking of upgrading my iPhone 3G and was wondering if I can continue to use it for appstore application development & testing after I do so. I don't want to continue to pay for an additional line and data plan, and I wouldn't be interested in using is as a phone. Would I be able to provision and debug on it? Would it have to be jailbroken?
You definitely can. I'm currently using my deactivated 2G for development. Aside from the 100 Ad-Hoc devices you can test on, you are also allowed to provision a number of phones that you can build directly to, and it doesn't matter if they are deactivated.
as I think, your phone would function the same as iPod Touch (plus Camera). And since you can use iPod Touch for development, so you can also use your deactivated iPhone.

What can I do with an iPhone and no service?

I'm interested in developing software for the iPhone camera, but I don't currently own an iPhone and don't really want to pay for service. If I were just doing general app development, I'd probably just pick up an iPod Touch, but the Touch doesn't have a camera.
I know I can walk into the AT&T store, buy an iPhone and immediately cancel service. But what can I do with the resulting iPhone? Can I:
... develop apps for it using the native SDK?
... download apps from the app store (over wifi)?
... use it for everything that I can do with an iPod Touch?
More generally, is this just a bad idea for some other reason?
You could jailbreak it and use it on a non-standard plan and pay less money.
You can still develop on a phone after it's jailbroken. You can also still develop on a phone after it has been unlocked. The difference is important:
Jailbreak: You can install applications not available in the app store.
Unlock: you can run the phone on other networks besides it's default carrier (AT&T when in the USA).
Note that you cannot at this time unlock an iPhone 3g running 2.2.1, which it almost definitely will be if you buy it new. You can jailbreak both iPhone and iPhone 3G.
Also be aware that if you buy a new phone, AT&T will charge you $200 to get OUT of your new contract. I think that goes down by 10 or 20$ each month, so that after a year, it's considerably less costly to get out of the plan.
What I suggest is buying a first generation iPhone on ebay or craigslist. First generation iPhones can all be unlocked, irrespective of whether the previous owner put 2.2.1 on them. Also they are much cheaper, have the camera and are totally fine for software development. I was able to find decent first generation iPhones in Seattle just 2 months ago for about $250 - $350 dollars depending on details. Unlocking/Jailbreaking takes a matter of minutes with QuickPwn, and the phone works great as a development platform.
I believe your iPhone must be activated to be used as a target device in xcode. While it would be activated after purchase you would have problems if you cancelled your account and then needed to restore it at somepoint.
If you do wish to support the camera its possible to develop on an iPod Touch - the mechanism for taking a photo is identical to selecting a picture from the library, you specify the source (camera/library) and the rest is handled by the OS with your code receiving the final picture.
If your app is going to be very camera-centric you should invest in an iPhone, but if it's for minor functionality you can probably get by with a touch.
I believe your iPhone must be
activated to be used as a target
device in xcode. While it would be
activated after purchase you would
have problems if you cancelled your
account and then needed to restore it
at somepoint.
No it does not. You can jailbreak to start and it will work fine.