2015-01-09 41 views
0

我已將應用程序提交到應用程序商店,並且在審查之後,應用程序已被拒絕。這是蘋果公司發來的解釋:解決iOS應用程序崩潰的問題

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 

我不能夠開發和測試模擬器和實際設備上的應用程序過程中檢測到問題,那麼,應用程序不會崩潰。

這是崩潰報告的第一部分:

{"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 

我無法找到從哪裏開始,找出墜機源。請任何線索,歡迎。

+0

您使用何種版本的XCode構建應用程序?測試設備上有哪些iOS版本?崩潰日誌明確表示它在iOS 8.1上崩潰。你的應用內有地圖圖標嗎? – applejack42 2015-01-09 23:28:38

+0

@ applejack42,應用程序的部署目標是iOS 7.0。我使用Xcode 6.1.1,測試設備是iOS 7的iPhone 4.應用程序上有幾個地圖圖標。在第一個屏幕上有一個按鈕,打開地圖... – mvasco 2015-01-09 23:31:56

回答

1

應用程序崩潰原因是其他鏈接程序標記部分中缺失的標記。該應用程序包含適用於iOS的Google Maps SDK,並且需要標誌-ObjC。我只有在Debug Build部分纔有。在Release Build部分中添加標誌-ObjC可解決問題,並且在啓動分發文件時應用程序不會再崩潰...

2

你將要象徵你的崩潰日誌。在你的代碼,這是在碰撞發生的事情

12 mujergrancanaria    0x000000010025f1b8 0x1000ac000 + 1782200 

有許多關於如何symbolicate這個,這樣就可以知道哪些文件和行崩潰是發生在帖子。通常,您只需打開Xcode,然後打開設備(從菜單中),然後選擇一個真實設備,單擊查看設備日誌,然後將您的日誌拖到列表中。 Xcode會自動從您創建存檔時找到二進制文件和dsym文件(假設這是您創建存檔的同一臺計算機)。如果這不起作用,請看這Symbolicating iPhone App Crash Reports

+0

謝謝,我會盡力找出原因... – mvasco 2015-01-09 23:54:55

+0

您是否認爲問題可能出現在Google Maps SDK for iOS版本中? – mvasco 2015-01-10 00:14:16

+1

可能不是。你的一個視圖控制器正在獲取viewDidLoad:調用它。然後,它會在您的代碼中深入4次調用,然後調用您調用它的對象上不可用的方法。當你將一個對象從一個集合中拉出來並將其轉換爲錯誤的類型時,可能會發生這種情況,請調用僅適用於更高版本iOS的方法(儘管測試人員在iOS 8.1上)等。 – 2015-01-10 00:25:28

1

好吧,這是地圖相關和審查團隊在帕洛阿爾託加利福尼亞我認爲(糾正我,如果我錯了)。

所以我肯定會開始測試在帕洛阿爾託模擬器設置的位置。

接下來,日誌。

的很大一部分被刪節

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 

這意味着你需要把它在Xcode或其他工具,你可以使用的dSYM(應用程序歸檔過程中創建symbole文件)來利用它。

沒有它,我可以告訴你的是,這條線在棧:

-[NSObject(NSObject) doesNotRecognizeSelector:] 

意味着你正在撥打的對象上不存在的方法。

+0

謝謝,我會盡力找出原因... – mvasco 2015-01-09 23:48:17