ASACloudSpatialAnchorSession 类
声明
@interface ASACloudSpatialAnchorSession : NSObject;
说明
使用此类创建、查找和管理空间定位点。
方法
init
使用默认配置初始化新实例。
-(instancetype)init;
处理
停止此会话并释放所有关联的资源。
-(void)dispose;
getAccessTokenWithAuthenticationToken
从身份验证令牌获取 Azure 空间定位点访问令牌。
-(void)getAccessTokenWithAuthenticationToken:(NSString *)authenticationToken withCompletionHandler:(void (^)(NSString * value, NSError *error))completionHandler;
参数
-
authenticationToken
- 身份验证令牌。 -
completionHandler
- 访问令牌字符串。
返回
void
getAccessTokenWithAccountKey
从帐户密钥获取 Azure 空间定位点访问令牌。
-(void)getAccessTokenWithAccountKey:(NSString *)accountKey withCompletionHandler:(void (^)(NSString * value, NSError *error))completionHandler;
参数
-
accountKey
- 帐户密钥。 -
completionHandler
- 访问令牌字符串。
返回
void
createAnchor
从指定的本地定位点和字符串属性创建新的持久空间定位点。
传递到此方法的本地定位点必须具有有效的转换。 请注意,Azure 空间定位点支持的一些平台(如 iOS)允许使用缩放组件 != 1.0 进行转换。 Azure 空间定位点 SDK 不支持此类转换,并且将无法创建带有错误代码 InvalidAnchorTransformRigidity 的空间定位点。 定位点的任何缩放处理都必须在应用级别完成。
-(void)createAnchor:(ASACloudSpatialAnchor *)anchor withCompletionHandler:(void (^)(NSError *error))completionHandler;
参数
-
anchor
- 要保留的定位点。 -
completionHandler
- 表示异步创建操作的任务。
返回
void
createWatcher
创建一个新的 对象,用于监视满足指定条件的定位点。
-(ASACloudSpatialAnchorWatcher *)createWatcher:(ASAAnchorLocateCriteria *)criteria;
参数
-
criteria
- 要监视的定位点的条件。
返回
-
ASACloudSpatialAnchorWatcher *
- 一个新的观察程序对象,它持续查找定位点,直到完全满足条件或观察程序停止。 一次只能有一个活动观察程序。
getAnchorProperties
获取给定标识符的云空间定位点,即使尚未找到它。
-(void)getAnchorProperties:(NSString *)identifier withCompletionHandler:(void (^)(ASACloudSpatialAnchor * value, NSError *error))completionHandler;
参数
-
identifier
- 要查找的标识符。 -
completionHandler
- 表示异步检索操作的任务。 检索到的定位点将具有属性值,但可能没有可用的本地定位点。
返回
void
getNearbyAnchorIds
获取与给定条件对应的所有附近的云空间定位点 ID 的列表。
-(void)getNearbyAnchorIds:(ASANearDeviceCriteria *)criteria withCompletionHandler:(void (^)(NSArray * value, NSError *error))completionHandler;
参数
-
criteria
- 搜索条件。 -
completionHandler
- 表示异步检索操作的任务。
返回
void
getActiveWatchers
获取活动观察程序的列表。
-(NSArray<ASACloudSpatialAnchorWatcher *> *)getActiveWatchers;
返回
-
NSArray<ASACloudSpatialAnchorWatcher *> *
- 活动观察程序的列表。
refreshAnchorProperties
刷新指定空间定位点的属性。
-(void)refreshAnchorProperties:(ASACloudSpatialAnchor *)anchor withCompletionHandler:(void (^)(NSError *error))completionHandler;
参数
-
anchor
- 要刷新的定位点。 -
completionHandler
- 表示异步刷新操作的任务。
返回
void
updateAnchorProperties
汇报指定的空间定位点。
-(void)updateAnchorProperties:(ASACloudSpatialAnchor *)anchor withCompletionHandler:(void (^)(NSError *error))completionHandler;
参数
-
anchor
- 要更新的定位点。 -
completionHandler
- 表示异步更新操作的任务。
返回
void
deleteAnchor
删除持久空间定位点。
-(void)deleteAnchor:(ASACloudSpatialAnchor *)anchor withCompletionHandler:(void (^)(NSError *error))completionHandler;
参数
-
anchor
- 要删除的定位点。 -
completionHandler
- 表示异步删除操作的任务。
返回
void
processFrame
应用程序必须在需要按帧处理的平台上调用此方法。
此方法在 HoloLens 平台上不可用。
-(void)processFrame:(ARFrame *)frame;
参数
-
frame
- 要处理的 AR 帧。
getSessionStatus
获取描述会话状态的 对象。
-(void)getSessionStatusWithCompletionHandler:(void (^)(ASASessionStatus * value, NSError *error))completionHandler;
参数
-
completionHandler
- 表示会话状态检索的任务。
返回
void
start
开始捕获会话的环境数据。
-(void)start;
stop
停止捕获会话的环境数据,并取消任何未完成的定位操作。 维护环境数据。
-(void)stop;
reset
重置已在此会话中捕获的环境数据;当跟踪丢失时,应用程序必须调用此方法。
在任何平台上,调用 方法将清理所有内部缓存状态。
-(void)reset;
属性
delegate
提供用于从此 ASACloudSpatialAnchorSession 实例接收事件的对象。
@property(nonatomic, assign) id<ASACloudSpatialAnchorSessionDelegate> delegate;
配置
会话的配置信息。
启动会话时,配置设置将生效。
@property (retain, readonly) ASASessionConfiguration * configuration;
诊断
会话的诊断设置,可用于收集和提交数据以进行故障排除和改进。
@property (retain, readonly) ASACloudSpatialAnchorSessionDiagnostics * diagnostics;
logLevel
会话日志事件的日志记录级别。
@property ASASessionLogLevel logLevel;
会话
用于帮助查找定位点的跟踪会话。
此属性在 HoloLens 平台上不可用。
@property (retain) ARSession * session;
telemetryEnabled
此 API 可用于启用或禁用 Azure 空间定位点 SDK 遥测。 默认情况下,ASA SDK 遥测处于启用状态。 如果禁用,ASA SDK 将不会记录此会话的任何遥测事件。 需要完全禁用 ASA SDK 遥测的应用程序可以在调用 CloudSpatialAnchorSession::Start 之前使用此 API,这将导致不为该 CloudSpatialAnchorSession 实例发送遥测事件。
@property BOOL telemetryEnabled;
locationProvider
用于使用 粗略重新定位创建和查找定位点的位置提供程序。
@property (retain) ASAPlatformLocationProvider * locationProvider;
sessionID
会话的唯一标识符。
@property (retain, readonly) NSString * sessionId;