2011-03-31 68 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"