2012-02-02 21 views
6

Tôi đang cố gắng sandbox ứng dụng của mình trước khi gửi tới cửa hàng ứng dụng Mac và tôi cần mở tệp dmg. Tôi đã thử những điều sau đây, nhưng tôi không biết liệu nó có phải làm việc với Apple Sandbox hay không.Sandbox và NSTask

NSTask *task = [[NSTask alloc] init]; 
[task setLaunchPath: @"/usr/bin/hdiutil"]; 
[task setArguments: 
[NSArray arrayWithObjects: @"attach", [NSString stringWithFormat:@"%@/myfile.dmg", documentsDirectory], nil]]; 
[task launch]; 
[task waitUntilExit]; 
if (0 != [task terminationStatus]) 
    NSLog(@"Mount failed."); 
[task release]; 

Nếu tôi dán đường dẫn đầy đủ vào cho nó hoạt động thiết bị đầu cuối, nếu tôi chạy từ các ứng dụng tôi nhận được lỗi sau:

diskimages-helper[11437:303] ERROR: couldn't connect to framework. 
diskimages-helper[11437:303] DIHelper: setupConnectionToFrameworkWithUUID: failed 
hdiutil: attach failed - No child processes 
Mount failed. 

Nhờ sự giúp đỡ! S.

+0

Bạn không thể gắn DMG có hộp cát, không an toàn. – CodaFi

+0

Tôi gặp vấn đề tương tự. Chỉ cần tự hỏi nếu @ user375584 đã sửa nó. Cảm ơn – Josh

Trả lời

0

Từ chính thức trên NSTask và Sandboxing là 'một số tệp thực thi có thể hoạt động'. Đối với tôi điều này dịch là 'không tin vào nó'. Mặc dù thực thi này dường như hiển thị menu trợ giúp một cách chính xác nhưng tôi thấy các lỗi sandboxing trong Console.app sẽ làm cho tôi cảnh giác. Screenshot

Tôi đồng ý với CodaFi về điều này mà bạn chắc chắn không nên dựa vào điều này để hành động theo cách bạn muốn.

Các vấn đề liên quan