Testing for bugs on Apple devices that you do not own - iphone

I'm starting to send out a beta version of my app for users to test. One came back and told me that the app crashes on her iPod Touch (2nd Gen). How do I debug for this considering I don't own one. All I have is the iPhone 4, yet there 9 other devices (each generation of iPhone, iPod Touch and iPad) that I would like my app to run on. Any advice?
EDIT 1
There is no iPod Touch hardware option in the simulator. Should I just assume that it is treated as an iPhone?

Hoptoad App is great for this. You can sign up for free for up to 1 project, and the implementation is very easy.
http://hoptoadapp.com/pages/home

For starters get the crash logs from your users' devices and try to debug based on those. Not a big help in testing on devices you don't have, I know, but at least you'll be able to figure out what crashed on each device your beta testers have...

You could try Apple's IOS simulator.
http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/iphone_development/125-Using_iOS_Simulator/ios_simulator_application.html
To set the iOS release used in the
simulation environment, choose
Hardware > Version, and choose the
version you want to test on.

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!

IPhone app build and deliver to store without device

I have a simple question.
I use an old IPhone with ios version 3.1.3 and I have to deliver an app for the ios version 5.0.
Is it possible to build and deliver an 5.0 app to the store without the correct 5.0 device?
Problem is, it isn't really cheap to buy every single ios version device.
I know it is probably necessary to test on a real device, but I only want to know is it theoretically possible do develop and deliver without the device.
thanks for your help
Matthias
Yes, it's possible. Xcode comes with an iOS simulator that simulates iPhones and iPads running iOS 4.3 and 5.0. However these don't fully match real devices, so you really should be testing on real devices. There's an additional problem that a lot of functionality won't work on the simulator, such as in-app purchases and Game Center. But for basic applications, you can scrape by.
If you're looking to reduce costs, iPod touches are almost identical to iPhones and a lot cheaper, so that's the low cost way of testing on a real device. I would also upgrade your current device to iOS 4 if possible - iOS 3 is practically dead now, so it's better to test on a real device with iOS 4 than it is to try to support iOS 3.
Yes it is possible to deliver an app without the correct version.
I found out, that it is even possible to deliver apps without an iPhone.
even though you can deploy apps without having an iOS device ..or having a device with lower iOS version..
but in future and generally a good advice i will give is to find someone with correct iOS device version(any other version will work too) and get him to try your app using ad-hoc distribution..that way you can get feedback of how your app will perform..
Yes it's possible. You can anyway test most functionality by using the simulator.
With the new Xcode, you don't need the device when you are building for release.
What you need to do is select iOS Device in the menu, then Product -> Archive.
Then you will see the "Validate" and "Submit" options in your organizer.

iOS 4 for iPhone 4S

I am building an iOS application for public release, and I would like to develop it against iOS 4, as I see from the instapaper stats from November that iOS 5 has a 48% market share, which is good, but my app will probably not be used by these early adopters, and it's probably not going to be enough to force them to upgrade.
The issue is that I only have an iPhone 4S, which shipped with iOS 5. I have been unable to find an iOS build for my 4S, which upon reflection makes sense. Nontheless, I'd like to know if there is some sort of unofficial build for the 4S or some way to make the iPhone 4 version work on the 4S.
I'm pretty sure that the answer is going to end up being "Buy a 3GS/iPod touch for development". Would that necessarily be worth it or should I just tough it out? I'm pretty sure that most iOS 4 users will upgrade eventually. Does anyone have any stats on how long it took iOS 3 users to move on?
I would still suggest getting a used iPhone 3GS. Even if you are able to install iOS 4 on the 4S you still wouldn't be able to do any performance testing, but it's highly likely that someone who still uses iOS 4 has a 3GS.
For your first cut testing, you can use the simulator which, will allow you to test for iOS 4.3
Ideally you need to get hold of the appropriate devices to test your app. You say you're supporting iOS 4, but do you mean 4.2 or 4.3? If 4.2 then you'll be supporting iPhone 3G, if 4.3 then 3GS upwards.
There are testing services out there, just search "iPhone testing services". I've never used them myself, so can't vouch for any of them, but the cost may be less than investing in actual devices.
I kept a 3G and 3GS for testing, but to be honest, even though my main app supports 4.2, I rarely do any testing for older OS versions outside the simulator. I gave the 3GS to my father on condition he tested for me when asked… but of course I had to upgrade it to iOS 5 for him, so it's of little practical value, apart from testing at different screen res.
I would suggest you develop your app with minimum version 4.0 (or other) set. Then you test that on your iOS 5 iphone. I did it with my apps and it works great.
You can test on the lower version simulator or for final testing you could borrow a friend's device or similar.
As I understand (and believe), the compiler would stop you if you included features that are not 4.0 (or the set version) compatible.
Buying lower iOS is not worth it. If you can you should borrow it. In the simulator you can also make the iOS version to lower version to test. Also you can try ad hoc distribution to check how your app performs on other ios before releasing on appstore

How can I test my iPad app on my actual iPad?

I am developing my first iPad app using the iOS SDK 4 and Xcode 3.2. I have written a simple Hello World and have been able to run it in the iPhone simulator. I would like to figure out:
How can I get an iPad simulator?
Is it possible to test my app on my actual iPad without signing up for a developers license for $99?
Thanks,
Mike
There are unoffical ways to get your app onto your device, you have to jailbreak it and install software called AppSync from cydia. This voids your warranty if Apple find out (restoring the device to it's original settings using the restore button in itunes means they can't tell, so jus trestore before you go to an Apple shop) and if they do find out it might prejudice them against you as a developer (but chances are very slim)
(I have no problem giving specific details as the US Government has said that jailbreaking is legal)
http://www.pcworld.com/article/201892/us_government_iphone_jailbreaking_is_fair_use.html
The SDK includes an iPad simulator. I don't have my Mac in front of me, but you should be able to choose which device to target when you launch the simulator. You can also switch between iPhone and iPad mode from within the simulator - check the Hardware menu.
Yes, you have to have a paid developer membership to deploy code to your device. That's the only official way.
If you have jailbroken, then install app sync from the Hackulo.us repo. Just sync your app in iTunes without signing it. It will work easy as Pi!
This is yet another way to keep flash from getting to iPads, if you could put your own on the device without going through apple then you could also put someone else's. I think it should be allowed, but if something doesn't work on software that isn't officially released it shouldn't be supported by Apple.

iphone Development

How will you test an iPhone application without the iPhone being available?
The SDK comes with a simulator.
Of course the simulator doesn't really provide true feedback and it is most advised to do most of the testing on a real iPhone or an iPod if you don't own one, you could possibly use some beta testing program and publish your app there, using ad-hoc provisioning and adding UDID's according to requests. You could try "Mechanical Turk".
An iPhone application can be tested (to an extent) using simulators, it is included within iOS SDK. An iPhone application can run on simulators only if you have source code available with you, but cannot run iPhone builds (IPAfiles) directly on simulators.
The simulators have following limitations with reference to testing purposes
1. Accelerometer,
2. Telephony,
3. GPS,
4. Only up to two figure gestures can be simulated,
5. Hardware and memory, as simulators use the MAC hardware and memory etc.
So ideally testing on real device is more reliable rather than using simulators.