XCode 4.3 создает приложения iOS с неправильно связанными dylibs (символ не найден: _OBJC_CLASS_$_CLGeocoder)

XCode 4.3 создает приложения iOS в конфигурации Release с неправильными связанными dylibs (см. ошибку внизу).

Приложение вылетает сразу после запуска на устройстве.

Создание приложения с помощью xcodebuild на cli или с помощью Xcode 4.2.1 работает.

Приложение снова связано с CoreLocation (и в цели), а в iOS 5.x используется CLGeocoder. В iOS 4.x используется MKReverseGeoCoder. ( NSClassFromString() возвращает класс, даже если класс не должно быть доступно)

Это происходит только в том случае, если вы создаете архив и делитесь приложением в виде файла IPA. Сразу после запуска приложения на iOS-устройстве (4.x).

Dyld Error Message:   Symbol not found: _OBJC_CLASS_$_CLGeocoder   
Referenced from: /var/mobile/Applications/*********/AppName.app/AppName
Expected in: /System/Library/Frameworks/CoreLocation.framework/CoreLocation  
in /var/mobile/Applications/*********/AppName.app/AppName
Dyld Version: 179.7

Как я могу избавиться от этой ошибки?


person x2on    schedule 06.03.2012    source источник
comment
Вы нашли какое-либо решение для устранения этой ошибки ??   -  person krunal    schedule 30.03.2012
comment
Нет, я не нашел решения. Ошибки, о которых сообщают Apple, также являются открытыми.   -  person x2on    schedule 01.04.2012
comment
У меня такая же ошибка! Может быть, мы должны начать награду за это или вы нашли решение?   -  person nverinaud    schedule 20.06.2012


Ответы (2)


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

if (NSClassFromString(@"CLGeocoder") && 
    [NSClassFromString(@"CLGeocoder") instancesRespondToSelector:
@selector(reverseGeocodeLocation:completionHandler:) ]) {

                        //iOS 5 or later    
  }

Я смог решить эту проблему, ТАКЖЕ убедившись, что инфраструктура CoreLocation слабо связана (т. е. установлена ​​в значение «Необязательный» вместо «Обязательный») в настройках сборки цели.

person Kevin James Hunt    schedule 24.07.2012

Добавьте фреймворк CoreLocation в комплект вашего проекта.

person Pieter    schedule 21.03.2012
comment
CoreLocation уже есть в таргете и в комплекте проекта! - person x2on; 22.03.2012