views:

81

answers:

2

Hi,

I have developed an application (a Sudoku to be accurate) that runs perfectly smoothly on the iPhone (after of course several minor versions to do some bug fixing).

But I have had several reports of issues on iPod Touch exclusively.

The normal modus operandi is the following:

  • the first start does not load anything from file
  • the app exits, and saves to a file the current game and the scores
  • on the next launch, the app loads from the file the current game and the scores

On some (maybe all, I don't know I can't test, I don't own an iPod Touch), here is what happens : - first launch is fine - play, save, replay, have fun - quit - next launch: crash during launch

So either the file saved is corrupted on iPod Touches only, either the loading crashes on iPod Touches only.

Do you guys know about differences between iPhone and iPod Touch that could give me a lead on how to investigate? I'm at lost here :)

The saving is done by encoding objects and archiving them with a NSKeyedArchiver and then writing them to file. The loading is of course done by unarchiving the file and decoding the objects in it.

I'm not putting any code for now because it's quite long and I can't figure out which part would be more meaningful than another. But if you guys have any leads I'll edit and post the corresponding code.

Thanks for your help!

+1  A: 

It makes no difference. More likely to be System Version differences?

The person that replied to my request for OS version and other information runs OS 3.1.3Waiting for other feedback... But doesn't seem to come from here.
Paul
A: 

There is a difference in execution speed on the different device classes. Could you have a race condition that manifests on the iPod Touch?

Kevin
Do you mean the fact that saving would take too much time on iPod Touch and app would be killed before saving properly?
Paul
I think Kevin means it will be quicker on the iPod Touch. I also think he is saying that your problem is not caused by the device, it is a bug in your code and you just got (un)lucky that it worked in the first place but testing on a slightly different device highlighted the bug. You need to study the crash reports and hopefully you kept around the version of the app that you distributed so you can debug it.
Indeed it was. Sorry for the "false" request, but it helped anyway :) Found and fix, update waiting for review! Thanks a lot.
Paul