App not working on iPod but does work on iPhone - iphone

I didn't test my app on iPods before submitting to the app store.
Now I'm getting comments that the app doesn't work on iPods (doesn't even load, just crashes immediately).
The app uses the user location, but from what I understood the iPod also is able to find locations although he doesn't have a GPS.
Does anyone have an idea what might be wrong? What can cause an app to work on iPhones but not on iPods?
How can I set that iPods won't see my app on the app store?

You are probably calling methods that are not supported on the device.
If you are making a call to something that simply doesn't exist on the device it will crash.
For example, in one of my applications I use the iPhone4 LED light, if i try to call that on a device that does not have it, it crashes my app.
So i have to put a catch in, so that if the device isn't an iPhone4, it does something else.
Something else that has crossed my mind, when i tried to build for an iPod Touch for a friend, i had to set the Base SDK as 3.2, otherwise it would not install onto the device correctly, this is possibly due to his iPod not being upto date, but he told me it was.. Just a thought.
Hope this helps.

Related

Application can't be found by iPod Touches?

I released my first application to the App Store. Everything went fine until some people told me that they couldn't find the app. After a little research I noticed that people with iPhones could find and download the app but people with iPod Touches could not. Does anyone know an answer to this?
I have no idea as to why this is happening, I don't know any way of excluding iPod Touches from downloading the app so I probably didn't make this happen.
If you have any device specific requirements (required capabilities) in Info.plist iTunes will automatically hide the app from devices that can't run it.
Can you post any that you have?
If it wasn't available on all devices (or app store portals) then it was most likely still in the processin for app store stage. Once that finished it became available everywhere it's available.

App ONLY for iPhone

My app has been rejected 2 times because its only a iPhone app, the second time i uploaded it i was pretty sure i had changed the build settings to iPhone only, but i guess not. On Targeted Device Family: I have iPhone, i guess that makes it iPhone/iPod Touch.
What if i want my app to work only on the iPhone, thats it. Apple called me on the phone, told me about the problem, and then i reuploaded it, i guess i didnt really fix the problem. can someone help me? Thanks, Jacob
Do you mean iPhone only application or iOS application which doesn't include iPad? Apple wouldn't reject an app if it was released on iPod Touch as well as iPhone (and I've seen examples where functionality doesn't even work on the iPod Touch but it was allowed through anyway).
I suspect that you have built the app for iPad at some point and then removed it, but not removed it properly? This would then create an iPad version which would do nothing when loading and that could be the rejection reason.
What exactly did Apple send you in their response email, they are usually very good with a reason for rejection.
Take a look at page 90 in the iOS Application Programming Guide provided by Apple on developer.apple.com
You can set a UIRequiredDeviceCapabilities key in your Info.plist file for telephony (I don't see one for vibration).
Since the iPod Touch doesn't have telephony capabilities this should restrict the app to iPhone only.
To me, it sounds like you have have an app that relies on vibration and are supporting both the iPhone and iPod touch, which doesn't support vibration. You need to disable support for the iPod touch, and then Apple will accept your app.

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

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.

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.

App freeze and then crashes on splash screen

I have an iPhone App published for a while, developed under the SDK3, and everything works great. Some weeks ago, when Apple released the SDK4 I made some changes to my app to support multitasking (it plays audio in the background).
In my simulator and my device (iPhone 3GS iOS4) the app runs great, there is no problem at all. But, now when I submit the update, a lot of users are contacting me because they say that the app freezes on the splash screen and after waiting about 40-60 seconds, it crashes.
By asking to the users, I have determinate that the problem is only in those devices that haves iOS4 (iPhone 3Gs and 4G).
I tested the app over and over in my simulator and my device but it never happens to me!! Some one have any idea or information about this?
I will really appreciate it. Thanks.
After search for the crashes, and try over and over, I can't reproduce the bug on
my devices. So, I decide to start reading at the Apple Developer Forums and I
found a thread where my suspicions are affirmed: this problem is caused by an internal
iOS4 bug.
"There's a bug in the App Store's code signing process. Talk to DTS: they can
help you with the workaround. Mention rdar://7909951."
"...but it should be the cause of nearly all "failed to launch in time" inside
libobjc:_mapStrHash..." (This appears in some of my app crashes)
Here is the link to the post: failed to launch in time in iOS4
There is no certain solution, but some suggest that a start is changing from arm6 to arm7 and try.
You can try changing some code in the app for producing a different binary and submit it again.
I hope it can help anyone else.
Check the crash report on itunesconnect.apple.com
iPhone 3G also supports iOS 4, except it "doesn't support multitasking" (presumably due to lack of RAM?). If you're only seeing crashes on the 3GS and 4, then that might be the issue.
Default.png is shown on launch, but it's also shown on the foreground when the OS didn't manage to get a screenshot while backgrounding, or for various other reasons (e.g. your app was launched with openURL, so the UI is likely to be different).