我正在尝试添加使用 cocoapods (0.33.1) 的 Google-Maps-iOS-SDK (1.8.1).
部署目标版本:iOS 7.0
我添加了这个 Pod:pod 'Google-Maps-iOS-SDK'
, '~> 1.8'
正确下载并安装了sdk。
我开始添加头文件和示例地图视图加载代码here.
我已正确添加 API 密钥。在一个视图控制器中- (void)viewDidLoad
,
我添加了以下代码:
// Create a GMSCameraPosition that tells the map to display the
// coordinate -33.86,151.20 at zoom level 6.
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86
longitude:151.20
zoom:6];
GMSMapView *mapView_ = [GMSMapView mapWithFrame:CGRectZero camera:camera];
mapView_.myLocationEnabled = YES;
self.view = mapView_;
// Creates a marker in the center of the map.
GMSMarker *marker = [[GMSMarker alloc] init];
marker.position = CLLocationCoordinate2DMake(-33.86, 151.20);
marker.title = @"Sydney";
marker.snippet = @"Australia";
marker.map = mapView_;
我在 iPhone 构建时遇到此错误(不在模拟器中)
架构armv7的未定义符号:
“_OBJC_CLASS_$_GMSMarker”,引用自:
DealDetailsViewController.o“_OBJC_CLASS_$_GMSMapView”中的 objc-class-ref,引用自:
DealDetailsViewController.o“_OBJC_CLASS_$_GMSCameraPosition”中的 objc-class-ref,引用自:
DealDetailsViewController.o“_OBJC_CLASS_$_GMSServices”中的 objc-class-ref,引用自:
AppDelegate.o ld 中的 objc-class-ref:未找到架构 armv7 clang 的符号:错误:链接器命令失败并退出代码
1(使用-v查看调用)
我还尝试使用谷歌地图iOS sdk手动安装(没有cocoapods)。我还添加了链接器标志:-ObjC
。它构建得很好,但在运行时崩溃,显示选择器未找到错误,如下所示:
抛出 NSException 并带有描述 -
-[GMSMapView animateToCameraPosition:]:发送到实例的无法识别的选择器。
我只需要通过 cocoapod 或手动安装来使用 google 地图 iOS SDK。
我在这里错过了什么吗?
Edit
如果有任何与 Pods.xcconfig 相关的内容,那么以下是该文件的内容:
FRAMEWORK_SEARCH_PATHS = "$(PODS_ROOT)/Google-Maps-iOS-SDK" "$(PODS_ROOT)/Parse-iOS-SDK"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/Bolts" "${PODS_ROOT}/Headers/Facebook-iOS-SDK" "${PODS_ROOT}/Headers/Facebook-iOS-SDK/FacebookSDK" "${PODS_ROOT}/Headers/Google-Maps-iOS-SDK" "${PODS_ROOT}/Headers/Google-Maps-iOS-SDK/GoogleMaps" "${PODS_ROOT}/Headers/MBProgressHUD" "${PODS_ROOT}/Headers/Parse-iOS-SDK" "${PODS_ROOT}/Headers/Reachability" "${PODS_ROOT}/Headers/WYPopoverController"
OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers" -isystem "${PODS_ROOT}/Headers/Bolts" -isystem "${PODS_ROOT}/Headers/Facebook-iOS-SDK" -isystem "${PODS_ROOT}/Headers/Facebook-iOS-SDK/FacebookSDK" -isystem "${PODS_ROOT}/Headers/Google-
Maps-iOS-SDK" -isystem "${PODS_ROOT}/Headers/Google-Maps-iOS-SDK/GoogleMaps" -isystem "${PODS_ROOT}/Headers/MBProgressHUD" -isystem "${PODS_ROOT}/Headers/Parse-iOS-SDK" -isystem "${PODS_ROOT}/Headers/Reachability" -isystem "${PODS_ROOT}/Headers/WYPopoverController"
OTHER_LDFLAGS = -ObjC -lc++ -licucore -lsqlite3 -lz -framework AVFoundation -framework AudioToolbox -framework CFNetwork -framework CoreData -framework CoreGraphics -framework CoreLocation -framework CoreText -framework GLKit -framework GoogleMaps -framework ImageIO -framework MobileCoreServices -framework OpenGLES -framework Parse -framework QuartzCore -framework Security -framework StoreKit -framework SystemConfiguration -framework UIKit -weak_framework Accounts -weak_framework AdSupport -weak_framework Security -weak_framework Social
PODS_ROOT = ${SRCROOT}/Pods