Goedemiddag, ik probeer deze code werkend te krijgen:
Code:
void updateDatabase(){
// Determine remote url and local url according to target
#ifdef Durbuy
NSString *stringURL = @"http://www.***.**/app/DurbuyAppDatabase.sqlite"; // ** = gemaskeerd.
NSString *filePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"DurbuyAppDatabase.sqlite"];
NSLog(@"File path: %@",filePath);
#endif
#ifdef LaRoche
NSString *stringURL = @"http://www.***.**/app/LaRocheApp.sqlite"; // ** = gemaskeerd.
NSString *filePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"LaRocheAppDatabase.sqlite"];
#endif
// Prepare URL from string
NSURL *url = [NSURL URLWithString:stringURL];
// Fetch data from server
NSData *urlData = [NSData dataWithContentsOfURL:url];
if ( urlData )
{
NSLog(@"Retrieved %d bytes of data: %@",urlData.length,[NSString stringWithUTF8String:[urlData bytes]]); // Output: Retrieved 786432 bytes of data: SQLite format 3
// Write database to file
[urlData writeToFile:filePath atomically:YES];
// Fetch version ID from server
#ifdef Durbuy
NSString *stringURL = @"http://www.***.**/app/durbuy_database_version_id.txt"; // ** = gemaskeerd.
#endif
#ifdef LaRoche
NSString *stringURL = @"http://www.***.**/app/laroche_database_version_id.txt"; // ** = gemaskeerd.
#endif
NSURL *url = [NSURL URLWithString:stringURL];
NSData *remoteMD5Data = [NSData dataWithContentsOfURL:url];
NSString *remoteDatabaseMD5 = [NSString stringWithUTF8String:[remoteMD5Data bytes]];
// Write ID to settings file
filePath = [[NSBundle mainBundle] pathForResource:@"Settings" ofType:@"plist"];
NSMutableDictionary *plistDict = [[NSMutableDictionary alloc] initWithContentsOfFile:filePath];
[plistDict setObject:remoteDatabaseMD5 forKey:@"database_md5"];
[plistDict writeToFile:filePath atomically:YES];
}
}
Deze code moet een database dowloaden van een internetsite en die lokaal opslaan (een ander bestand overschrijvend). Vervolgens moet de code een stuk text van dezelfde internetsite dowloaden en in Settings.plist opslaan. Deze code werkt precies zoals bedoeld in de iPhone simulator, maar op het echte apparaat wordt het bestand om de een of andere reden niet opgeslagen, en ook wordt de text niet opgeslagen. Is dit een verschil tussen de bestandsysteemen van iOS en MacOSX? Hoe kan ik het aanpassen zodat het wel werkt?
EDIT: Het werkte niet omdat ik naar de app bundle probeerde te schrijven!