我正在使用SSkeychain類將數據保存到鑰匙串中,但是當我嘗試迭代帳戶時,應用程序在列表中的第三項中崩潰,其中acct = < 5f70666f>;objective C以編程方式從鑰匙串中刪除帳戶
我想刪除該特定帳戶,但我無法將其刪除。我試圖刪除相關聯的所有應用程序中的鑰匙串數據,但還是我面臨的問題
SSKeychainQuery *query = [[SSKeychainQuery alloc] init];
BOOL isMatchPasscode=FALSE;
NSArray *accounts = [query fetchAll:nil];
for (id account in accounts){
if([[account
valueForKey:@"acct"]isEqualToString:constKeychainAccountTitle ])
{
}
}
LOG FOR ACCOUNTS
acct = "fc_uuidForDevice";
agrp = "99P5TJ23MZ.com.view.Street.dev";
cdat = "2017-03-07 08:53:17 +0000";
mdat = "2017-03-07 09:45:32 +0000";
musr = <>;
pdmn = ck;
svce = "com.view.Str.dev";
sync = 0;
tomb = 0;
},
{
acct = "fc_uuidsOfUserDevices";
agrp = "99P5TJ23MZ.view.Street.dev";
cdat = "2017-03-07 08:53:17 +0000";
mdat = "2017-03-07 09:45:32 +0000";
musr = <>;
pdmn = ck;
svce = "com.view.Street.dev";
sync = 1;
tomb = 0;
},
{
acct = <5f70666f>;
agrp = "99P5TJ23MZ.view.Street.dev";
cdat = "2017-03-07 08:53:20 +0000";
gena = <5f70666f>;
mdat = "2017-03-07 08:53:20 +0000";
musr = <>;
pdmn = dku;
svce = "com.view.Street.dev";
sync = 0;
tomb = 0;
}
)
什麼是崩潰的消息和堆棧跟蹤? – Paulw11
- [__ NSCFData isEqualToString:]:無法識別的選擇器發送到實例0x1740abcb0 – Vinaykrishnan
因此,您的代碼假定它從keychain獲取一個字符串,但在這種情況下,它檢索NSData,然後嘗試對其執行字符串比較。你應該改變你的代碼使用'isKindOfClass'來檢查你有一個字符串,然後再執行字符串操作 – Paulw11