2012-09-11 20 views
8

Ứng dụng của tôi là sandboxed (theo hướng dẫn của App Store mới nhất) và tôi muốn tạo một số tệp tạm thời.Tạo tệp tạm thời cho ứng dụng Cacao dạng hộp cát

Tôi có được phép làm như vậy không? Nếu "có", tôi được phép làm điều đó ở đâu? Có con đường định trước nào không? (Và một lệnh để truy cập đường dẫn đó?)

+0

Hãy gửi giải pháp của bạn như một câu trả lời thay vì thêm nó vào phần thân câu hỏi. –

Trả lời

12

Bạn nên sử dụng chức năng NSTemporaryDirectory(), sẽ tìm và trả lại thư mục tạm thời thích hợp cho ứng dụng của bạn (bất kể trạng thái sandbox, phiên bản hệ điều hành và một loạt các thứ khác). Hãy xem this Cocoa With Love bài đăng để biết thêm chi tiết về NSTemporaryDirectory() và các chi tiết liên quan đến thư mục tạm thời khác.

5

Có một bài viết tốt về thư mục tạm thời trên NSHipster:

http://nshipster.com/nstemporarydirectory/

Tác giả đề nghị mã này mà là làm việc một cách hoàn hảo với các ứng dụng sandbox cũng như:

NSError *error; 
NSString *globallyUniqueString = [[NSProcessInfo processInfo] globallyUniqueString]; 
NSString *tempDirectoryPath = [NSTemporaryDirectory() stringByAppendingPathComponent:globallyUniqueString]; 
NSURL *tempDirectoryURL = [NSURL fileURLWithPath:tempDirectoryPath isDirectory:YES]; 
[[NSFileManager defaultManager] createDirectoryAtURL:tempDirectoryURL withIntermediateDirectories:YES attributes:nil error:&error];