How to test iOS app like iTunesConnect? - ios

I want to put my app online in AppStore, but ItunesConnect finds crash. When I test on Xcode it works fine, no crash. I symbolicated the crash log, but I would like to have the same result like ItunesConnect : crash.
Does ItunesConnect have special configuration for testing app ?
Maybe I have to change some parameters in Xcode ?
Thanks for your help!
Crashlog :
Incident Identifier: 16DC5C30-0DCB-47D3-863B-9AE9E887DF78
CrashReporter Key: 45e776ed0586d581aba248bf3f23eaf42a231f2c
Hardware Model: xxx
Process: BundoranSurfCo [3413]
Path: /private/var/mobile/Containers/Bundle/Application/19330ECC-7A30-4453-BCBD-E7841A50CD4F/BundoranSurfCo.app/BundoranSurfCo
Identifier: JardelCompany.BundoranSurfCo
Version: 1.5.1 (1.5)
Code Type: ARM-64 (Native)
Parent Process: launchd [1]
Date/Time: 2015-05-18 07:34:27.773 -0700
Launch Time: 2015-05-18 07:29:41.671 -0700
OS Version: iOS 8.3 (12F69)
Report Version: 105
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Triggered by Thread: 0
Last Exception Backtrace:
0 CoreFoundation 0x185bec2d8 0x185ac4000 + 1213144
1 libobjc.A.dylib 0x19730c0e4 0x197304000 + 32996
2 CoreFoundation 0x185bf33a4 0x185ac4000 + 1242020
3 CoreFoundation 0x185bf0154 0x185ac4000 + 1229140
4 CoreFoundation 0x185af2ccc 0x185ac4000 + 191692
5 BundoranSurfCo 0x100024f78 -[Contact viewDidLoad] (Contact.m:24)
6 UIKit 0x18a62cc84 0x18a61c000 + 68740
7 UIKit 0x18a62c994 0x18a61c000 + 67988
8 UIKit 0x18a762e68 0x18a61c000 + 1338984
9 UIKit 0x18a762b58 0x18a61c000 + 1338200
10 UIKit 0x18a82a378 0x18a61c000 + 2155384
11 UIKit 0x18a661404 0x18a61c000 + 283652
12 UIKit 0x18a82a1cc 0x18a61c000 + 2154956
13 UIKit 0x18a661404 0x18a61c000 + 283652
14 UIKit 0x18a64a4e0 0x18a61c000 + 189664
15 UIKit 0x18a829e04 0x18a61c000 + 2153988
16 UIKit 0x18a661404 0x18a61c000 + 283652
17 UIKit 0x18a64a4e0 0x18a61c000 + 189664
18 UIKit 0x18a660da0 0x18a61c000 + 282016
19 UIKit 0x18a61ffc0 0x18a61c000 + 16320
20 CoreFoundation 0x185ba42a4 0x185ac4000 + 918180
21 CoreFoundation 0x185ba1230 0x185ac4000 + 905776
22 CoreFoundation 0x185ba1610 0x185ac4000 + 906768
23 CoreFoundation 0x185acd2d4 0x185ac4000 + 37588
24 GraphicsServices 0x18f1bb6fc 0x18f1b0000 + 46844
25 UIKit 0x18a692fac 0x18a61c000 + 487340
26 BundoranSurfCo 0x10002b2a4 main (main.m:14)
27 libdyld.dylib 0x19798aa08 0x197988000 + 10760

I would suggest you to test your application on all architectures like armv7, arm64 etc.
I have seen a few third-party codes not supporting particular architectures, or combination of architecture and OS versions. SKSTableView is one of the examples that has been reported to be crashing with iOS 7 and arm64 architecture.
Make sure this is not the case with you.
Additionally, integrate Crash reporting APIs to be sure to get a report even when Apple Reviewers are testing, that way, you get the version and device information on which it crashed...
Things will be easier to ask and answer... ;)

Related

NSLogger in iOS freeze my app

I am integrate NSLogger into my iOS app, I found that after integrate NSLogger, My app become easy to freeze, especially when there is no internet.
I added code below to main.m, anyone know why?
Logger *logger = LoggerGetDefaultLogger();
LoggerSetOptions(logger,
kLoggerOption_BufferLogsUntilConnection |
kLoggerOption_CaptureSystemConsole |
kLoggerOption_BrowseBonjour |
kLoggerOption_BrowseOnlyLocalDomain);
LoggerSetupBonjour(logger, NULL, NULL));
this is crash log:
Incident Identifier: 5278EF6A-1128-49D6-B31A-B6AA03AC856C
CrashReporter Key: 848d8e4999dd36db808023480dc660a86c173fee
Hardware Model: iPad6,7
Process: My App [386]
Path: /private/var/containers/Bundle/Application/579502B0-20F3-4C83-82F0-ED50BC79C831/My App.app/My App
Identifier: com.xiang.My App
Version: 1140 (1.0)
Code Type: ARM-64 (Native)
Role: Foreground
Parent Process: launchd [1]
Coalition: com.xiang.My App [490]
Date/Time: 2016-11-18 13:41:18.1326 +0900
Launch Time: 2016-11-18 13:33:07.3810 +0900
OS Version: iPhone OS 10.1.1 (14B100)
Report Version: 104
Exception Type: EXC_CRASH (SIGKILL)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Reason: Namespace SPRINGBOARD, Code 0x8badf00d
Triggered by Thread: 0
Filtered syslog:
None found
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x000000018e8d9948 writev + 8
1 CoreFoundation 0x000000018f909cc0 _CFLogvEx2Predicate + 452
2 CoreFoundation 0x000000018f909eec _CFLogvEx3 + 408
3 Foundation 0x00000001903f0454 _NSLogv + 132
4 Foundation 0x000000019031735c NSLog + 32
5 My App 0x00000001000511a4 0x100030000 + 135588
6 My App 0x0000000100050f2c 0x100030000 + 134956
7 My App 0x000000010008b18c 0x100030000 + 373132
8 My App 0x0000000100089530 0x100030000 + 365872
9 UIKit 0x00000001958a7dc0 -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 728
10 UIKit 0x0000000195958b34 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 268
11 UIKit 0x0000000195a0bd5c _runAfterCACommitDeferredBlocks + 292
12 UIKit 0x00000001959fdb10 _cleanUpAfterCAFlushAndRunDeferredBlocks + 560
13 UIKit 0x000000019576c854 _afterCACommitHandler + 168
14 CoreFoundation 0x000000018f8d37dc __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32
15 CoreFoundation 0x000000018f8d140c __CFRunLoopDoObservers + 372
16 CoreFoundation 0x000000018f8d189c __CFRunLoopRun + 1024
17 CoreFoundation 0x000000018f800048 CFRunLoopRunSpecific + 444
18 GraphicsServices 0x0000000191286198 GSEventRunModal + 180
19 UIKit 0x00000001957e52fc -[UIApplication _run] + 684
20 UIKit 0x00000001957e0034 UIApplicationMain + 208
21 GroundStation Pro 0x00000001000f27b0 0x100030000 + 796592
22 libdyld.dylib 0x000000018e7e45b8 start + 4
Firstly you should not be adding code to main.m. Look into placing code like this in your application delegate.
Secondly, the 0x8badf00d crash is a known error caused by your application taking too long to start. This may be because you have the log start code in the wrong location as I've said above. Or it may be something else.
As a general rule, anything you have in the startup of your application take may take time, should be either delayed or placed on a back ground thread. Application startup should get the user to the home screen of your app as soon as possible.

Swift - “EXC_BREAKPOINT (SIGTRAP)” Crash

I have released my app few months ago and I have more than 2000 users registered. I have had no crashes expect for one user that is saying that the app is crashing all the time on his device (iPhone 6). He was so kind to send me the crash report but I cannot find the solution to his bug or reproduce the bug at all. I told him to try to reset his iPhone but this did not solve the issue the app still crashing.
How could I debug this crash log and see where the error is happening? (EXC_BREAKPOINT (SIGTRAP))
the crash report says:
Date/Time: 2016-03-27 16:02:15.15 +0200
Launch Time: 2016-03-27 16:02:13.13 +0200
OS Version: iOS 9.2.1 (13D15)
Report Version: 105
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x00000000e7ffdefe
Triggered by Thread: 0
Filtered syslog:
None found
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 My App 0x0011d140 0x1f000 + 1040704
1 My App 0x0013e0d8 0x1f000 + 1175768
2 My App 0x0013c208 0x1f000 + 1167880
3 UIKit 0x2a6aa64e 0x2a622000 + 558670
4 UIKit 0x2a8d3032 0x2a622000 + 2822194
5 UIKit 0x2a8d6f0e 0x2a622000 + 2838286
6 UIKit 0x2a8eac14 0x2a622000 + 2919444
7 UIKit 0x2a8d43f6 0x2a622000 + 2827254
8 FrontBoardServices 0x277afc74 0x2778b000 + 150644
9 FrontBoardServices 0x277aff60 0x2778b000 + 151392
10 CoreFoundation 0x26461256 0x263a9000 + 754262
11 CoreFoundation 0x26460e46 0x263a9000 + 753222
12 CoreFoundation 0x2645f1ae 0x263a9000 + 745902
13 CoreFoundation 0x263b1bb8 0x263a9000 + 35768
14 CoreFoundation 0x263b19ac 0x263a9000 + 35244
15 UIKit 0x2a6a3a16 0x2a622000 + 530966
16 UIKit 0x2a69dfb4 0x2a622000 + 507828
17 My App 0x0013d8ec 0x1f000 + 1173740
18 libdyld.dylib 0x26064872 0x26062000 + 10354

Why is my popover crashing in iOS 8.1 on iPhone 6 Plus? iOS 8 worked (actually Xcode 6.0 to 6.1 bug)

I was happy to see that Apple was allowing popovers on iPhone in iOS 8 (in certain cases anyway, larger iPhones, landscape only) and I switched some code from showing UIPickerview to UIPopoverController, like I use in this app for iPad. Now I'm getting reports of this crashing in iOS 8.1, and in my tests I see the crash on the second line below:
XfrGraphTypeVC *graphTypePopover = [[XfrGraphTypeVC alloc]
initWithNibName:#"XfrGraphTypeVC"
bundle:[NSBundle mainBundle]
type:xfrChannelMode cellHeight:cellHt];
self.popoverController = [[NSClassFromString(#"UIPopoverController") alloc] initWithContentViewController:graphTypePopover];
I've tried a few things to work around it, but no luck. Works fine still on iPad. Did Apple break something?
Edit: Still not working. Apple changed something in 8.1 to break this. What could be going on?
Edit: Now I think this started with Xcode 6.1, as apps built with Xcode 6.0 don't crash.
Crash Log:
Incident Identifier: CD6192B8-363D-4EAB-9392-8A366D1FD10C
CrashReporter Key: 797d45c1f30283e0885ce0a30c88ccdf6fd78036
Hardware Model: iPhone7,1
Process: AudioTools [4530]
Path: /private/var/mobile/Containers/Bundle/Application/5EDE9ACF-5372-45B8-B370-3AFFD345ED24/AudioTools.app/AudioTools
Identifier: com.studiosixdigital.audiotools
Version: 7.3.11 (7.3.11)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2014-11-11 17:10:31.927 -0800
Launch Time: 2014-11-11 17:10:26.147 -0800
OS Version: iOS 8.1 (12B411)
Report Version: 105
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Triggered by Thread: 0
Last Exception Backtrace:
0 CoreFoundation 0x2379fc1f _exceptionPreprocess + 127
1 libobjc.A.dylib 0x30fafc8b objc_exception_throw + 38
2 CoreFoundation 0x2379fb65 +[NSException raise:format:] + 112
3 UIKit 0x26e8a41b -[UIPopoverController _initWithContentViewController:popoverControllerStyle:] + 266
4 AudioTools 0x004f4065 0x69000 + 4763749
5 UIKit 0x26c8fc2b -[UIApplication sendAction:to:from:forEvent:] + 70
6 UIKit 0x26c8fbd1 -[UIControl sendAction:to:forEvent:] + 44
7 UIKit 0x26c7a863 -[UIControl _sendActionsForEvents:withEvent:] + 582
8 UIKit 0x26c8f63d -[UIControl touchesEnded:withEvent:] + 588
9 UIKit 0x26c8f317 -[UIWindow _sendTouchesForEvent:] + 522
10 UIKit 0x26c88be1 -[UIWindow sendEvent:] + 544
11 UIKit 0x26c5f3dd -[UIApplication sendEvent:] + 196
12 UIKit 0x26ed2c29 _UIApplicationHandleEventFromQueueEvent + 13888
13 UIKit 0x26c5de39 _UIApplicationHandleEventQueue + 1296
14 CoreFoundation 0x23766377 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14
15 CoreFoundation 0x23765787 __CFRunLoopDoSources0 + 218
16 CoreFoundation 0x23763ded __CFRunLoopRun + 772
17 CoreFoundation 0x236b2211 CFRunLoopRunSpecific + 476
18 CoreFoundation 0x236b2023 CFRunLoopRunInMode + 106
19 GraphicsServices 0x2aa650a9 GSEventRunModal + 136
20 UIKit 0x26cbe1d1 UIApplicationMain + 1440
21 AudioTools 0x0007c647 main + 50
22 AudioTools 0x0006d028 start + 40
UIPopoverController is still only for iPads.
From Apple Documentation:
Popover controllers are for use exclusively on iPad devices.
Attempting to create one on other devices results in an exception.
So it won't work on iPhone devices. Probably they broke something on the previous version, that's why it worked for you.
OK so I downloaded Xcode 6.0.1 and now this all works again. So it's something Apple broke in Xcode 6.1. I thought it was in iOS 8.1 because that happened at the same time.

IOS, strange crash when app try to exit.

See the following crash got from apple app store, confused on the following questions.
When will app try to exit and crash in such call stack?
Which cases will cause app crash in this way?
Any discussion or suggestion will be appreciated, thanks in advance.
Hardware Model: iPhone3,3
Process: ScoutFree [2276]
Path: /var/mobile/Applications/BD0A91F2-DEA3-439C-B8A0-4CB695CEF735/MyApp.app/MyApp
Identifier: ScoutFree
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2012-08-14 16:31:38.700 -0400
OS Version: iPhone OS 5.1.1 (9B206)
Report Version: 104
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0xff6ca1f8
Crashed Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 ??? 0xff6ca1f8 0 + -9657864
1 libsystem_c.dylib 0x349534f8 exit
2 UIKit 0x31746fe6 -[UIApplication _terminateWithStatus:]
3 UIKit 0x3174389a -[UIApplication _handleApplicationSuspend:eventInfo:]
4 UIKit 0x316d3efa -[UIApplication handleEvent:withNewEvent:]
5 UIKit 0x316d3562 -[UIApplication sendEvent:]
6 UIKit 0x316d2f36 _UIApplicationHandleEvent
7 GraphicsServices 0x31347226 PurpleEventCallback
8 CoreFoundation 0x30f8551e __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__
9 CoreFoundation 0x30f854c0 __CFRunLoopDoSource1
10 CoreFoundation 0x30f8430e __CFRunLoopRun + 1366
11 CoreFoundation 0x30f074a0 CFRunLoopRunSpecific
12 CoreFoundation 0x30f07368 CFRunLoopRunInMode
13 GraphicsServices 0x31346434 GSEventRunModal
14 UIKit 0x31701cd0 UIApplicationMain
15 ScoutFree 0x000739f8 -[TelenavNavigatorAppDelegate application:didFinishLaunchingWithOptions:] (TelenavNavigatorAppDelegate.m:312)
16 ScoutFree 0x00003384 0x00003384 (in MyApp)

PLCrashReporter - Symbolication issue

I'm new to PLCrashReporter. I have a question regarding symbolication of crash data. I use PLCrashReporter API to read crash data and send it to a server. After that point, i use symbolicate crash script to symbolicate the crash report.
The problem is; I have ~10 projects in my workspace. When I generate my app which is shell.app , build process also generates the shell.app.dSYM file. Therefore, I use this .dSYM file to symbolicate in symbolicate script. However, it only symbolicates the hex codes that belong to shell project. See example below.
Thread 3 name: Exception Backtrace
Thread 3:
0 CoreFoundation 0x021c0022 0x20c2000 + 1040418
1 libobjc.A.dylib 0x00b11cd6 0xb0c000 + 23766
2 CoreFoundation 0x02168a48 0x20c2000 + 682568
3 CoreFoundation 0x021689b9 0x20c2000 + 682425
4 shell 0x0004bd78 -[DocumentHubApplicationBarContentView applicationBarButtonTapped:] (DocumentHubApplicationBarContentView.mm:85)
5 shell 0x00010657 -[ApplicationBarButton buttonTapped] (ApplicationBarButton.mm:48)
6 CoreFoundation 0x021c1e99 0x20c2000 + 1048217
7 UIKit 0x0109214e 0x1084000 + 57678
8 UIKit 0x010920e6 0x1084000 + 57574
9 UIKit 0x01138ade 0x1084000 + 740062
10 UIKit 0x01138fa7 0x1084000 + 741287
11 UIKit 0x01138266 0x1084000 + 737894
12 UIKit 0x010b73c0 0x1084000 + 209856
13 UIKit 0x010b75e6 0x1084000 + 210406
14 UIKit 0x0109ddc4 0x1084000 + 105924
15 UIKit 0x01091634 0x1084000 + 54836
16 GraphicsServices 0x026b2ef5 0x26ab000 + 32501
17 CoreFoundation 0x02194195 0x20c2000 + 860565
18 CoreFoundation 0x020f8ff2 0x20c2000 + 225266
19 CoreFoundation 0x020f78da 0x20c2000 + 219354
20 CoreFoundation 0x020f6d84 0x20c2000 + 216452
21 CoreFoundation 0x020f6c9b 0x20c2000 + 216219
22 GraphicsServices 0x026b17d8 0x26ab000 + 26584
23 GraphicsServices 0x026b188a 0x26ab000 + 26762
24 UIKit 0x0108f626 0x1084000 + 46630
25 shell 0x0000347d main (main.mm:42)
26 shell 0x00002425 start + 53
27 ??? 0x00000001 0x0 + 0
Also, I checked the crash report that is also generated by iOS and it's fully symbolicated. Also, that crash report has more information that PLCrashReporter provides. Can someone enlighten me about this? Am I missing something wrong?
Thank you
To symbolicate the iOS system framework calls, you need to have the symbols of the corresponding iOS version existing on your system and available for the symbolication script.
Regarding your question that crash report has more information that PLCrashReporter provides: Without further specifying what exactly you are referring to, this cannot be answered.

Resources