2012-04-06 137 views
3

我在XCode中使用以下代碼,爲啓用ARC的iOS構建應用程序。爲什麼會出現這些錯誤?鑰匙串ARC錯誤

enter image description here

這裏是我的代碼:

KeychainItemWrapper *keychainItem = [[KeychainItemWrapper alloc] initWithIdentifier:@"Test" accessGroup:nil]; 
[keychainItem setObject:@"Test" forKey:kSecAttrService]; 

[keychainItem setObject:password.text forKey:kSecValueData]; 
[keychainItem setObject:username.text forKey:kSecAttrAccount]; 

回答

8

你得到這一點,因爲kSecAttrAccount和如不是的OBJ-C類型。只要將每前(__bridge id)

[keychainItem setObject:password.text forKey:(__bridge id)kSecValueData]; 
+0

真棒,謝謝:) – 2012-04-06 17:59:06

+0

如果沒有對.m文件有不利的影響,你可以編譯那裏有.m文件時關掉ARC功能(id)引用。查看關於[如何在每個文件基礎上禁用ARC]的QA(http://stackoverflow.com/questions/6646052/how-can-i-disable-arc-for-a-single-file-in-a -項目)。 – radj 2013-04-18 09:29:50

+0

這解決了它!謝謝! – haifacarina 2014-10-24 19:00:53