적절한 지점을 찾았 으면 대상 기능 창에서 데이터 보호 스위치를 켜서 데이터 보호를 사용한다는 신호를 보내야합니다. Apple's documentation에 따르면,이 충분해야합니다
보호의 기본 레벨이있는 장치가 잠겨있을 때 암호화 및 액세스 할 수없는 파일, 완벽하게 보호합니다. 당신은 프로그램 그것은 당신이 이 프로그래밍 보호 수준을 설정할 수 있습니다 상태
[...] 당신의 응용 프로그램에서 만든 파일에 대한 보호 수준을 설정할 수 있습니다.
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
@YES, NSMigratePersistentStoresAutomaticallyOption,
@YES, NSInferMappingModelAutomaticallyOption,
NSPersistentStoreFileProtectionKey, NSFileProtectionComplete, // <-- HERE
nil];
...
__persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
if (![__persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:options error:&error]) {
...
}
NSFileProtectionComplete
이
을 의미하는 파일이 저장되어 다음 persistentStoreCoordinator를 만들 때, 적절한 옵션을 사용해야합니다, 당신은 (나는 아직도 저장 될, 그렇게) 그렇게하려면 암호화 된 형식으로 디스크에 저장되며 장치가 잠겨 있거나 부팅되는 동안 을 읽거나 쓸 수 없습니다.
NSFileProtectionCompleteUnlessOpen
을 사용할 수도 있습니다. 차이점은 Xcode 빠른 도움말을 참조하십시오.
Apple의 설명서를 살펴 보았습니까? 어느 부분에 도움이 필요합니까? –
@Tom Harrington –
@Tom Harrington 예 데이터 보호에 대한 Apple의 설명서를 읽었지만 매우 간단하며 구현 방법이나 유용한 방법은 언급하지 않았습니다. 지금 CoreData 데이터베이스에 iOS의 데이터 보호를 구현하는 방법에 대해 혼란 스럽습니다 ~ –