2013-07-17 3 views
0

Я работаю над более совершенным CLLocationManager макетами, чем тот, который предоставляется Xcode, и я столкнулся с странной проблемой. Я подклассы как CLLocationManager и CLLocation:Подклассы CLLocation на OSX

// foobar.h 
@interface MyLocation : CLLocation 
@end 

@interface MyLocationManager : CLLocationManager 
@end 

// foobar.m 
@implementation MyLocation 
@end 

@implementation MyLocationManager 
@end 

Теперь, если я построить проект для IOS все нормально, но когда я делаю то же самое для OS X, я получаю эту ошибку на увязывание:

Undefined symbols for architecture x86_64: 
    "_OBJC_METACLASS_$_CLLocation", referenced from: 
     _OBJC_METACLASS_$_MyLocation in AppDelegate.o 
    "_OBJC_METACLASS_$_CLLocationManager", referenced from: 
     _OBJC_METACLASS_$_MyLocationManager in AppDelegate.o 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

В отличие от этого вопроса Error on CLLocation subclassing, у меня есть соответствующие фреймворки, добавленные в проект, и, как я уже сказал, эта установка безупречно работает для iOS, а не для OSX.

FWIW, я использую Xcode 4.6.3 с iOS SDK 6.1 и OSX SDK 10.8, создавая для x86_64 с LLVM 4.2 по умолчанию.

Любые подсказки, почему это происходит?

+0

Я пробовал то же самое с Xcode5 DP3 и OSX SDK 10.9, разница в том, что он компилируется, но сбрасывается сразу после запуска с помощью этого: 'dyld: Symbol not found: _OBJC_METACLASS _ $ _ CLLocation'. Это становится интересным: P – Lvsti

ответ

0

Ошибки компоновщика - это что-то общее с каркасом. Забыть импортировать фреймворк где-нибудь или добавить базовую структуру ядра в целевую ОС OS X. Если это работает для одного, но не для другого, похоже, что две цели настроены по-разному.

Двойная проверка. Очистите сборку. Перезапустите Xcode.

+0

Я создал проект приложения Cocoa с нуля и ничего не делал, кроме вставленного выше кода в файлах .h и .m appdelegate. PLUS добавила инфраструктуру CoreLocation к цели. Еще не повезло. – Lvsti

+0

Предположительно с '#import ' –

+0

Yup, забыли добавить это к моему комментарию – Lvsti

Смежные вопросы