我正在尝试将谷歌地图sdk与iOS 6.1集成。我成功地能够通过使用给出的指令在iOS模拟器上填充gmap GMaps for iOS starting guide
那么问题是什么: 当我将它用作单独的项目时,它工作得很好。但是当我使用现有应用程序将上述项目代码加入时,它表现得很奇怪,并且由于在Build Settings中的Other Linker Flags中包含 -ObjC 值而产生了所有错误。
错误
duplicate symbols for architecture i386
当我跳过第7步(GMaps iOS)时,它不会出错。由于排除-ObjC值,它无法识别特定的GMaps库类及其方法:
[GMSCameraPosition cameraWithLatitude:longitude:zoom:]: unrecognized selector sent
我的iOS应用程序背景: 使用第三方库 SUP (Sybase Unwired Platform)。将SAP连接到iOS应用程序。我想当我尝试添加GMaps库时,SUP环境启用(Build settings)会有些含糊不清。
寻求你的意见。
谢谢!
答案 0 :(得分:0)
关于架构i386错误的重复符号,SO上有很多帖子。通常,这意味着您在一个命名空间中定义了两次相同的符号。我最后一次收到此错误是因为我意外地包含了 .m 文件而不是 .h 头文件。
答案 1 :(得分:0)
你检查过Build Architecture吗?
尝试将Build Active Architecture Only
设为Yes
。
答案 2 :(得分:0)
今天我遇到了同样的问题! -ObjC linker flag - When trying to add it to "Other Linker Flags" I get an error
我解决了我的问题,这是我的建议。获取原始项目(不使用Gmaps和SUP)并将-ObjC标志添加到其中。你还得错吗?如果是这样,请将Gmaps排除在等式之外。如果您仍然收到错误,请检查警告您警告哪些文件。我的问题是我有两个文件libGoogleAnalytics.a和libGoogleAnalytics_debug.a,由于某种原因,他们无法与-ObjC共存。
简而言之,您需要找到您已在项目中使用的Gmaps库并删除其中一个库。
答案 3 :(得分:0)
请试试这个......
步骤1:将“-ObjC”添加到“目标”的“构建设置”中的其他链接器标记,而不是“项目”