I've submitted my app to appstore for review and is refused as follows:
We found that your app crashed on iPhone 4 running iOS 5.1.1, which is not in compliance with the App Store Review Guidelines. Your app crashed on launch on both Wi-Fi and cellular networks.
And this is the attached crash log:
Incident Identifier: 65E8D233-2F02-4545-85C9-74CA4A346051
CrashReporter Key: 5f5257827e93649c799893055b12d3d61c937314
Hardware Model: iPhone3,1
Process: iman360 [42785]
Path: /var/mobile/Applications/EA2B491A-194D-4669-ADF7-721593D2B14F/iman360.app/iman360
Identifier: iman360
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2012-08-09 13:41:37.107 -0700
OS Version: iPhone OS 5.1.1 (9B206)
Report Version: 104
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_PROTECTION_FAILURE at 0x2fdfe6e0
Crashed Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 ??? 0x2fdfe6e0 0 + 803202784
1 iman360 0x00036ba2 -[ComicCatController refreshWithActionHandlerExeced:] (ComicCatController.m:216)
2 iman360 0x00036b0c -[ComicCatController refresh] (ComicCatController.m:207)
3 iman360 0x0002e682 -[TabComicCityViewController showSegTabView:] (TabComicCityViewController.m:312)
4 iman360 0x0002dcbc -[TabComicCityViewController segmentedViewValueChanged:] (TabComicCityViewController.m:96)
5 CoreFoundation 0x372ee3f6 -[NSObject performSelector:withObject:withObject:] + 46
6 UIKit 0x31083e00 -[UIApplication sendAction:to:from:forEvent:] + 56
7 UIKit 0x31083dbc -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 24
8 UIKit 0x31083d9a -[UIControl sendAction:to:forEvent:] + 38
9 UIKit 0x31083b0a -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 486
10 iman360 0x00019598 -[Iman360SegmentedView moveThumbToIndex:animate:] (Iman360SegmentedView.m:360)
11 iman360 0x00017ab4 -[Iman360SegmentedView willMoveToSuperview:] (Iman360SegmentedView.m:117)
12 UIKit 0x3106b502 -[UIView(Internal) _addSubview:positioned:relativeTo:] + 390
13 UIKit 0x3106b370 -[UIView(Hierarchy) addSubview:] + 24
14 iman360 0x0002d996 -[TabComicCityViewController viewDidLoad] (TabComicCityViewController.m:49)
15 UIKit 0x310a1c84 -[UIViewController view] + 160
16 iman360 0x0001c86a +[ViewControllerManager initGlobalContentBgImgForViewController:] (ViewControllerManager.m:43)
17 iman360 0x0000422c -[Iman360ViewControllerBase init] (Iman360ViewControllerBase.m:25)
18 iman360 0x0002b8ce -[IndexTabViewControllerBase initWithIndexViewController:] (IndexTabViewControllerBase.m:19)
19 iman360 0x00004706 -[IndexViewController viewDidLoad] (IndexViewController.m:58)
20 UIKit 0x310a1c84 -[UIViewController view] + 160
21 UIKit 0x310a045a -[UIWindow addRootViewControllerViewIfPossible] + 38
22 UIKit 0x31224774 -[UIWindow setRootViewController:] + 332
23 iman360 0x0001c7da +[ViewControllerManager switchToViewController:] (ViewControllerManager.m:32)
24 iman360 0x0001c60a -[LoadingViewController onBackgroundJobFinishedWithUpdateInfo:] (LoadingViewController.m:165)
25 CoreFoundation 0x372f31f4 -[NSObject performSelector:withObject:] + 36
26 Foundation 0x37c0e740 __NSThreadPerformPerform + 344
27 CoreFoundation 0x37368acc __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 8
28 CoreFoundation 0x37368298 __CFRunLoopDoSources0 + 208
29 CoreFoundation 0x3736703e __CFRunLoopRun + 646
30 CoreFoundation 0x372ea49e CFRunLoopRunSpecific + 294
31 CoreFoundation 0x372ea366 CFRunLoopRunInMode + 98
32 GraphicsServices 0x33aa9432 GSEventRunModal + 130
33 UIKit 0x31096cce UIApplicationMain + 1074
34 iman360 0x00004d5c main (main.m:23)
35 iman360 0x00002e60 0x1000 + 7776
Thread 0 crashed with ARM Thread State:
r0: 0x2fdfe6bc r1: 0x2fdfe6bc r2: 0x2fdfe6e0 r3: 0x00000000
r4: 0x0015d980 r5: 0x00000001 r6: 0x00059384 r7: 0x2fdfe6e0
r8: 0x00059388 r9: 0x0000000e r10: 0x00153da0 r11: 0x314490ab
ip: 0x000249a1 sp: 0x2fdfe6e0 lr: 0x000249c1 pc: 0x2fdfe6e0
cpsr: 0x200f0010
But I've tested it on my iphone 4s & ipad, and it works well there. At first I thought it might be I am dereferencing a null pointer but KERN_PROTECTION_FAILURE at 0x2fdfe6e0 shows it is not so. Any idea on this?
I've make a static code analysis, and get something. That's stupid. I've forgot to call the [super init] method with some of my class initializer. But would anyone please help analyze if this is the problem? Not sure if this is where the problem is, as the app is still under review by appstore.
Fortunately, my app get passed this time. It is because I didn't call [super init] for my customized class object initialization. I'm just very curious about why this happens that it works well some times.
User contributions licensed under CC BY-SA 3.0