0

我正在尝试按照http://developers.cloudmade.com/wiki/iphone-sdk/Create_basic_Local_Search_and_Geocoding_app上的示例进行操作。

那里提供的 svn 示例运行良好。但是当我创建自己的项目并从那里复制东西时,事情变得很奇怪。

我不断收到以下错误:

2012-03-29 13:09:57.300 TimGeoCoding[2863:1480b]-[GLViewController cm_invokeOnMainThread]:无法识别的选择器发送到实例 0x6877020

2012-03-29 13:09:57.362 TimGeoCoding [2863:1480b] *由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[GLViewController cm_invokeOnMainThread]:无法识别的选择器发送到实例 0x6877020”

*首先抛出调用栈:

(0x15a9022 0x1b61cd6 0x15aacbd 0x150fed0 0x150fcb2 0x40a11 0xce04d6 0xce0447 0x9627ded9 0x962816de) 终止调用抛出异常

我什至创建了一个项目并开始将示例代码复制到我的代码中(仅修复 ARC 问题并在 viewDidLoad 上添加了一行 [RMMapView class]),但它仍然中断。我用谷歌搜索了 cm_invokeOnMainThread 并且一个人有同样的问题并解决了它。但是该人没有发布解决方案。任何帮助表示赞赏。

4

1 回答 1

0

好的,事实证明我没有严格按照此处所述的说明进行操作:How_to_setup_Xcode_to_work_with_CloudMade_iPhone_Library

我没有严格遵循说明(在 Xcode 3 上),而是将 Target->Build Phases->Link binary with Libraries 中的库链接。这编译得很好,但是由于这里记录的问题,它没有从静态库中正确获取类别:what-does-the-all-load-linker-flag-do

所以基本上我添加了链接器标志 -ObjC -all_load 和瞧,问题解决了。

于 2012-03-30T04:39:58.230 回答