Линкер не может найти MKErrorDomain - PullRequest
0 голосов
/ 31 марта 2011

После добавления теста для кода ошибки в обратный вызов 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.

1 Ответ

2 голосов
/ 07 апреля 2011

У меня та же проблема, что и для arvm7, с последней версией iOS 4.3 / Xcode 4.0.1.

Похоже, <MapKit/MKTypes.h> отсутствует его младший брат MKTypes.o в двоичном файле MapKit...

В любом случае, быстрое (и грязное) исправление - использовать @"MKErrorDomain" вместо константы MKErrorDomain.

Или немного лучше, в любом случае это исправленопозже, или если вы часто ссылаетесь на него, вы можете переопределить его:

#define MKErrorDomain @"MKErrorDomain"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...