I am working on an iPhone application and I went through a very strange issue.
Context: This app use the camera so it has been developed on device (3GS - 4.3.5) and tested on:
- iPhone4 (4.0, 4.2.1, 4.3.5)
- iPhone3GS (4.3.4, 4.3.5)
The app has been submited on the store and validated by Apple (meaning it works).
Issue: Some users have report the application is not working on their iPhone4(4.3.5) (no jailbreak or anything like this) So we have been testing and we actually found ourself with one iPhone4(4.3.5) working and one where the app just crash few seconds after being launched. The only difference we have found is the model: MC603NF(crash)[French 16Go] vs MC605FB(works)[fRENCH 32Go]
The app has been downloaded about 5000 times since last week. The point is my client want an explanation.
Has anyone faced this problem?
Thanks for your answers.
One of the users sent me a log. The error seems to be a segmentation fault. I do understand such errors. The point is, why is it happening on some devices but not others when both have the 开发者_Python百科same iOS. Even Apple has not faced this problem else they would have rejected the application.
I can check one of the phone but I want to list some hypothesis before to move their.
Point is even if I found the instruction and figure out some fix and make it works on this iPhone, I can't be sure it will fix it on all device. That's my problem.
Crash log will guess you what's the problem. You have access to crash logs over itunes connect. If you have physical access to device where app crashes have a look into log of the device. There some free apps for that in the AppStore, look messages of your app there.
I have found the problem.
Tracking the error I found it occured out of my functions. Given this I have focus on memory management.
It was an error on autorealease pool. I manualy released an alert during the applicationWillBeginActive function. I guess the alert object was then auto-released when leaving the appDelegate creating the error.
The only question I couldn't answer is; why neither us, the client or Apple have been able to found it. May be the hardware itself (16G0 vs 32Go) allows iOS to handle the memory in a different way.
Anyway thanks for your help.
精彩评论