2011-09-02 25 views
5

Tôi đang sử dụng một cây cầu kịch bản để gửi thư từ ứng dụng Mac của tôi. Bây giờ tôi cần phải sandbox ứng dụng và gửi thư không còn làm việc trong khi sandboxing được kích hoạt.Sandboxing ứng dụng của tôi với Scripting Bridge để gửi email

Có ai biết cách khắc phục điều đó không?

Cảm ơn, Andreas

Code: '

/* create a Scripting Bridge object for talking to the Mail application */ 
    MailApplication *mail = [SBApplication applicationWithBundleIdentifier:@"com.apple.Mail"]; 


/* create a new outgoing message object */ 
MailOutgoingMessage *emailMessage = 
[[[mail classForScriptingClass:@"outgoing message"] alloc] 
initWithProperties: 
[NSDictionary dictionaryWithObjectsAndKeys: 
    [self.subjectField stringValue], @"subject", 
    [[self.messageContent textStorage] string], @"content", 
    nil]]; 

/* add the object to the mail app */ 
[[mail outgoingMessages] addObject: emailMessage]; 
... 

'

+0

bạn có tìm giải pháp không? – Tibidabo

Trả lời

4

Bạn không thể sử dụng ScriptingBridge với Sandboxing kích hoạt. Vui lòng gửi báo cáo lỗi. Đây là những gì Apple khuyến cáo, nếu Sandboxing là một vấn đề đối với bạn và không có giải pháp nào khác. Họ có thể thêm các quyền lợi (không chỉ ngoại lệ tạm thời) cho ScriptingBridge, nhưng hiện tại không có thêm thông tin nào.

Entitlements Keys, đặc biệt là chìa khóa com.apple.security.temporary-exception.apple-events, bạn có thể thêm vào tập tin Entitlements.plist của bạn, nhưng quan trọng cho Apple Sự kiện là một tạm thời ngoại lệ.
Thật không may, tôi không thể nhận được ScriptingBridge làm việc ngay cả với các quyền được thiết lập chính xác. Tôi hy vọng bạn may mắn hơn tôi.

Apple sẽ yêu cầu Sandboxing cho tất cả ứng dụng đệ trình lên Mac App Store bắt đầu trên 01 Tháng 11!

com.apple.security.temporary-exception.apple-events

+0

Bạn CÓ THỂ sử dụng ScriptingBridge với Sandboxing được kích hoạt. Tuy nhiên, bạn sẽ chỉ có thể soạn e-mail. Việc gửi e-mail dường như không được cho phép bởi các ứng dụng Sandboxed. Xem câu trả lời mới của tôi cho một dự án mẫu. –

+0

Tuyệt vời, cảm ơn! Tuy nhiên, điều đó không giải quyết được vấn đề ngoại lệ tạm thời. –

3

Thêm mã này để Entitlements.plist của bạn, tôi đã kiểm tra Đó là ok.I có thể được chọn mail từ Mail bây giờ.

<key>com.apple.security.temporary-exception.apple-events</key> 
    <array> 
    <string>com.apple.mail</string> 
    </array> 
-1
of mac os x 10.8 and later, it has changed: 

<key>com.apple.security.scripting-targets</key> 
<dict> 
    <key>com.apple.mail</key> 
    <array> 
     <string>com.apple.mail.compose</string> 
    </array> 
</dict> 
2

tôi đã sửa đổi ứng dụng mẫu SBSendEmail của Apple được Sandboxed và có thể soạn thành công một e-mail. Có vẻ như không thể gửi e-mail, nhưng ít nhất bạn có thể thiết lập mọi thứ cho người dùng chỉ để nhấn gửi.

https://github.com/Whiffer/SBSendEmail

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