我使用的是Xcode 7.1,部署目标是iOS 9.1。该应用程序是" AreaCalculator"它是用Swift编写的。我做了以下设置框架并导入地图:
$ sudo gem install cocoapods
" AreaCalculator" $ touch Podfile
我把:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.1'
pod 'GoogleMaps'
$ pod install
在终端:
[!]无法加载插件/Library/Ruby/Gems/2.0.0/gems/cocoapods-try-release-fix-0.1.2
的规范
更新本地规范存储库
分析依赖关系
下载依赖项
安装GoogleMaps(1.10.5)
生成Pods项目
集成客户端项目
[!]请关闭所有当前的Xcode会话,并从现在开始对此项目使用AreaCalculator.xcworkspace
。
发送统计信息
Pod安装完成! Podfile有1个依赖项,总共1个
pod安装。
之后,我在导航器中选择了AreaCalculator文件夹
并选择File \ New \ File ...,然后选择iOS \ Source \ Objective-C
文件模板并创建了一个桥接文件:
" AreaCalculator-桥接-Header.h"
然后我添加" GoogleMaps.framework" in" Link Binary with Libraries"。 这两个" GoogleMaps.framwork"和#34;" GoogleMaps.bundle"在... Pods文件夹。
完成所有这些后,在AppDelegate.swift中,我把:
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
let googleMapsApiKey = "MY_GOOGLE_IOS_API_KEY"
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
GMSServices.provideAPIKey(googleMapsApiKey)
return true
}
}
然而,编译器向我显示错误"使用未解析的标识符' GMSServices' "
我不知道我哪里做错了?有人可以帮忙吗?
谢谢!
答案 0 :(得分:2)
对于react native,请确保您是从上方导入#if DEBUG模式的。
Put librarries above #if DEBUG
#import "AppDelegate.h"
#import <React/RCTBridge.h>
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
#import "RNSplashScreen.h" // here
#import <GoogleMaps/GoogleMaps.h>
#if DEBUG
#import <FlipperKit/FlipperClient.h>
#import <FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h>
#import <FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h>
#import <FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h>
#import <SKIOSNetworkPlugin/SKIOSNetworkAdapter.h>
#import <FlipperKitReactPlugin/FlipperKitReactPlugin.h>```
Found here -> https://github.com/react-native-community/react-native-maps/issues/3453#issuecomment-665475820
答案 1 :(得分:1)
在AppDelegate.m中添加此行
#import "GoogleMaps/GoogleMaps.h"
答案 2 :(得分:1)
....
#add this line
import GoogleMaps
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
GMSServices.provideAPIKey("YOUR-API-KEY")
GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
}