2016-03-23 21 views
0

Dahili kullanımımız için bugün uzantılı bir uygulama yaptım. Orada bizim sunucudan tüm dosyaları indirmek için erişim var. Ama onu kaydetmek için doğru yolu alamadım. Bunu "indirmeler" kullanıcılarına veya "masaüstü" kullanıcılarına kaydetmek istiyorum. Yüklenme yolu OSX 10.10.5 ve xcode 7.2.1

dosyayı kaydetmek için Kodum

geçerli:

NSArray *docDirs = NSSearchPathForDirectoriesInDomains(NSDownloadsDirectory,NSUserDomainMask, YES); 
NSString *doc = [docDirs objectAtIndex:0]; 
NSString *filePath = [NSString stringWithFormat:@"%@/Page1.pdf", doc]; 
dispatch_async(dispatch_get_main_queue(), ^{ 
         [urlData writeToFile:filePath atomically:YES]; 

Bu

/Users/itsMe/Library/Containers/com.myCompany.downloadApp.ToDayWidget/Data/Downloads/Page1.pdf 

Ben /users/itsMe/Downloads/Page1.pdf veya/kullanıcıların dosyayı kaydetmek istediğiniz dosyayı kaydeder /itsMe/Desktop/Page1.pdf.

Bunu nasıl yapabilirim? Ben başarı yolunu değiştirmeden çalıştı:

NSString *homeDir = NSHomeDirectory(); 
NSString *homeDir1 = [homeDir stringByDeletingLastPathComponent]; 
NSString *homeDir2 = [homeDir1 stringByDeletingLastPathComponent]; 
NSString *homeDir3 = [homeDir2 stringByDeletingLastPathComponent]; 
NSString *homeDir4 = [homeDir3 stringByDeletingLastPathComponent]; 
NSString *filePath = [NSString stringWithFormat:@"%@/Page1.pdf", homeDir4]; 

cevap

0

~/Downloads klasör Read/Write için Capabilities>App Sandbox bölümünde>Downloads FolderFile Access ayarlayarak com.apple.security.files.downloads.read-write hak eklemek erişmek için. Sandbox'ın dışından erişilebilir değil.

+0

Mükemmel. Hızlı yardım için teşekkürler. – Christian