2011-06-21 16 views
5

Tất cả các tiêu đề trong/usr/include có được đảm bảo để được coi là một phần của API công khai khi nói đến các lần gửi trên App Store của Mac không?Tất cả các tiêu đề trong/usr/include có được coi là API công khai trên MAS không?

Hãy xem xét ví dụ file /usr/include/copyfile.h

Các bình luận trong tập tin này nói điều này: "Điều này thực hiện không đầy đủ và giao diện có thể thay đổi trong một thông cáo trong tương lai." Điều này có làm cho tiêu đề không công khai không? Làm cách nào để xác định xem tiêu đề có được xem là công khai không?

Trả lời

3

Đọc phần dưới cùng của trang tài liệu this.

Trích:

Mac OS X bao gồm nhiều thư viện động trong thư mục/usr/lib và thư mục con của nó. Thư viện chia sẻ động được xác định bằng phần mở rộng .dylib của chúng. Các tệp tiêu đề cho các thư viện được đặt trong/usr/include.

Có vẻ như ngụ ý ở đây là các thư viện .dylib đi kèm với OS X là trò chơi công bằng để sử dụng trong ứng dụng của bạn, nhưng bạn cần lưu ý rằng chúng không đảm bảo có phiên bản lib cụ thể ví dụ Sư tử, vì vậy bạn nên bao gồm phiên bản chung nhất mà bạn có thể.

Như @Dan đã nói, một thứ khác sẽ đưa bạn đến một thư viện được OK sử dụng sẽ là nếu trang đó có manpage. copyfile có trang dành cho người đàn ông, vì vậy nó rất tốt để sử dụng (vì chúng cho bạn biết cách sử dụng nó!). Để làm cho mọi việc trở nên mờ hơn, hãy xem trang người dùng getattrlist và tìm kiếm 'copyfile'. Một trong những cờ bạn có thể đọc cho các khả năng âm lượng cho biết hỗ trợ cho giây thứ hai copyfile() API. Vì vậy, trong trường hợp này có 2 copyfile() API và bạn chỉ được phép sử dụng một với manpage, như là một trong những khác được đánh dấu ở đây như là tư nhân và không có giấy tờ.

Bất kỳ tiêu đề nào không có trong thư mục Khung và không khớp với .dylib hoặc trang manpage, tôi thường tránh sử dụng.

5

Nó công khai nếu được ghi lại. Bạn đã có rất nhiều tệp .h trên hệ thống của mình tham chiếu đến các API riêng tư. Đó không phải là cách bạn biết liệu nó có an toàn cho cửa hàng hay không. Đó là cửa hàng an toàn nó được ghi trong tài liệu khung.

+0

Bạn có thời gian để tìm bản sao chép trong tài liệu Xcode không? Bạn sẽ thấy nó ở đó. Nó nói "API copyfile() đã được giới thiệu trong Mac OS X 10.5". Điều này có nghĩa là sử dụng tiêu đề /usr/include/copyfile.h được bảo đảm là MAS-safe? – Enchilada

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