views:

124

answers:

2

i have an app that runs like a dream on a 3gs, but can be a bit glitchy on the ipod touch, anyone have any similiar experiences, with distribution?

The app still works, on the ipod touch (which is a year old, forgotten which gen), but just not as well.

+2  A: 

To be honest only Apple can answer this question reliably. Depending on what you mean by "glitchy" will have an impact however. If your app just runs a little bit slower on iPod Touch you should be fine. There are numerous apps on the App Store that run slow on the first generation iPod Touch.

However, if by glitchy you mean it crashes, or there are rendering issues, then you might have a bigger issue on your hands. I doubt Apple will accept a "broken" app.

Try optimise your app as much as you can, then just submit it and see what they say.

Benjamin Dobell
you wonder what is the point of releasing faster hardware if it has to run on the old stuff just as well eh?
Aran Mulholland
I think the point is, make sure it runs OK on the old hardware. If there's something that simply breaks on old hardware, try to "gracefully fall-back" to the old hardware. If necessarily, you may do something fundamentally different on the old hardware, e.g., reduce or eliminate complex animations, use lower-res images, etc.
Jesse Beder
+1  A: 

Should not be any barrier to store acceptance. It is really up to you to decide what you want to say it runs on. If you choose to say it is OK for a Touch you can probably bet it isn't the worst performing app, but you should think carefully about what kind of experience you are delivering and whether that could hurt your reputation or repeat business long-term. Plenty of apps do not target the Touch of course because it lacks some of the iPhone hardware.

Consider detecting what hardware you are running on and switch to a reduced mode (i.e. a word game could use a smaller word list, a search could be enter terms and submit rather than dynamic) if you detect that you are on hardware that will not cope well with what you are trying to do.

In another answer Will Harris gave this code for detecting what hardware you are on:

#import <sys/utsname.h>

NSString*
machineName()
{
    struct utsname systemInfo;
    uname(&systemInfo);

    return [NSString stringWithCString:systemInfo.machine
                              encoding:NSUTF8StringEncoding];
}
Adam Eberbach
nice, ill definately use this code.
Aran Mulholland