何かしらの理由でiOSシミュレーターのキーチェーン情報を削除したい時のためのメモ
シミュレーターのUUIDを取得
xcrun simctl list | egrep '(Booted)'
iPhone 13 Pro Max (シミュレーターのUUID) (Booted)
Phone: iPhone 13 Pro Max (シミュレーターのUUID) (Booted)
ファイル確認
キーチェーン情報はSQLite
のファイルとして保存されている
パス:~/Library/Developer/CoreSimulator/Devices/(シミュレーターのUUID)/data/Library/Keychains
ファイル名:keychain-2-debug.db
la ~/Library/Developer/CoreSimulator/Devices/(シミュレーターのUUID)/data/Library/Keychains
total 5832
drwxrwxrwx 17 u1 staff 544B Apr 8 08:12 Analytics
-rw-------@ 1 u1 staff 788K Apr 17 10:50 keychain-2-debug.db
-rw------- 1 u1 staff 32K Apr 17 10:49 keychain-2-debug.db-shm
-rw------- 1 u1 staff 1.2M Apr 18 20:50 keychain-2-debug.db-wal
ファイルを開く
- sqlite3で開く
sqlite3 ~/Library/Developer/CoreSimulator/Devices/(シミュレーターのUUID)/data/Library/Keychains/keychain-2-debug.db
SQLite version 3.37.0 2021-12-09 01:34:53
Enter ".help" for usage hints.
sqlite>
TablePlus
で開く
TablePlus
のインストールはbrew install --cask tableplus
open ~/Library/Developer/CoreSimulator/Devices/(シミュレーターのUUID)/data/Library/Keychains/keychain-2-debug.db
情報の削除
キーチェーン情報はテーブルgenp
に保存されて、カラムagrp
に書き込んだアプリのバンドルIDがあるのでそこを参考に削除可能
SELECT rowid, agrp FROM genp;
DELETE FROM genp WHERE agrp = 'TEAMID.com.your.app.bundle.id';
または
DELETE FROM genp WHERE agrp like '%xxxxx%';