iOS, Android, Windows mobile development codes and tips

iOS Documents Klasörüne Dosya Kopyalamak

Toplam 659 Görüntülenme

Uygulamanız cihaz üzerinde çalıştığında yazma izni sadece /Documents klasöründe vardır. Bu nedenle .sqlite gibi yazma izni gerektiren dosyalarınızı bu klasörde çalıştırmanız gereklidir.
Fakat Xcode size dosyalarınızı koyabileceğiniz bir /Documents klasörü sunmaz. Uygulamanız, cihaza yüklendiğinde otomatik yaratılan bu klasöre bir dosya kopyalamak için aşağıdaki kodu kullanabilirsiniz.
Yüklemek istediğiniz dosya root(ana) dizinde xcode projenize eklenmiş olmalıdır.
İlgili kontrol kodlarını da ekleyerek bu işlemi sadece bir kez yapmalısınız, aksi halde uygulamanız her açıldığında dosyanın üzerine kopyalarsınız ve kullanıcıya veri kayıpları yaşatabilirsiniz.


NSFileManager *fmngr = [[NSFileManager alloc] init];
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"history.sqlite" ofType:nil];
NSError *error;
if(![fmngr copyItemAtPath:filePath toPath:[NSString stringWithFormat:@"%@/Documents/history.sqlite", NSHomeDirectory()] error:&error]) {
// handle the error
NSLog(@"Dosya yaratılamadı: %@", [error description]);
}
[fmngr release];