|
@@ -19,8 +19,9 @@ KeychainAccess is a simple Swift wrapper for Keychain that works on iOS and OS X
|
|
- [Support iCloud sharing](#icloud_sharing)
|
|
- [Support iCloud sharing](#icloud_sharing)
|
|
- **[Support TouchID and Keychain integration (iOS 8+)](#touch_id_integration)**
|
|
- **[Support TouchID and Keychain integration (iOS 8+)](#touch_id_integration)**
|
|
- **[Support Shared Web Credentials (iOS 8+)](#shared_web_credentials)**
|
|
- **[Support Shared Web Credentials (iOS 8+)](#shared_web_credentials)**
|
|
-- [Works on both iOS & OS X](#requirements)
|
|
|
|
|
|
+- [Works on both iOS & macOS](#requirements)
|
|
- [watchOS and tvOS are supported](#requirements)
|
|
- [watchOS and tvOS are supported](#requirements)
|
|
|
|
+- **[Mac Catalyst is supported](#requirements)**
|
|
- **[Swift 3, 4 and 5 compatible](#requirements)**
|
|
- **[Swift 3, 4 and 5 compatible](#requirements)**
|
|
|
|
|
|
## :book: Usage
|
|
## :book: Usage
|
|
@@ -529,24 +530,34 @@ item: [authenticationType: Default, key: hirohamada, server: github.com, class:
|
|
item: [authenticationType: Default, key: honeylemon, server: github.com, class: InternetPassword, protocol: https]
|
|
item: [authenticationType: Default, key: honeylemon, server: github.com, class: InternetPassword, protocol: https]
|
|
```
|
|
```
|
|
|
|
|
|
|
|
+## Keychain sharing capability
|
|
|
|
+
|
|
|
|
+If you encounter the error below, you need to add an `Keychain.entitlements`.
|
|
|
|
+
|
|
|
|
+```
|
|
|
|
+OSStatus error:[-34018] Internal error when a required entitlement isn't present, client has neither application-identifier nor keychain-access-groups entitlements.
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+<img alt="Screen Shot 2019-10-27 at 8 08 50" src="https://user-images.githubusercontent.com/40610/67627108-1a7f2f80-f891-11e9-97bc-7f7313cb63d1.png" width="500">
|
|
|
|
+
|
|
|
|
+<img src="https://user-images.githubusercontent.com/40610/67627072-333b1580-f890-11e9-9feb-bf507abc2724.png" width="500" />
|
|
|
|
+
|
|
## Requirements
|
|
## Requirements
|
|
|
|
|
|
-| | OS | Swift |
|
|
|
|
-|------------|----------------------------------------|-------------------------|
|
|
|
|
-| **v1.1.x** | iOS 7+, OSX 10.9+ | 1.1 |
|
|
|
|
-| **v1.2.x** | iOS 7+, OSX 10.9+ | 1.2 |
|
|
|
|
-| **v2.0.x** | iOS 7+, OSX 10.9+, watchOS 2+ | 2.0 |
|
|
|
|
-| **v2.1.x** | iOS 7+, OSX 10.9+, watchOS 2+ | 2.0 |
|
|
|
|
-| **v2.2.x** | iOS 8+, OSX 10.9+, watchOS 2+, tvOS 9+ | 2.0, 2.1 |
|
|
|
|
-| **v2.3.x** | iOS 8+, OSX 10.9+, watchOS 2+, tvOS 9+ | 2.0, 2.1, 2.2 |
|
|
|
|
-| **v2.4.x** | iOS 8+, OSX 10.9+, watchOS 2+, tvOS 9+ | 2.2, 2.3 |
|
|
|
|
-| **v3.0.x** | iOS 8+, OSX 10.9+, watchOS 2+, tvOS 9+ | 3.x |
|
|
|
|
-| **v3.1.x** | iOS 8+, OSX 10.9+, watchOS 2+, tvOS 9+ | 4.0, 4.1, 4.2 |
|
|
|
|
-| **v3.1.x** | iOS 8+, OSX 10.9+, watchOS 2+, tvOS 9+ | 4.0, 4.1, 4.2 |
|
|
|
|
-| **v3.1.x** | iOS 8+, OSX 10.9+, watchOS 2+, tvOS 9+ | 4.0, 4.1, 4.2 |
|
|
|
|
-| **v3.2.x** | iOS 8+, OSX 10.9+, watchOS 2+, tvOS 9+ | 5.0, 4.0, 4.1, 4.2 |
|
|
|
|
-| **v4.0.x** | iOS 8+, OSX 10.9+, watchOS 2+, tvOS 9+ | 5.0, 4.0, 4.1, 4.2 |
|
|
|
|
-| **v4.1.x** | iOS 8+, OSX 10.9+, watchOS 3+, tvOS 9+ | 5.1, 5.0, 4.0, 4.1, 4.2 |
|
|
|
|
|
|
+| | OS | Swift |
|
|
|
|
+|------------|------------------------------------------------------------|--------------------|
|
|
|
|
+| **v1.1.x** | iOS 7+, macOS 10.9+ | 1.1 |
|
|
|
|
+| **v1.2.x** | iOS 7+, macOS 10.9+ | 1.2 |
|
|
|
|
+| **v2.0.x** | iOS 7+, macOS 10.9+, watchOS 2+ | 2.0 |
|
|
|
|
+| **v2.1.x** | iOS 7+, macOS 10.9+, watchOS 2+ | 2.0 |
|
|
|
|
+| **v2.2.x** | iOS 8+, macOS 10.9+, watchOS 2+, tvOS 9+ | 2.0, 2.1 |
|
|
|
|
+| **v2.3.x** | iOS 8+, macOS 10.9+, watchOS 2+, tvOS 9+ | 2.0, 2.1, 2.2 |
|
|
|
|
+| **v2.4.x** | iOS 8+, macOS 10.9+, watchOS 2+, tvOS 9+ | 2.2, 2.3 |
|
|
|
|
+| **v3.0.x** | iOS 8+, macOS 10.9+, watchOS 2+, tvOS 9+ | 3.x |
|
|
|
|
+| **v3.1.x** | iOS 8+, macOS 10.9+, watchOS 2+, tvOS 9+ | 4.0, 4.1, 4.2 |
|
|
|
|
+| **v3.2.x** | iOS 8+, macOS 10.9+, watchOS 2+, tvOS 9+ | 4.0, 4.1, 4.2, 5.0 |
|
|
|
|
+| **v4.0.x** | iOS 8+, macOS 10.9+, watchOS 2+, tvOS 9+ | 4.0, 4.1, 4.2, 5.1 |
|
|
|
|
+| **v4.1.x** | iOS 8+, macOS 10.9+, watchOS 3+, tvOS 9+, Mac Catalyst 13+ | 4.0, 4.1, 4.2, 5.1 |
|
|
|
|
|
|
## Installation
|
|
## Installation
|
|
|
|
|
|
@@ -570,14 +581,31 @@ it, simply add the following line to your Cartfile:
|
|
### Swift Package Manager
|
|
### Swift Package Manager
|
|
|
|
|
|
KeychainAccess is also available through [Swift Package Manager](https://github.com/apple/swift-package-manager/).
|
|
KeychainAccess is also available through [Swift Package Manager](https://github.com/apple/swift-package-manager/).
|
|
|
|
+
|
|
|
|
+#### Xcode
|
|
|
|
+
|
|
|
|
+Select `File > Swift Packages > Add Package Dependency...`,
|
|
|
|
+
|
|
|
|
+<img src="https://user-images.githubusercontent.com/40610/67627000-2833b580-f88f-11e9-89ef-18819b1a6c67.png" width="800px" />
|
|
|
|
+
|
|
|
|
+#### CLI
|
|
|
|
+
|
|
First, create `Package.swift` that its package declaration includes:
|
|
First, create `Package.swift` that its package declaration includes:
|
|
|
|
|
|
```swift
|
|
```swift
|
|
|
|
+// swift-tools-version:5.0
|
|
import PackageDescription
|
|
import PackageDescription
|
|
|
|
|
|
let package = Package(
|
|
let package = Package(
|
|
|
|
+ name: "MyLibrary",
|
|
|
|
+ products: [
|
|
|
|
+ .library(name: "MyLibrary", targets: ["MyLibrary"]),
|
|
|
|
+ ],
|
|
dependencies: [
|
|
dependencies: [
|
|
- .Package(url: "https://github.com/kishikawakatsumi/KeychainAccess.git", majorVersion: 2)
|
|
|
|
|
|
+ .package(url: "https://github.com/kishikawakatsumi/KeychainAccess.git", from: "3.0.0"),
|
|
|
|
+ ],
|
|
|
|
+ targets: [
|
|
|
|
+ .target(name: "MyLibrary", dependencies: ["KeychainAccess"]),
|
|
]
|
|
]
|
|
)
|
|
)
|
|
```
|
|
```
|