Copyright (c) 2018 Google LLC. All rights reserved.
This SDK provides access to all ARCore cross-platform features like cloud anchors.
Please note we do not accept pull requests.
For Cloud Anchors see the Quickstart for Cloud Anchors with iOS. For Augmented faces see the Quickstart for Augmented Faces with iOS. For Geospatial see the Quickstart for Geospatial with iOS
See the ARCore iOS API Reference.
Sample apps are available for download at https://github.com/google-ar/arcore-ios-sdk/tree/master/Examples. Be sure to follow any instructions in README files.
The SDK release notes are available on the releases page.
ARCore requires a deployment target that is >= 11.0. Also, you must be building with at least version 15.0 of the iOS SDK. ARCore binaries no longer contain bitcode, which is deprecated with Xcode 14, so if you are building with Xcode 13 then you must disable bitcode for your project. The SDK can be installed using either CocoaPods or Swift Package Manager; see below for details.
Starting with the 1.36.0 release, ARCore officially supports installation via Swift Package Manager:
https://github.com/google-ar/arcore-ios-sdk
-ObjC
to Other Linker Flags. It is recommended to set
Other Linker Flags to $(inherited) -ObjC
.Before you can start using the ARCore Cloud Anchors API or the ARCore Geospatial API, you will need to create a project in the Google Developer Console and enable the ARCore API.
See the User privacy requirements.
You must disclose the use of ARCore, and how it collects and processes data. This can be done by displaying a prominent link to the site "How Google uses data when you use our partners' sites or apps", (located at www.google.com/policies/privacy/partners/, or any other URL Google may provide from time to time).
By using the ARCore SDK for iOS, you accept Google's ARCore Additional Terms of Service at https://developers.google.com/ar/develop/terms
Apps built with ARCore SDK 1.12.0 or higher are covered by the Cloud Anchor API deprecation policy.
Apps built with ARCore SDK 1.11.0 or lower will be unable to host or resolve Cloud Anchors beginning December 2020 due to the SDK's use of an older, deprecated ARCore Cloud Anchor service.
link |
Stars: 246 |
Last commit: 3 weeks ago |
Streetscape Geometry is a new ARCore Geospatial API that provides the geometry of buildings and terrain in an area around the user when the Geospatial API is enabled.
See Streetscape Geometry Developer Guide (iOS) for more information. Additionally, the GeospatialExample app has been updated to include Streetscape Geometry.
GARStreetscapeGeometry
:
GARStreetscapeGeometry.mesh
provides 3D meshes.GARStreetscapeGeometry.meshTransform
provides the origin transform of the geometry relative to the session's world space.GARStreetscapeGeometry.trackingState
maintains the tracking state.GARStreetscapeGeometry.type
indicates if it is terrain or building geometry.GARStreetscapeGeometry.quality
provides the quality of geometry.GARStreetscapeGeometry.identifier
provides the unique identifier for the geometry.GARSession.createAnchorOnStreetscapeGeometry:transform:error:
creates an anchor at the specified location and orientation.GARSession.raycastStreetscapeGeometry:direction:error:
performs a raycast against Streetscape Geometry loaded in the scene.Rooftop anchors are a new Geospatial anchor type that helps you anchor content to a rooftop.
See Geospatial anchors (iOS) for more information. Additionally, the GeospatialExample app has been updated to include Rooftop anchors.
GARSession.createAnchorWithCoordinate:altitudeAboveRooftop:eastUpSouthQAnchor:completionHandler:error:
creates a Rooftop anchor at the specified location, altitude above the rooftop in meters and orientation relative to the Earth.GARCreateAnchorOnRooftopFuture
holds the asynchronous state of resolving a Rooftop anchor.GARRooftopAnchorState
describes the state of resolving a Rooftop anchor.This release introduces new ARCore async APIs to improve ergonomics when working with asynchronous operations, following the Future paradigm.
GARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:completionHandler:error:
to obtain a GARCreateAnchorOnTerrainFuture
. The old symbol GARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:error:
has been deprecated and may be removed in a later version of ARCore.GARSession.resolveCloudAnchorWithIdentifier:completionHandler:error:
to obtain a GARResolveCloudAnchorFuture
. The old symbol GARSession.resolveCloudAnchorWithIdentifier:error:
has been deprecated and may be removed in a later version of ARCore.GARSession.hostCloudAnchor:TTLDays:completionHandler:error:
to obtain a GARHostCloudAnchorFuture
. The old symbols GARSession.hostCloudAnchor:error:
and GARSession.hostCloudAnchor:TTLDays:error:
have been deprecated and may be removed in a later version of ARCore.GARAnchor(Geospatial)
GARAnchor.terrainState
GARTerrainAnchorStateTaskInProgress
GARAnchor(CloudAnchors)
GARAnchor.cloudIdentifier
GARAnchor.cloudState
GARCloudAnchorStateTaskInProgress
GARSession.hostCloudAnchor:error:
GARSession.hostCloudAnchor:TTLDays:error:
GARSession.resolveCloudAnchorWithIdentifier:error:
GARSessionDelegate
GARSessionDelegate.session:didFailToHostAnchor:
GARSessionDelegate.session:didHostAnchor:
GARSessionDelegate.session:didFailToResolveAnchor:
GARSessionDelegate.session:didResolveAnchor:
GARSession.delegate
GARSession.delegateQueue
GARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:error:
GARFuture
is a new base type for async operations with property GARFuture.state
and method GARFuture.cancel
. GARVPSAvailabilityFuture
now extends GARFuture
.Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics