2011-03-31 59 views
0

增加了对错误代码的测试MKReverseGeocoder的回调后,得到了表明_MKErrorDomain没有定义链接错误:连接器找不到MKErrorDomain

- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFailWithError:(NSError *)error { 
    // some useful but irrelevant code removed here... 

    // if the error is not permanent, try again 
    NSString *errorDomain = [error domain]; 
    NSInteger errorCode = [error code]; 

    if ([errorDomain isEqualToString:MKErrorDomain] && errorCode != MKErrorPlacemarkNotFound) { 
     [self scheduleReverseLookup]; 
    } 
} 

链接错误:

Undefined symbols for architecture armv6: 
    "_MKErrorDomain", referenced from: 
     -[Tracker reverseGeocoder:didFailWithError:] in Tracker.o 

注意MapKit是被链接并且与MKErrorDomain被移除的测试正常工作。

回答

2

我有同样的问题,arvm7也是如此,最新的iOS 4.3/Xcode 4.0.1。

貌似<MapKit/MKTypes.h>缺少他的MapKit二进制小弟MKTypes.o ...

无论如何,一个快速(和肮脏)的解决方法是使用@"MKErrorDomain"代替MKErrorDomain不变。

或者更好一点,在这以后固定任何情况下,或者如果您引用了很多,你可以重新定义它:

#define MKErrorDomain @"MKErrorDomain"