#ios #resources #bundle
#iOS #Ресурсы #пакет
Вопрос:
Возможно ли записать новый файл в каталог ресурсов пакета в приложении iOS?
Ответ №1:
Нет, нет способа записать в каталог пакета.. потому что каталог пакета — это код, подписанный SSL-сертификатом, и вы не можете его взломать. однако вы можете легко записать в каталог документов вашего приложения для iphone
Вы можете получить путь к каталогу documents, используя это —
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
return [paths objectAtIndex:0];
Ответ №2:
Или вы можете скопировать необходимые ресурсы, а затем работать с файлами с разрешением на запись.
NSArray *dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = dirPaths[0];
NSString *databasePath = [documentsDir stringByAppendingString:@"/TwigitDatabase.db"];
NSFileManager *fm = [NSFileManager defaultManager];
if(![fm fileExistsAtPath:databasePath]) { // Checking whether the my database was copied earlier, though it could be saved in some preferences property.
NSError *error;
NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"TwigitDatabase" ofType:@"db"];
[[NSFileManager defaultManager] copyItemAtPath:soundFilePath toPath:databasePath error:amp;error];
NSLog(@"%@", error);
}