2012-05-16 2 views
6

Я просто попытался использовать KeychainItemWrapper предоставленного Apple, но я получаю ошибку, связующую каждый раз:KeychainItemWrapper связывая ошибку

Undefined symbols for architecture i386: "_OBJC_CLASS_$_KeychainItemWrapper", referenced from: objc-class-ref in DataModel.o

ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Я включил систему безопасности и проверил, почему Apple, включенную в Xcode проект, но я не могу найти, что еще не так.

_keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"com.website.project" accessGroup:nil]; 
[_keychain setObject:_username forKey:(id)kSecAttrAccount]; 
[_keychain setObject:_password forKey:(id)kSecValueData]; 

Я также добавил «com.website.project» в мои группы доступа Keychain.

+2

+1 Вы заставили меня понять, что я забыл добавить рамки безопасности ;-) –

ответ

11

Убедитесь, что KeychainItemWrapper находится в списке «Источники компиляции».

+0

Ага, что работает, спасибо, не следует ли его автоматически добавлять, когда я импортирую его в любом классе? –

+1

Вы должны отметить галочку рядом с названием вашей цели при импорте файлов (я знаю, раздражает). – CodaFi

+2

На iOS 7 вместо этого добавьте Security.framework. – SwiftArchitect

Смежные вопросы