2012-03-29 2 views
0

Я пытаюсь следовать примеру на http://developers.cloudmade.com/wiki/iphone-sdk/Create_basic_Local_Search_and_Geocoding_app.CloudMade геокодирование cm_invokeOnMainThread unrecognized selector

Пример от svn при условии, что он работает нормально. Но когда я создаю свои собственные проекты и копирую вещи, все становится странно.

Я продолжаю получать следующее сообщение об ошибке:

2012-03-29 13:09:57.300 TimGeoCoding[2863:1480b] -[GLViewController cm_invokeOnMainThread]: unrecognized selector sent to instance 0x6877020

2012-03-29 13:09:57.362 TimGeoCoding[2863:1480b] * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[GLViewController cm_invokeOnMainThread]: unrecognized selector sent to instance 0x6877020'

* First throw call stack:

(0x15a9022 0x1b61cd6 0x15aacbd 0x150fed0 0x150fcb2 0x40a11 0xce04d6 0xce0447 0x9627ded9 0x962816de) terminate called throwing an exception

Я даже создал проекты и просто начали копировать примеры кодов в мой код (только исправление проблем АРК и добавил одну строку [RMMapView класс] на viewDidLoad), но он все еще ломается. Я googled cm_invokeOnMainThread и что один человек имеет ту же проблему и решил ее. Но человек не опубликовал решение. Любая помощь оценивается.

ответ

0

КИ получается, что я не следовал инструкциям внимательно, как описано здесь: How_to_setup_Xcode_to_work_with_CloudMade_iPhone_Library

Вместо строго следовать инструкциям (который находится на Xcode 3), связать библиотеки в мишенях> Build Phases-> Свяжите двоичный файл с библиотеками. Это компилируется отлично, но он не получает правильные категории из статических библиотек в результате проблемы, описанной здесь: what-does-the-all-load-linker-flag-do.

Так что в основном я добавил флаг компоновщика -ObjC -all_load и voila, проблема решена.

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