更新到Xcode 5后的问题

更新到Xcode 5后的问题,xcode,ios7,xcode5,Xcode,Ios7,Xcode5,我的iOS应用程序在Xcode 4.6和iOS 6.1上的完成率高达98%,运行正常 但当我尝试将Xcode更新到版本5,将SDK更新到iOS 7时,问题就开始了 当我尝试在Xcode 5上运行应用程序时,但在iOS 6.1上它仍能正常工作,但当我尝试在SDK 7上运行时,我遇到以下问题: 2013-12-17 19:44:47.656 myAPP[2207:70b] *** Terminating app due to uncaught exception 'NSUnknownKeyExcep

我的iOS应用程序在Xcode 4.6和iOS 6.1上的完成率高达98%,运行正常

但当我尝试将Xcode更新到版本5,将SDK更新到iOS 7时,问题就开始了

当我尝试在Xcode 5上运行应用程序时,但在iOS 6.1上它仍能正常工作,但当我尝试在SDK 7上运行时,我遇到以下问题:

2013-12-17 19:44:47.656 myAPP[2207:70b] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<MKUserLocation 0x9d9af90> valueForUndefinedKey:]: this class is not key value coding-compliant for the key distanceAnnotation.'
*** First throw call stack:
(
    0   CoreFoundation                      0x01bf65e4 __exceptionPreprocess + 180
    1   libobjc.A.dylib                     0x019798b6 objc_exception_throw + 44
    2   CoreFoundation                      0x01c866a1 -[NSException raise] + 17
    3   Foundation                          0x0142d8ca -[NSObject(NSKeyValueCoding) valueForUndefinedKey:] + 282
    4   Foundation                          0x0139a921 _NSGetUsingKeyValueGetter + 81
    5   Foundation                          0x01399f5b -[NSObject(NSKeyValueCoding) valueForKey:] + 260
    6   Foundation                          0x013b9a5a -[NSObject(NSKeyValueCoding) valueForKeyPath:] + 409
    7   Foundation                          0x013c68c6 _sortedObjectsUsingDescriptors + 380
    8   Foundation                          0x013c66d7 -[NSMutableArray(NSKeyValueSorting) sortUsingDescriptors:] + 578
    9   myapp
                        0x00009e50 -[mapa mapViewDidFinishLoadingMap:] + 496
    10  MapKit                              0x0037e974 -[MKMapView mapViewDidFinishLoadingTiles:] + 78
    11  VectorKit                           0x050a3ade -[VKMapView mapDidFinishLoadingTiles:] + 78
    12  VectorKit                           0x050abe4e -[VKMapCanvas mapModelDidFinishLoadingTiles:] + 46
    13  VectorKit                           0x050b82cd -[VKMapModel didStopLoadingTilesWithError:] + 77
    14  VectorKit                           0x051ae2e1 -[VKTileProvider didStopLoadingTilesWithError:] + 49
    15  VectorKit                           0x051b1c99 -[VKTileSource didFinishWithNetwork] + 73
    16  VectorKit                           0x051c3aa3 __41-[VKResourcesTileSource performDownload:]_block_invoke73 + 51
    17  GeoServices                         0x04bb98a6 ___ZNK49-[GEOTileLoaderInternal _loadedTile:forKey:info:]66__49-[GEOTileLoaderInternal _loadedTile:forKey:info:]_block_invoke3$_1clERKN8LoadItem9RequesterE_block_invoke_2 + 85
    18  libdispatch.dylib                   0x021f77f8 _dispatch_call_block_and_release + 15
    19  libdispatch.dylib                   0x0220c4b0 _dispatch_client_callout + 14
    20  libdispatch.dylib                   0x021fa75e _dispatch_main_queue_callback_4CF + 340
    21  CoreFoundation                      0x01c5ba5e __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 14
    22  CoreFoundation                      0x01b9c6bb __CFRunLoopRun + 1963
    23  CoreFoundation                      0x01b9bac3 CFRunLoopRunSpecific + 467
    24  CoreFoundation                      0x01b9b8db CFRunLoopRunInMode + 123
    25  GraphicsServices                    0x033579e2 GSEventRunModal + 192
    26  GraphicsServices                    0x03357809 GSEventRun + 104
    27  UIKit                               0x004dad3b UIApplicationMain + 1225
    28  FarmValencia                        0x000029ad main + 141
    29  libdyld.dylib                       0x0249e70d start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
2013-12-17 19:44:47.656 myAPP[2207:70b]***由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[valueForUndefinedKey:]:此类不符合密钥距离批注的键值编码。”
***第一次抛出调用堆栈:
(
0 CoreFoundation 0x01bf65e4例外预处理+180
1 libobjc.A.dylib 0x019798b6 objc_异常_抛出+44
2 CoreFoundation 0x01c866a1-[N异常升高]+17
3基金会0x0142D8CA-[NSObjuts:NSKEY ValueCudid)ValueFunDealdKEY::+ 282
4基金会0x0139A921,NoGestUsKiValueGeTeter + 81
5基金会0x01399 F5B-[ NStObjs](NSKEY ValueCudid)ValueFoKi::+ 260
6基金会0x013B9A5A- [ NSObjices(NSKEY ValueCudid)ValueFoePixPosie:] + 409
7基金会0x013C68 C6分类对象+描述符+ 380
8基金会0x013C66 D7- [ NSMutabReLay](NSKEY ValueSoReTin)StutuSuxSuffels::+ 578
9我的应用程序
0x00009e50-[mapa mapViewDidFinishLoadingMap:+496
10地图套件0x0037e974-[MKMapView地图视图完成加载文件:][78
11矢量套件0x050a3ade-[VKMapView MAPDIDFILINSHLOADINGTILES:+78
12矢量工具包0x050abe4e-[VKMapCanvas映射模型完成加载文件:+46
13矢量工具包0x050b82cd-[VKMapModel DIDSTOPPLOADINGTILESWITHERROR:+77
14矢量工具包0x051ae2e1-[VKTileProvider DidStopLoadingFileSwitherRor:+49
15矢量工具包0x051b1c99-[VKTileSource未完成网络]+73
16矢量工具包0x051c3aa3 _41-[VKResourcesTileSource性能下载:][u块调用73+51
17地理服务0x04bb98a6\uuuuuuuznk49-[GEOTileLoaderInternal\uLoadedFile:forKey:info:]66\uuuu49-[GEOTileLoaderInternal\uLoadedFile:forKey:info:][uBlock\uInvoke3$\u1clerkn8LoadItem9Requester\uBlock\uInvoke\u2+85
18 libdispatch.dylib 0x021f77f8 _调度_调用_块_和_释放+15
19 libdispatch.dylib 0x0220c4b0调度客户端调用+14
20 libdispatch.dylib 0x021fa75e_调度_主队列_回调_4CF+340
21 CoreFoundation 0x01c5ba5e\uuuu CFRUNLOOP\u正在为\u主\u调度\u队列\uuuuu+14提供服务
22 CoreFoundation 0x01b9c6bb\uuuu CFRunLoopRun+1963
23 CoreFoundation 0x01b9bac3 CFRunLoopRunSpecific+467
24 CoreFoundation 0x01b9b8db CFRUNLOOPSRUNINMODE+123
25图形服务0x033579e2 GSEventRunModal+192
26图形服务0x03357809 GSEventRun+104
27 UIKit 0x004dad3b UIApplicationMain+1225
28法姆瓦伦西亚0x000029ad干管+141
29 libdyld.dylib 0x0249e70d开始+1
)
libc++abi.dylib:以NSException类型的未捕获异常终止

没有足够的信息来正确调试此项

但是,我建议您为所有异常添加断点

下面是一个在XCode 4中添加所有异常断点的示例。这个过程在XCode 5中是相同的

除此之外,您可以尝试使用NSSetUncaughtExceptionHandler

这将允许您捕获错误并输出结果,但请记住,这是只应在调试期间执行的操作

将其包装为“#if DEBUG”是个好主意

我希望这对你有帮助。这类错误很难修复

注意


您可以检查您正在使用的键值集在SDK之间是否没有更改

您是否碰巧将消息valueforundinedkey:发送到类MKUserLocation

下面是类参考中关于获取用户位置的说明:

MKUserLocation类定义了一种特定类型的注释,用于标识用户的当前位置。您不直接创建此类的实例,而是从应用程序中显示的地图视图的userLocation属性中检索现有的MKUserLocation对象


请发布导致此堆栈跟踪的代码。可能是因为您没有在项目中引用/包括核心位置框架。根据本指南,“定位服务由核心定位框架提供。地图由地图工具包框架提供。”堆栈跟踪显示地图工具包,但没有核心定位。