ページ内ナビ
概要
KeychainAccessはSecurity frameworkのKeychain APIをSwiftから扱いやすくするwrapperです。application passwordやinternet passwordの保存・取得・削除に加え、access group、accessibility、iCloud同期、Touch ID/Face ID保護をfluentなAPIで設定できます。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
serviceまたはserver単位のKeychainへString/Dataを保存・取得する
Keychain(service:)やKeychain(server:protocolType:)を作成し、subscriptまたはset/get methodでcredentialを保存・取得できます。access tokenやpasswordをUserDefaults等へ置かずKeychainへ移すための薄いSwift APIとして利用できます。
出典:[2]
accessibility・sharing・iCloud同期・生体認証policyを設定する
accessibility、accessGroup、synchronizable、authenticationPolicyを組み合わせてitemの利用条件を指定できます。Face IDを利用する場合はNSFaceIDUsageDescriptionが必要で、認証を伴うoperationはbackground threadで実行するようREADMEで注意されています。
出典:[2]
向いている用途
token・credential・device内secretをKeychainへ保存したいiOS applicationに向く
login token、API credential、device-specific secretなどをKeychainへ保存しつつ、Apple Security frameworkの低level APIを各画面で直接扱いたくない場合に適します。
出典:[2]
導入前の確認
参考にした公式資料
- [1]kishikawakatsumi/KeychainAccess — GitHub repository(2026-10-06)
- [2]KeychainAccess v4.2.2 — README(2026-10-06)
- [3]KeychainAccess v4.2.2 — Package.swift(2026-10-06)
- [4]KeychainAccess v4.2.2 release(2026-10-06)
- [5]KeychainAccess MIT license(2026-10-06)
編集部からの補足
tokenやcredentialをKeychainへ保存しつつSecurity frameworkの低level APIを直接扱いたくないiOS appに向きます。latest releaseが2021年のため、現行Swift/Xcodeでbuildとruntime behaviorを確認してから採用してください。
3ステップで試す
- 1
KeychainAccess 4.2.2をSwiftPMで追加する
latest GitHub releaseを固定します。releaseが古いため、現行Swift/Xcodeでbuildできることを先に確認してください。
.package(url: "https://github.com/kishikawakatsumi/KeychainAccess.git", exact: "4.2.2") - 2
service単位のKeychainを作る
application credential用のservice名を指定してKeychain wrapperを作成します。
import KeychainAccess let keychain = Keychain(service: "com.example.app") - 3
tokenを保存して読み戻す
set/get methodでcredentialを保存・取得し、UserDefaults等ではなくKeychainへ格納される経路を確認します。
try keychain.set("token-value", key: "accessToken") let token = try keychain.get("accessToken")
成長
成長の推移 · 直近30日
8,253 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 0
- Open PR
- 6
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- SwiftUI Introspect6,559 Stars
共通タグ 3件 · 共通カテゴリ 1件 · 同じ言語
SwiftUI viewの背後にあるUIKit/AppKit componentへpublic APIでアクセスする
Swift - DeviceKit4,733 Stars
共通タグ 3件 · 共通カテゴリ 1件 · 同じ言語
UIDeviceをvalue typeで補完し端末model・family・simulator・battery・hardware capabilityを判定する
Swift - Apollo iOS4,037 Stars
共通タグ 3件 · 共通カテゴリ 1件 · 同じ言語
GraphQL schemaから型安全なSwift modelを生成し、query・normalized cacheを扱う
Swift - Flutter179,343 Stars
共通タグ 3件 · 共通カテゴリ 1件
Dartの一つのcodebaseからmobile・web・desktop UIを構築するcross-platform SDK
Dart - React Native126,797 Stars
共通タグ 3件 · 共通カテゴリ 1件
React componentをnative UIへ描画するmobile framework。0.87.1とframework-first導線を整理
C++ - Expo52,566 Stars
共通タグ 3件 · 共通カテゴリ 1件
React NativeアプリをAndroid・iOS・Webへ一つのprojectから展開する
TypeScript
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。