Để chạy AppleScripts người dùng cung cấp bên ngoài sandbox (10.8+), sử dụng NSUserAppleScriptTask
Để chạy .scpt file nhúng trong gói ứng dụng của bạn, hoặc kịch bản người dùng cung cấp trong 10.7 trở về trước, hãy sử dụng NSAppleScript.
NSUserAppleScriptTask và NSAppleScript đều có một chút lame, hãy nhớ bạn. Không cung cấp chuyển đổi dữ liệu tự động giữa các loại Cocoa và AS, điều này có nghĩa là rất nhiều thao tác cắt bằng tay với NSAppleEventDescriptors để truyền các tham số và kết quả. Các thể hiện của NSAppleScript cung cấp sự hỗ trợ liên tục một phần: các thuộc tính của kịch bản giữ lại trạng thái trên nhiều trình xử lý cuộc gọi, nhưng không có cách nào để lưu tập lệnh bị thay đổi trở lại đĩa sao cho bất kỳ thay đổi nào bị mất sau khi được dealloced. Và NSUSerAppleScriptTask là một vấn đề nghiêm túc một lần, vì vậy trạng thái kịch bản không tồn tại ở tất cả giữa các cuộc gọi.
Đối với hội nhập sâu hơn giữa nhúng AppleScript và ObjC mã trong gói ứng dụng của bạn, sử dụng AppleScriptObjC (10.6+):
ASOC là cầu nối hai chiều ge tương tự như PyObjC hoặc RubyCocoa, cho phép bạn viết mã AppleScript của bạn trong các đối tượng script sau đó xuất hiện với mã ObjC của bạn như các lớp Cocoa thông thường, cho phép mã ObjC gọi AS handlers và AS code để gọi các phương thức ObjC. Các loại ObjC và AS thông thường (ints, double, NSStrings, NSArrays, vv) được tự động bao bọc/chuyển đổi khi băng qua cầu, do đó không yêu cầu thêm công việc nào khác thường xuyên cast ở phía AS.
ASOC không hoàn hảo (tài liệu riêng của Apple hút, cầu nối không phải là miễn phí và không ổn định), nhưng để tương tác với các ứng dụng có thể chạy được từ ObjC, nó là lựa chọn tốt nhất .
Bạn sẽ nhận được gì nếu bạn tìm kiếm '[goal-c] applescript' ở đây? –