iOS被拒绝了5次

时间:2013-03-21 22:33:23

标签: ios crash report store

我现在有点想法了。 我已经向AppStore提交了一个iPhone应用程序5或6次,直到今天,除了一次之外它总是被拒绝。我仍然想知道为什么它曾经被接受,因为我几乎没有改变以前版本的东西(被拒绝)。

顺便说一句:我在不同的iPhone 5上测试了应用程序,它从未崩溃......

无论如何,我在理解崩溃报告方面遇到了问题:

Last Exception Backtrace:
0   CoreFoundation                  0x320483e2 0x31f86000 + 795618
1   libobjc.A.dylib                 0x39d4395e ParkingDeckDetailViewController.m:137
2   CoreFoundation                  0x32048302 0x31f86000 + 795394
3   QuartzCore                      0x33c05106 StartupViewController.m:906
4   QuartzCore                      0x33c0502e StartupViewController.m:904
5   UIKit                           0x33ebb944 0x33e54000 + 424260
6   Passau                          0x00196c88 -[AGSGPS setupFrameAndBounds:] (AGSGPS.m:678)
7   Passau                          0x00198056 -[AGSGPS consumeNewLocation:] (AGSGPS.m:928)
8   Passau                          0x00198ffa -[AGSGPS didApproximateProjectionWithGeometry:] (AGSGPS.m:1085)
9   Passau                          0x00197f16 -[AGSGPS locationManager:didUpdateToLocation:fromLocation:] (AGSGPS.m:920)
10  CoreLocation                    0x324f00d6 CityTourDetailViewController.m:234
11  CoreLocation                    0x324e7f38 TabBarViewController.m:90
12  CoreFoundation                  0x3201d920 0x31f86000 + 620832
13  CoreFoundation                  0x3201cff4 0x31f86000 + 618484
14  CoreFoundation                  0x3201c24e 0x31f86000 + 614990
15  CoreFoundation                  0x31f8f238 MapLayerCell.m:50
16  CoreFoundation                  0x31f8f0c4 JSONDataDownload.m:138
17  GraphicsServices                0x35b6e336 MapViewController.m:265
18  UIKit                           0x33eab2b4 0x33e54000 + 357044
19  Passau                          0x000e73aa main (main.m:16)
20  libdyld.dylib                   0x3a170b1c StartupViewController.m:779

和崩溃的线程:

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libsystem_kernel.dylib          0x3a237350 __pthread_kill + 8
1   libsystem_c.dylib               0x3a1adfb2 pthread_kill + 54
2   libsystem_c.dylib               0x3a1ea366 abort + 90
3   libc++abi.dylib                 0x39792dda abort_message + 70
4   libc++abi.dylib                 0x39790094 default_terminate() + 20
5   libobjc.A.dylib                 0x39d43a58 _objc_terminate() + 144
6   libc++abi.dylib                 0x39790118 safe_handler_caller(void (*)()) + 76
7   libc++abi.dylib                 0x397901b0 std::terminate() + 16
8   libc++abi.dylib                 0x39791626 __cxa_rethrow + 90
9   libobjc.A.dylib                 0x39d439b0 objc_exception_rethrow + 8
10  CoreFoundation                  0x31f8f29c CFRunLoopRunSpecific + 452
11  CoreFoundation                  0x31f8f0c4 CFRunLoopRunInMode + 100
12  GraphicsServices                0x35b6e336 GSEventRunModal + 70
13  UIKit                           0x33eab2b4 UIApplicationMain + 1116
14  Passau                          0x000fc3aa main (main.m:16)
15  libdyld.dylib                   0x3a170b1c start + 0

我正在使用ArcGIS框架来显示地图。

那么,你能否给我一个提示我应该锁定错误的提示? 当我看到崩溃的线程报告时,我觉得应用程序在启动后就崩溃了,是吗?

谢谢!

编辑:用大部分符号化的版本替换“Last Exception Backtrace”。

+

Thread 3 name:  Dispatch queue: com.apple.CoreLocation.ConnectionClient.0x2007a300.events
Thread 3:
0   libsystem_kernel.dylib          0x3a226e98 semaphore_timedwait_trap + 8
1   libdispatch.dylib               0x3a161c16 _dispatch_semaphore_wait_slow + 118
2   CoreLocation                    0x324e7ea4 CLClientInvokeCallback(__CLClient*, CLClientEvent, objc_object*) + 340
3   CoreLocation                    0x324eb4e2 ___CLClientCreateConnection_block_invoke_0 + 346
4   CoreLocation                    0x32521f20 __setEventHandler_block_invoke_0 + 344
5   libxpc.dylib                    0x3a27c882 _xpc_connection_mach_event + 718
6   libdispatch.dylib               0x3a163688 _dispatch_mach_msg_invoke + 120
7   libdispatch.dylib               0x3a160afa _dispatch_queue_drain + 78
8   libdispatch.dylib               0x3a16392e _dispatch_mach_invoke + 166
9   libdispatch.dylib               0x3a160afa _dispatch_queue_drain + 78
10  libdispatch.dylib               0x3a15e678 _dispatch_queue_invoke + 40
11  libdispatch.dylib               0x3a160afa _dispatch_queue_drain + 78
12  libdispatch.dylib               0x3a15e678 _dispatch_queue_invoke + 40
13  libdispatch.dylib               0x3a161610 _dispatch_root_queue_drain + 208
14  libdispatch.dylib               0x3a1617d4 _dispatch_worker_thread2 + 88
15  libsystem_c.dylib               0x3a1857ee _pthread_wqthread + 358
16  libsystem_c.dylib               0x3a185680 start_wqthread + 4

1 个答案:

答案 0 :(得分:2)

你的“Last Exception Stacktrace”来自第3个主题,它不是主线程。但是,它被抛入UIViewController的方法中。这意味着您正在操作除了主要线程之外的另一个线程的接口,这是不正确的并且会导致许多不同严重性的问题。

因此,您需要确保仅将消息发送到主线程上的视图控制器。由于CLLocationManagerDelegate回调发生在启动管理器的线程上,您应该执行以下操作之一:

  • 仅在主线程上启动CLLocationManager

  • 在处理位置更新的代码中,无论是在locationManager:didUpdateToLocation:fromLocation:内还是在堆栈的下方,您都应该对主队列执行dispatch_async,并传递一个块来执行所有消息传递以查看控制器。