eonil
eonil

Reputation: 85955

Is it possible to write new file to bundle resource directory in iOS app?

Is it possible to write new file to bundle resource directory in iOS app?

Upvotes: 9

Views: 5115

Answers (2)

Paweł Brewczynski
Paweł Brewczynski

Reputation: 2743

Or you can copy the resources needed and then operate on files with writing permission.

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:&error];

    NSLog(@"%@", error);


}

Upvotes: 2

Saurabh
Saurabh

Reputation: 22873

No there is no way to write in the bundle dir.. because the bundle dir is code signed with SSL certificate and you can't break it. however you can easily write in the documents directory of you iphone application

You can get the documents directory path using this -

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
return [paths objectAtIndex:0];

Upvotes: 14

Related Questions