将错误代码测试添加到MKReverseGeocoder的回调后,得到一个链接器错误,指示未定义_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的测试中正常工作。
答案 0 :(得分:2)
我有同样的问题,对于arvm7
,最新的iOS 4.3 / Xcode 4.0.1也是如此。
看起来<MapKit/MKTypes.h>
在MapKit二进制文件中遗漏了他的小弟弟MKTypes.o
...
无论如何,快速(和肮脏)修复是使用@"MKErrorDomain"
而不是MKErrorDomain
常量。
或稍好一点,无论如何这在以后修复,或者如果你经常引用它,你可以重新定义它:
#define MKErrorDomain @"MKErrorDomain"