AI-generated Key Takeaways
-
GMSServicesis a service class for the Google Maps SDK for iOS, responsible for providing a connection to Google for map-related classes. -
It's crucial to provide your API key using
provideAPIKey:before initializing any iOS Maps SDK objects. -
You can optionally provide API options and enable abnormal termination reporting using dedicated methods.
-
Access open source license information and SDK version details through the provided methods.
-
setMetalRendererEnabled:is deprecated as Metal is now the default renderer.
GMSServices
@interface GMSServices : NSObjectService class for the Google Maps SDK for iOS.
This class is not thread safe. All methods should only be invoked on the main thread.
-
Provides the shared instance of
GMSServicesfor the Google Maps SDK for iOS, creating it if necessary. Classes such asGMSMapViewandGMSPanoramaViewwill hold this instance to provide their connection to Google.This is an opaque object. If your application often creates and destroys view or service classes provided by the Google Maps SDK for iOS, it may be useful to hold onto this object directly, as otherwise your connection to Google may be restarted on a regular basis. It also may be useful to take this object in advance of the first map creation, to reduce initial map creation performance cost.
This method will throw an exception if
+provideAPIKey:has not been called.Declaration
Swift
class func sharedServices() -> any NSObjectProtocolObjective-C
+ (nonnull id<NSObject>)sharedServices; -
Provides your API key to the Google Maps SDK for iOS. This key is generated for your application via the Google Cloud Platform Console, and is paired with your application’s bundle ID to identify it. This must be called exactly once by your application before any iOS Maps SDK object is initialized.
Declaration
Swift
class func provideAPIKey(_ APIKey: String) -> BoolObjective-C
+ (BOOL)provideAPIKey:(nonnull NSString *)APIKey;Return Value
YESif the APIKey was successfully provided. -
Provides your API options to the Google Maps SDK for iOS. Pass an array containing an NSString for each option. These options apply to all maps.
This may be called exactly once by your application and must be called before any iOS Maps SDK object is initialized.
Declaration
Swift
class func provideAPIOptions(_ APIOptions: [String]) -> BoolObjective-C
+ (BOOL)provideAPIOptions:(nonnull NSArray<NSString *> *)APIOptions;Return Value
YESif all the APIOptions were successfully provided. -
Enables reporting of abnormal SDK terminations such as the app crashes while the SDK is still running. This allows Google to improve SDK stability when applicable. The default is
YESand value must be updated before the services instance is initialized.This property must be set from the main thread.
Declaration
Swift
class func setAbnormalTerminationReportingEnabled(_ enabled: Bool)Objective-C
+ (void)setAbnormalTerminationReportingEnabled:(BOOL)enabled; -
Returns the open source software license information for Google Maps SDK for iOS. This information must be made available within your application.
Declaration
Swift
class func openSourceLicenseInfo() -> StringObjective-C
+ (nonnull NSString *)openSourceLicenseInfo; -
Returns the version for this release of the Google Maps SDK for iOS. For example, “1.0.0”.
Declaration
Swift
class func sdkVersion() -> StringObjective-C
+ (nonnull NSString *)SDKVersion; -
Returns the long version for this release of the Google Maps SDK for iOS. For example, “1.0.0 (102.1)”.
Declaration
Swift
class func sdkLongVersion() -> StringObjective-C
+ (nonnull NSString *)SDKLongVersion; -
Adds a usage attribution ID to the initializer, which helps Google understand which libraries and samples are helpful to developers, such as usage of a marker clustering library. To opt out of sending the usage attribution ID, it is safe to delete this function call or replace the value with an empty string.
Declaration
Swift
class func addInternalUsageAttributionID(_ internalUsageAttributionID: String)Objective-C
+ (void)addInternalUsageAttributionID: (nonnull NSString *)internalUsageAttributionID;Parameters
internalUsageAttributionIDThe usage attribution ID to add