Seçili fotoğrafımı app 'iphone fotoğraf galerisinden yerel depolama alanına kaydetmek için paylaşım uzantısına sahip bir uygulama yazıyorum. NSData WriteToFile, YES'i döndürür, ancak saklanan dosyayı yazarken yol verdiğim dizine bulamadım. Yani, kısaca NSData WriteToFile verilen bir yolda bir fotoğraf kaydetmek için başarısız olur.NSData WriteToFile Paylaşım uzantısı aracılığıyla bir fotoğraf kaydedilirken başarısızlık Uzantısı
Kodum aşağıda.
- (IBAction)acceptButtonTapped:(id)sender
{
__block UIImage *photo;
for (NSExtensionItem *item in self.extensionContext.inputItems)
{
for (NSItemProvider *itemProvider in item.attachments)
{
if ([itemProvider hasItemConformingToTypeIdentifier:(NSString *)kUTTypeImage])
{
[itemProvider loadItemForTypeIdentifier:(NSString *)kUTTypeImage options:nil completionHandler:^(UIImage *image, NSError *error) {
if(image)
{
dispatch_async(dispatch_get_main_queue(), ^{
photo = image;
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy_MM_dd_hh_mm_ss"];
NSString *fileName;
fileName = [NSString stringWithFormat:@"%@.jpeg",[formatter stringFromDate:[NSDate date]]];
dataPath = [dataPath stringByAppendingPathComponent:fileName];
NSData * imageData = [NSData dataWithData:UIImageJPEGRepresentation(image, 1.0)];
BOOL isdone = [imageData writeToFile:dataPath atomically:NO];
NSLog(@"%u", isdone);
});
}
}];
break;
}
}
}
[self.extensionContext completeRequestReturningItems:@[] completionHandler:nil];
}
Herhangi bir Yardım çok yararlı olacaktır.
Teşekkür ederiz.
Lütfen 'dataPath' öğesini doğrulayın, yani DocumentDirectory gibi yerel depolamanızın yolunu içeriyor mu? –
DocumentDirectory'de, DocumentDirectory içinde bir klasör oluşturdum ve içine fotoğraf saklıyorum. Bununla ilgili herhangi bir sorunu var mı? –
Yolunuzu simülatördeki hata ayıklama konsoluna kaydedin, daha sonra dosya adının tamamını panoya kopyalayın, bulucuya gidin, G komutuna basın ve yolu "Klasöre git" iletişim kutusuna yapıştırın. Ne olduğunu görün. Ayrıca, "applicationDidFinishLaunching" belgesindeki dizin dizinine giden yolu günlüğe kaydedin ve yolunuzun bu dizindeki bir dosyaya işaret ettiğinden emin olun. –