Mam zaszyfrowany lokalnie zapisany plik programu Word/Excel/pdf, który muszę wyświetlić w mojej aplikacji na iPada. Rozumiem, że QLPreviewController lub UiDocumentInteractionController mogą być użyte do podglądu tych plików. Mogę bardzo dobrze wykorzystać tenWyświetl zaszyfrowany plik za pomocą frameworka QuickLook lub UiDocumentInteractionController
- (id <QLPreviewItem>) previewController: (QLPreviewController *) controller previewItemAtIndex: (NSInteger) index {
return [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:[documents objectAtIndex:index] ofType:nil]];
}
ale plik jest zaszyfrowany i kiedy odszyfrować chciałbym zdobyć obiektu NSData. Jak mogę załadować NSData w jednym z nich.
Rozumiem również, że bardzo dobrze można przechowywać NSData z powrotem jako plik lokalny i załadować go do podglądu. Istnieje jednak ograniczenie, aby nie przechowywać lokalnie niezaszyfrowanego pliku.
Jeśli ktoś już to zrobił i może mi w tym pomóc, będzie to bardzo cenne.
Dzięki AJ
Dzięki Rob za odpowiedź. Te informacje naprawdę pomogły. Mam pytanie uzupełniające na ten temat. Robię to wszystko, aby zapewnić możliwość pracy w trybie offline w mojej aplikacji dla plików. Czy myślisz, że dodam redundancję przez sam szyfrowanie i odszyfrowywanie plików. Czy uważasz, że jest wystarczająco zabezpieczony, aby użyć szyfrowania na dysku i przechowywać pliki w moim folderze dokumentów aplikacji. Również, co byłoby najlepszym miejscem do przechowywania tych plików. Mam na myśli dokumenty lub folder tmp. Jeszcze raz dziękuję. –
Przepraszamy, że już odpowiedziałeś, co byłoby najlepszym miejscem do ich przechowywania. –
Próbowałem również użyć atrybutu NSDataWritingFileProtectionComplete do zapisu plików do folderu tmp aplikacji na symulatorze. Udało mi się przejść do folderu w moim systemie plików i otworzyć dokumenty. Zakładam, że podobne zachowanie będzie miało miejsce w jailbreaku, gdzie mam dostęp do systemu plików urządzenia i mogę przejść do folderu tymczasowego i uzyskać dostęp do dokumentów. Czy to jest prawidłowe założenie. Dzięki –