Swiftpack.co - Package - google/google-api-objectivec-client-for-rest

Google APIs Client Library for Objective-C for REST

Project site https://github.com/google/google-api-objectivec-client-for-rest Discussion group http://groups.google.com/group/google-api-objectivec-client

Build Status

Written by Google, this library is a flexible and efficient Objective-C framework for accessing JSON APIs.

This is the recommended library for accessing JSON-based Google APIs for iOS and Mac OS X applications. The library is compatible with applications built for iOS 7 and later, and Mac OS X 10.9 and later.

To get started with Google APIs and the Objective-C client library, Read the wiki. See BuildingTheLibrary for how to add the library to a Mac or iPhone application project, it covers directly adding sources or using CocoaPods. Study the example applications.

Generated interfaces for Google APIs are in the GeneratedServices folder.

In addition to the pre generated classes included with the library, you can generate your own source for other services that have a discovery document by using the ServiceGenerator.

If you have a problem or want a new feature to be included in the library, please join the discussion group. Be sure to include http logs for requests and responses when posting questions. Bugs may also be submitted on the issues list.

Externally-included projects: The library is built on top of code from the separate project GTM Session Fetcher. To work with some remote services, it also needs Authentication/Authorization.

Google Data APIs: The much older library for XML-based APIs is still available.

Other useful classes for Mac and iOS developers are available in the Google Toolbox for Mac.


Stars: 521

Used By

Total: 0


v1.5.1 Release -

This release is identical except for the SwiftPM Package.swift, that has been updated to remove the Platforms.swift section to avoid issues with Xcode 12 (#410).

v1.5.0 Release -

  • Generated current services as defined by discovery
  • Protect access to the taskid to deal with different threads. #403
  • Xcode 12 minimum iOS version issues (move minimum OS in some files to iOS 9, but older ones should still work if using older Xcode versions and your own project file)

:warning: Note: The generated YouTube API was updated and contains some api breaking changes, this project doesn't directly control that. Some bug have been raised within Google for this, so hopefully a future update will get things back in line, but a release is being made because of the other changes and to address Xcode 12 compatibility.

v1.4.3 Release -

  • Generated current services as defined by discovery

v1.4.2 Release -

  • ServiceGenerator build fixes:
    • Fix include. #368
    • Fix up the exit status for description fetch failures. #369
  • Handle parsing batch replies which minimal responses. #379
  • Generated current services as defined by discovery.

v1.4.1 Release -

  • #366 fix for bad NSAssert within the ServiceGenerator

v1.4.0 Release -

This release includes a Package.swift for SwiftPM support.

Minor fixes:

  • #337 ServiceGenerator support for optionally trying to parse text/html replies (for misconfigured servers).
  • #346 Support mime payloads (batch replies) where that are successful but with no payload (delete, etc.)
  • #361 Fix up some comment formatting in html when the service returned forced line breaks in odd places.

v1.3.11 Release -

  • #305 #306 Update sources for some format string warnings from newer clangs.
  • Generated current services as defined by discovery.

v1.3.10 Release -

  • #295 Make padding optional in WebSafe decode.
  • #300 Properly support NSSecureCoding by listing needed classes.
  • Generated current services as defined by discovery.

v1.3.9 Release -

  • #284 - Prefer HTTP errors over JSON parsing errors.
  • Updated service generation.

v1.3.8 Release -

  • Generated current services as defined by discovery.

v1.3.7 Release -

  • #254 Fixes for -description on the rare array result objects.
  • Generated current services as defined by discovery.

v1.3.6 Release -

  • #238 APIKey Restriction/X-Ios-Bundle-Identifier support
  • Latest generated services.

v1.3.5 Release -

  • #219 Fix import of GTMMIMEDocument.h
  • #226 Update doc generation to correct doctype
  • #231 Fixed build using Xcode 10
  • #220 Shuffle the deps handling of the Xcode projects
  • Generated current services as defined by discovery.

Note: #220 should have no impact on anyone using CocoaPods, but anyone using the checked in Xcode project it could have impact. In this pull, the Xcode project no longer bundles GTMAppAuth and AppAuth, this is because GTLR also works with the Google SignIn, so it was bundling something some developer might not need. So if you are using the Xcode project provided here, you may now need to directly incldue GTMAppAuth and AppAuth if you were previous using them. See the help pages on those projects for how to integrate them.

v1.3.4 -

  • Pick up #216 to support building with CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF.

v1.3.3 Release -

  • #203 - Xcode 9.3 format string fix
  • Updated service generation

v1.3.2 Release -

  • Updates to generated services (and pick up new services).
  • Updated AppAuth dependency (#183)
  • Updates to sources for Xcode 9 toolchain (new warnings, etc.) (#185)
  • Switches DYLIB_INSTALL_NAME_BASE to @rpath; for developers using the checked in Xcode project in their builds/releases (#186)

v1.3.1 Release -

  • #144 Improved diags and validation during generation (saw some bad discovery documents).
  • #148 watchOS support
  • #152 & #154 Fixes for newer clangs
  • #161 Remove legacy naming support
  • #163 Suppress -Wdocumentation in generated code, since content comes from discovery some times it is just bad.
  • #168 testHook fix for canceled requests.

v1.3.0 Release -

  • #104: ServiceGenerator supports a prefix to put on the #import lines to support custom installs/setups of the source.
  • #115: Use forward declaration for some types to reduce imports needed in headers. This removes the need need for user_target_xcconfig in the podspec.
  • #128: Tweak the naming of the OAuth2 Scope constants. They common case should be no change, but it now should detect collisions and try generating longer constant names to avoid them.
  • #130: Dropped the use of pod_target_xcconfig in the podspec, and instead the sources try to detect this via the common COCOAPODS symbol.
  • Updates the generated sources for the services and includes several more.
  • The gtm-oauth2 sources are no longer bundled into the Framework generated by the checked in Xcode project as projects should have migrated by now.

v1.2.1 Release -

  • Handle some apis returning results as an array of objects instead of as an object.
  • Changed how background tasks are captured, so building an iOS Extension should be easier.

v1.2.0 Release -

Updated services and switch over to stop using the legacy naming on generated sources. This will ensure there aren't generation issues going forward with conflicting nested class names (Foo::Bar conflicting with FooBar).

v1.1.1 Release -

New release to pick up updated and new services.

v1.1.0 Release -


  • Update generated services
  • #47 a custom class for better support for duration properties.
  • #38 complete NSObject & NSSecureEncoding support on GTLRObject subclasses

Note: The duration change could cause some client code to need updating, which is why this is going out as 1.1.0 instead of 1.0.x.

v1.0.3 Release -

Updated release to pick up PR #28 & #31

  • Fixes install directory issue if using the GTLRCore project.
  • Includes service updates and several more services.

v1.0.2 Release -

Updated release to pick up PR #9, #10, #11, #13, #16

  • Support for atomic ops and warning about implicit atomic ops.
  • More analyzer checks.
  • ServiceGenerator support for indicating headers will be in a framework.
  • Automatic remapping of long GET rules to POSTs (for proxy and server url limits).
  • Current generated sources and some new apis.

v1.0.1 Release -

Updated release to pick up PR #2, #3, #4, #5

  • Adds some more api points.
  • Current service sources.
  • HeaderDoc updates.
  • Bug fixes.

v1.0.0 Release -

Initial release cut to go with CocoaPod.