Я хочу заблокировать основные ресурсы пакета в моем приложении. У меня есть база данных, добавленная в мою папку ресурсов, и я хочу заблокировать ее, чтобы никто не мог получить доступ или читать базу данных извне приложения. например, преобразование типа .bin в файлы? и расшифровать их в приложение? любая помощь?iPhone NSMain Bundle Resources
ответ
Как уже было сказано, на обычном iPhone никто не может видеть ваши данные о связке. Тем не менее, на телефоне с джейлбрейком можно легко извлечь ваш постоянный магазин и использовать его.
Следовательно, вам необходимо зашифровать ваше постоянное хранилище, то есть сам файл sql. Это может быть сделано путем передачи соответствующих параметров при создании постоянного хранилища:
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator {
if (persistentStoreCoordinator != nil) {
return persistentStoreCoordinator;
}
NSString *storePath = [[self applicationDocumentsDirectory] stringByAppendingPathComponent: @"database.sqlite"];
NSURL *storeUrl = [NSURL fileURLWithPath:storePath ];
NSError *error = nil;
persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel: [self managedObjectModel]];
if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeUrl options:nil error:&error]) {
// Handle error
}
NSDictionary *fileAttributes = [NSDictionary dictionaryWithObject:NSFileProtectionComplete forKey:NSFileProtectionKey];
if (![[NSFileManager defaultManager] setAttributes:fileAttributes ofItemAtPath:storePath error:&error]) {
// Handle error
}
return persistentStoreCoordinator;
}
вам не нужен джейлбрейк для доступа к содержимому пакета, вы можете сделать это прямо на компьютере. Файлы .ipa можно распаковать с помощью обычных инструментов zip. И в этом ipa-файле вы найдете папку .app со всеми ресурсами. –
Спасибо за ответ ... но что, если приложение, которое мы загружаем прямо на наш рабочий стол ... пакеты ресурсов легко доступны ... как насчет наших .txt-файлов? может ли он быть заблокирован? или нам нужно применить шифрование? – faiziii
Да, что я говорил о том, как их блокировать? или мы должны применять шифрование в этих файлах? как текстовые файлы? – faiziii
, если устройство является побег из тюрьмы, то любой доступ к вашей папке ресурсов в противном случае она не в Iphone Возможная. – hchouhan02
без джейлбрейка вы разархивируете ipa и получите доступ к папке ресурсов прямо на вашем компьютере ;-) –
как их заблокировать? .txt файлы? или нам нужно зашифровать содержимое? – faiziii