ArcGIS Runtime SDK for iOS: AGSKeychainItem.h Source File
ArcGIS Runtime SDK for iOS  100.9
AGSKeychainItem.h
Go to the documentation of this file.
1 /*
2  COPYRIGHT 1995-2020 ESRI
3 
4  TRADE SECRETS: ESRI PROPRIETARY AND CONFIDENTIAL
5  Unpublished material - all rights reserved under the
6  Copyright Laws of the United States and applicable international
7  laws, treaties, and conventions.
8 
9  For additional information, contact:
10  Environmental Systems Research Institute, Inc.
11  Attn: Contracts and Legal Services Department
12  380 New York Street
13  Redlands, California, 92373
14  USA
15 
16  email: contracts@esri.com
17  */
18  //Required for Globals API doc
20 
21 #import <Foundation/Foundation.h>
22 
23 
24 
29 typedef NS_ENUM(NSInteger, AGSKeychainItemAccessible) {
32  AGSKeychainItemAccessibleAlways API_DEPRECATED("Use an accessibility level that provides some user protection, such as AGSKeychainItemAccessibleAfterFirstUnlock", macos(10.9, 10.14), ios(4.0, 12.0)),
34  AGSKeychainItemAccessibleAlwaysThisDeviceOnly API_DEPRECATED("Use an accessibility level that provides some user protection, such as AGSKeychainItemAccessibleAfterFirstUnlockThisDeviceOnly", macos(10.9, 10.14), ios(4.0, 12.0)),
37 };
38 
48 @interface AGSKeychainItem : NSObject
49 
50 #pragma mark -
51 #pragma mark initializers
52 
53 
54 
61 -(instancetype)initWithIdentifier:(NSString*)identifier accessGroup:(nullable NSString*)accessGroup acrossDevices:(BOOL)acrossDevices;
62 
69 +(instancetype)keychainItemWithIdentifier:(NSString*)identifier accessGroup:(nullable NSString*)accessGroup acrossDevices:(BOOL)acrossDevices;
70 
78 -(instancetype)initWithIdentifier:(NSString*)identifier accessGroup:(nullable NSString*)accessGroup acrossDevices:(BOOL)acrossDevices accessible:(AGSKeychainItemAccessible)accessible;
79 
87 +(instancetype)keychainItemWithIdentifier:(NSString*)identifier accessGroup:(nullable NSString*)accessGroup acrossDevices:(BOOL)acrossDevices accessible:(AGSKeychainItemAccessible)accessible;
88 
89 #pragma mark -
90 #pragma mark properties
91 
96 @property (nonatomic, copy, readonly) NSString *identifier;
97 
102 @property (nullable, nonatomic, copy, readonly) NSString *accessGroup;
103 
108 @property (nonatomic, assign, readonly) BOOL sharedAcrossDevices;
109 
110 #pragma mark -
111 #pragma mark methods
112 
118 -(void)writeObjectToKeychain:(id<NSCoding>)object completion:(nullable void(^)(NSError * __nullable error))completion;
119 
123 -(nullable id<NSCoding>)readObjectFromKeychain;
124 
129 -(void)removeObjectFromKeychainWithCompletion:(nullable void(^)(NSError * __nullable error))completion;
130 
131 @end
132 
133 
nullable id< NSCoding > readObjectFromKeychain()
Definition: AGSKeychainItem.h:32
BOOL sharedAcrossDevices
Definition: AGSKeychainItem.h:108
A convenience class to store and retrieve objects in the keychain.
Definition: AGSKeychainItem.h:48
Definition: AGSKeychainItem.h:35
Definition: AGSKeychainItem.h:30
AGSKeychainItemAccessible
Definition: AGSKeychainItem.h:29