Reputation: 5101
I have submitted an app to the app store, and after the review, the app has been rejected. This is the explanation sent by Apple:
Specifically, after downloading the latest version submitted for review, Version 2.1, we found that when the user taps on the map icon, the app still crashes.
This occurred when your app was used:
- Offline
- On Wi-Fi
- On cellular network
I am not able to detect the issue then during development and testing the app on the emulator and on a real device, the app doesn't crash.
This is the first part of the crash report:
{"app_name":"mujergrancanaria","app_version":"2.0","bundleID":"com.solinpromex.casadelajuventud","adam_id":946142349,"os_version":"iPhone OS 8.1 (12B410)","slice_uuid":"601d3ebb-53d8-39ff-8766-badaadb4f776","share_with_app_devs":false,"build_version":"2.1","is_first_party":false,"bug_type":"109","name":"mujergrancanaria"}
Incident Identifier: 02C4277A-3657-4CFF-9A5D-8A3B34E1ACE4
CrashReporter Key: 34094a2f9cf3e1e29a81d365a85a102af46a1edc
Hardware Model: xxx
Process: mujergrancanaria [4557]
Path: /private/var/mobile/Containers/Bundle/Application/67EFD456-E179-4049-B1A6-FBBF6D6144E4/mujergrancanaria.app/mujergrancanaria
Identifier: com.solinpromex.casadelajuventud
Version: 2.1 (2.0)
Code Type: ARM-64 (Native)
Parent Process: launchd [1]
Date/Time: 2015-01-09 14:46:52.869 -0800
Launch Time: 2015-01-09 14:46:38.934 -0800
OS Version: iOS 8.1 (12B410)
Report Version: 105
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Triggered by Thread: 0
Last Exception Backtrace:
(0x186b85e48 0x1977d40e4 0x186b8cf14 0x186b89cc4 0x186a8ec1c 0x10025f1bc 0x10025dc38 0x10025d03c 0x10025ced4 0x1000eb240 0x18b334e84 0x18b334b94 0x18b4d7ad4 0x18b3e9310 0x18b3e90dc 0x18b3e905c 0x18b331a2c 0x18ac89994 0x18ac84564 0x18ac84408 0x18ac83c08 0x18ac8398c 0x18b333948 0x186b3e0e8 0x186b3d38c 0x186b3b43c 0x186a691f4 0x18fbe35a4 0x18b39a784 0x1000d2a40 0x197e42a08)
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x0000000197f5b270 __pthread_kill + 8
1 libsystem_pthread.dylib 0x0000000197ff9224 pthread_kill + 108
2 libsystem_c.dylib 0x0000000197ed2b14 abort + 108
3 libc++abi.dylib 0x0000000196fa5414 abort_message + 112
4 libc++abi.dylib 0x0000000196fc4b88 default_terminate_handler() + 300
5 libobjc.A.dylib 0x00000001977d43bc _objc_terminate() + 124
6 libc++abi.dylib 0x0000000196fc1bb0 std::__terminate(void (*)()) + 12
7 libc++abi.dylib 0x0000000196fc1474 __cxa_throw + 132
8 libobjc.A.dylib 0x00000001977d4200 objc_exception_throw + 344
9 CoreFoundation 0x0000000186b8cf10 -[NSObject(NSObject) doesNotRecognizeSelector:] + 216
10 CoreFoundation 0x0000000186b89cc0 ___forwarding___ + 924
11 CoreFoundation 0x0000000186a8ec18 _CF_forwarding_prep_0 + 88
12 mujergrancanaria 0x000000010025f1b8 0x1000ac000 + 1782200
13 mujergrancanaria 0x000000010025dc34 0x1000ac000 + 1776692
14 mujergrancanaria 0x000000010025d038 0x1000ac000 + 1773624
15 mujergrancanaria 0x000000010025ced0 0x1000ac000 + 1773264
16 mujergrancanaria 0x00000001000eb23c 0x1000ac000 + 258620
17 UIKit 0x000000018b334e80 -[UIViewController loadViewIfRequired] + 688
18 UIKit 0x000000018b334b90 -[UIViewController view] + 28
19 UIKit 0x000000018b4d7ad0 -[UINavigationController _startCustomTransition:] + 708
20 UIKit 0x000000018b3e930c -[UINavigationController _startDeferredTransitionIfNeeded:] + 464
21 UIKit 0x000000018b3e90d8 -[UINavigationController __viewWillLayoutSubviews] + 52
22 UIKit 0x000000018b3e9058 -[UILayoutContainerView layoutSubviews] + 196
23 UIKit 0x000000018b331a28 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 568
24 QuartzCore 0x000000018ac89990 -[CALayer layoutSublayers] + 164
25 QuartzCore 0x000000018ac84560 CA::Layer::layout_if_needed(CA::Transaction*) + 316
26 QuartzCore 0x000000018ac84404 CA::Layer::layout_and_display_if_needed(CA::Transaction*) + 28
27 QuartzCore 0x000000018ac83c04 CA::Context::commit_transaction(CA::Transaction*) + 272
28 QuartzCore 0x000000018ac83988 CA::Transaction::commit() + 432
29 UIKit 0x000000018b333944 _UIApplicationHandleEventQueue + 1696
30 CoreFoundation 0x0000000186b3e0e4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 20
31 CoreFoundation 0x0000000186b3d388 __CFRunLoopDoSources0 + 260
32 CoreFoundation 0x0000000186b3b438 __CFRunLoopRun + 708
33 CoreFoundation 0x0000000186a691f0 CFRunLoopRunSpecific + 392
34 GraphicsServices 0x000000018fbe35a0 GSEventRunModal + 164
35 UIKit 0x000000018b39a780 UIApplicationMain + 1484
36 mujergrancanaria 0x00000001000d2a3c 0x1000ac000 + 158268
37 libdyld.dylib 0x0000000197e42a04 start + 0
Thread 1 name: Dispatch queue: com.apple.libdispatch-manager
Thread 1:
0 libsystem_kernel.dylib 0x0000000197f40c94 kevent64 + 8
1 libdispatch.dylib 0x0000000197e2897c _dispatch_mgr_invoke + 272
2 libdispatch.dylib 0x0000000197e1b3b0 _dispatch_mgr_thread + 48
Thread 2:
0 libsystem_kernel.dylib 0x0000000197f5bc78 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000197ff5390 _pthread_wqthread + 988
2 libsystem_pthread.dylib 0x0000000197ff4fa4 start_wqthread + 0
Thread 3:
0 libsystem_kernel.dylib 0x0000000197f5bc78 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000197ff5390 _pthread_wqthread + 988
2 libsystem_pthread.dylib 0x0000000197ff4fa4 start_wqthread + 0
Thread 4:
0 libsystem_kernel.dylib 0x0000000197f5bc78 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000197ff5390 _pthread_wqthread + 988
2 libsystem_pthread.dylib 0x0000000197ff4fa4 start_wqthread + 0
Thread 5 name: com.apple.NSURLConnectionLoader
Thread 5:
0 libsystem_kernel.dylib 0x0000000197f40e7c mach_msg_trap + 8
1 libsystem_kernel.dylib 0x0000000197f40cf4 mach_msg + 68
2 CoreFoundation 0x0000000186b3d5c8 __CFRunLoopServiceMachPort + 196
3 CoreFoundation 0x0000000186b3b51c __CFRunLoopRun + 936
4 CoreFoundation 0x0000000186a691f0 CFRunLoopRunSpecific + 392
5 CFNetwork 0x000000018656d6a0 +[NSURLConnection(Loader) _resourceLoadLoop:] + 436
6 Foundation 0x0000000187a55c08 __NSThread__main__ + 1068
7 libsystem_pthread.dylib 0x0000000197ff7e7c _pthread_body + 160
8 libsystem_pthread.dylib 0x0000000197ff7dd8 _pthread_start + 156
9 libsystem_pthread.dylib 0x0000000197ff4fac thread_start + 0
Thread 6:
0 libsystem_kernel.dylib 0x0000000197f5bc78 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000197ff5390 _pthread_wqthread + 988
2 libsystem_pthread.dylib 0x0000000197ff4fa4 start_wqthread + 0
Thread 7 name: com.apple.CFSocket.private
Thread 7:
0 libsystem_kernel.dylib 0x0000000197f5b498 __select + 8
1 CoreFoundation 0x0000000186b42fc0 __CFSocketManager + 656
2 libsystem_pthread.dylib 0x0000000197ff7e7c _pthread_body + 160
3 libsystem_pthread.dylib 0x0000000197ff7dd8 _pthread_start + 156
4 libsystem_pthread.dylib 0x0000000197ff4fac thread_start + 0
Thread 8:
0 libsystem_kernel.dylib 0x0000000197f5bc78 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000197ff5390 _pthread_wqthread + 988
2 libsystem_pthread.dylib 0x0000000197ff4fa4 start_wqthread + 0
I am unable to find where to begin to find out the crash source. Please, any clue is welcome.
Upvotes: 0
Views: 749
Reputation: 5101
The app crash reason was a missing flag in the Other Linker Flags section. The app includes the Google Maps SDK for iOS, and the flag -ObjC is needed. I had it only at the Debug Build section. Adding the flag -ObjC also in the Release Build section solves the problem, and the app doesn't crash any more when launching the Distribution file...
Upvotes: 1
Reputation: 3543
Ok so, it's map related and review team are in Palo Alto California I think (correct me if I'm wrong).
So I would definitly start by testing with location set in simulator in Palo Alto.
Next, the log.
A big part is redacted
12 mujergrancanaria 0x000000010025f1b8 0x1000ac000 + 1782200
13 mujergrancanaria 0x000000010025dc34 0x1000ac000 + 1776692
14 mujergrancanaria 0x000000010025d038 0x1000ac000 + 1773624
15 mujergrancanaria 0x000000010025ced0 0x1000ac000 + 1773264
16 mujergrancanaria 0x00000001000eb23c 0x1000ac000 + 258620
Meaning you need to put it in Xcode or another tool where you can use the DSym (symbole file created during archiving of the app) to exploit it.
Without it what I can tell you is that this line in the stack :
-[NSObject(NSObject) doesNotRecognizeSelector:]
Means your are calling a non existing method on an object.
Upvotes: 1
Reputation: 5121
You are going to want to symbolicate your crash log. In your code this is where the crash is happening
12 mujergrancanaria 0x000000010025f1b8 0x1000ac000 + 1782200
There are a number of posts about how to symbolicate this so that you can know which file and line that crash is happening on. Generally all you need to do is open Xcode, then open Devices (from the menu), then select a real device, click on view device logs, and then drag your log into the list. Xcode will automatically find the binary and dsym file from when you created the archive (assuming this is the same machine you build the archive on). If that doesn't work look at this Symbolicating iPhone App Crash Reports
Upvotes: 2