2010-03-22 17 views
7

Tôi đang làm việc trên một vài sản phẩm mac và để thực hiện những gì tôi cần làm, tôi đang sử dụng một số cuộc gọi đến các phương pháp không có giấy tờ trên Lớp học Mac. Giống nhưCuộc gọi Mac không có giấy tờ

IKImageView của

doRotate:(id) 

PDFDocument của

(NSPrintOperation *)getPrintOperationForPrintInfo:(NSPrintInfo *)printInfo autoRotate:(BOOL)doRotate; 

Làm thế nào phổ biến là nó cho các lập trình C Mục tiêu sử dụng các phương pháp như thế này? Làm thế nào để bạn tìm hiểu về họ (ngoài Google)? Làm thế nào nguy hiểm là nó để sử dụng chúng? Có một mối nguy hiểm nào khác ngoài việc Apple sẽ khiến họ không còn tồn tại trong một số lần phát hành sau này hay không, và chương trình của bạn sẽ bị phá vỡ?

+1

Bạn đã hỏi đủ các câu hỏi, bạn nên đã học được làm thế nào để định dạng chúng bây giờ; -) –

+0

@ Joachim: Tôi làm, tôi chỉ nghĩ rằng một danh sách các tên hàm không phải là mã cần được định dạng ... B-) –

+0

nó không hoàn toàn cần thiết, nhưng chúng thường dễ đọc hơn nhiều, khi chúng được định dạng. Nhưng có lẽ đó chỉ là tôi, vì vậy hãy bỏ qua tôi. –

Trả lời

7

Nó không hoàn toàn không nghe, nhưng nếu bạn định sử dụng chúng trong phần mềm phát hành, bạn cần phải chắc chắn rằng bạn có shit của bạn với nhau và kiểm tra mọi phiên bản của OS X trước khi nó xuất hiện - bởi vì có , Apple có thể thực hiện bất kỳ số lượng nào trong bản sửa đổi trong tương lai (thay đổi chữ ký của phương thức, xóa phương thức, giới thiệu một số lỗi nhỏ trong phương thức hoạt động trong tất cả các trường hợp sử dụng của họ).

Ở bất kỳ mức nào, nếu bạn thấy có điều gì đó bạn không thể làm với API hiện tại, bạn nên gửi yêu cầu nâng cao với Apple để họ biết đó là thứ họ cần thêm.

+0

Ok, tôi đã làm điều đó cho 2 người trong số họ ... Và tôi đã không nhận được phản hồi ... Tôi vừa gửi một bản khác cho người gần đây nhất tôi tìm thấy ... –

4

Để trích xuất giao diện, bạn có thể sử dụng tiện ích class-dump sẽ cung cấp cho bạn tệp tiêu đề được tạo tự động tốt đẹp của bất kỳ tệp MachO nào. Ví dụ, để tìm getPrintOperationForPrintInfo phương pháp bạn có thể sử dụng lệnh:

$ class-dump /System/Library/Frameworks/Quartz.framework/Frameworks/PDFKit.framework/PDFKit | fgrep getPrintOperationForPrintInfo 

Mà sẽ cung cấp cho bạn:

- (id)getPrintOperationForPrintInfo:(id)arg1 autoRotate:(BOOL)arg2;