Skip to content

Releases: kishikawakatsumi/UICKeyChainStore

v2.0.2

31 Jan 14:20
Compare
Choose a tag to compare
  • Add support for Shared Web Credentials #63
    • Add -[UICKeyChainStore sharedPasswordWithCompletion:]
    • Add -[UICKeyChainStore sharedPasswordForAccount:completion:]
    • Add -[UICKeyChainStore setSharedPassword:forAccount:completion:]
    • Add -[UICKeyChainStore removeSharedPasswordForAccount:completion:]
    • Add +[UICKeyChainStore requestSharedWebCredentialWithCompletion:]
    • Add +[UICKeyChainStore requestSharedWebCredentialForDomain:account:completion:
    • Add +[UICKeyChainStore generatePassword]

Shared web credentials is a programming interface that enables native iOS apps to share credentials with their website counterparts. For example, a user may log in to a website in Safari, entering a user name and password, and save those credentials using the iCloud Keychain. Later, the user may run a native app from the same developer, and instead of the app requiring the user to reenter a user name and password, shared web credentials gives it access to the credentials that were entered earlier in Safari. The user can also create new accounts, update passwords, or delete her account from within the app. These changes are then saved and used by Safari.
https://developer.apple.com/library/ios/documentation/Security/Reference/SharedWebCredentialsRef/

v2.0.1

31 Jan 14:24
Compare
Choose a tag to compare
  • Fix static analyzer warning for "Argument for subscript setter is an uninitialized value" #61

v2.0.0

17 Jan 15:20
Compare
Choose a tag to compare
  • Add support for internet password #42
    • Add +[UICKeyChainStore keyChainStoreWithServer:protocolType:]
    • Add +[UICKeyChainStore keyChainStoreWithServer:protocolType:authenticationType:]
    • Add -[UICKeyChainStore initWithServer:protocolType:]
    • Add -[UICKeyChainStore initWithServer:protocolType:authenticationType:]
    • Add enum UICKeyChainStoreItemClass
    • Add enum UICKeyChainStoreProtocolType
    • Add enum UICKeyChainStoreAuthenticationType
    • Add @property (nonatomic, readonly) UICKeyChainStoreItemClass itemClass
    • Add @property (nonatomic, readonly) NSURL *server
    • Add @property (nonatomic, readonly) UICKeyChainStoreProtocolType protocolType
    • Add @property (nonatomic, readonly) UICKeyChainStoreAuthenticationType authenticationType
  • Add support for accessibility #42
    • Add enum UICKeyChainStoreAccessibility
    • Add @property (nonatomic) UICKeyChainStoreAccessibility accessibility
  • Add support for iCloud sharing #42
    • Add @property (nonatomic) BOOL synchronizable
  • Add support for TouchID and Keychain integration (iOS 8+) #42
    • Add enum UICKeyChainStoreAuthenticationPolicy
    • Add -[UICKeyChainStore setAccessibility:authenticationPolicy:]
    • Add @property (nonatomic, readonly) UICKeyChainStoreAuthenticationPolicy
    • Add @property (nonatomic) NSString *authenticationPrompt
  • Add support for label and comment #42
    • Add -[UICKeyChainStore setString:forKey:label:comment:]
    • Add -[UICKeyChainStore setString:forKey:label:comment:error:]
    • Add -[UICKeyChainStore setData:forKey:label:comment:]
    • Add -[UICKeyChainStore setData:forKey:label:comment:error:]
  • Deprecated synchronize method. Calling this method is no longer required (just ignored). #42
    • Previously, the value is actually stored had been delayed until the call synchronize method. From now storing the change immediately. There is almost no effect on the existing code by this change.

v1.1.1

31 Jan 14:26
Compare
Choose a tag to compare
  • Fix static analyzer warning for "Method accepting NSError** should have a non-void return value to indicate whether or not an error occurred" #33

v1.1.0

31 Jan 14:37
Compare
Choose a tag to compare
  • Add error parameter to handle failing Keychain API #24
    • Add UICKeyChainStoreErrorDomain
    • Add enum UICKeyChainStoreErrorCode
    • Add +[UICKeyChainStore stringForKey:error:]
    • Add +[UICKeyChainStore stringForKey:service:error:]
    • Add +[UICKeyChainStore stringForKey:service:accessGroup:error:]
    • Add +[UICKeyChainStore setString:forKey:error:]
    • Add +[UICKeyChainStore setString:forKey:service:error:]
    • Add +[UICKeyChainStore setString:forKey:service:accessGroup:error:]
    • Add +[UICKeyChainStore dataForKey:error:]
    • Add +[UICKeyChainStore dataForKey:service:error:]
    • Add +[UICKeyChainStore dataForKey:service:accessGroup:error:]
    • Add +[UICKeyChainStore setData:forKey:error:]
    • Add +[UICKeyChainStore setData:forKey:service:error:]
    • Add +[UICKeyChainStore setData:forKey:service:accessGroup:error:]
    • Add -[UICKeyChainStore stringForKey:error:]
    • Add -[UICKeyChainStore setString:forKey:error:]
    • Add -[UICKeyChainStore dataForKey:error:]
    • Add -[UICKeyChainStore setData:forKey:error:]
    • Add +[UICKeyChainStore removeItemForKey:error:]
    • Add +[UICKeyChainStore removeItemForKey:service:error:]
    • Add +[UICKeyChainStore removeItemForKey:service:accessGroup:error:]
    • Add +[UICKeyChainStore removeAllItemForKey:error:]
    • Add +[UICKeyChainStore removeAllItemForKey:service:error:]
    • Add +[UICKeyChainStore removeAllItemForKey:service:accessGroup:error:]
    • Add -[UICKeyChainStore removeItemForKey:error:]
    • Add -[UICKeyChainStore removeAllItemWithError:]
    • Add -[UICKeyChainStore synchronizeWithError:]