Có, có thể xây dựng các khuôn khổ để người dùng của khuôn khổ đó không thể nhìn thấy mã nguồn.
Hãy xem các bài viết này (trước đây tôi đã sử dụng thành công bài viết đầu tiên để tạo các khuôn khổ - các bài viết sau là các bản cập nhật cho bản gốc):
http://www.drobnik.com/touch/2010/04/making-your-own-iphone-frameworks/
http://www.drobnik.com/touch/2010/05/making-your-own-iphone-frameworks-in-xcode/
http://www.drobnik.com/touch/2010/10/embedding-binary-resources/
Để sử dụng khung, người dùng của bạn chỉ cần kéo gói .framework vào Xcode. Họ sẽ có thể thấy các tệp tiêu đề mà bạn sao chép vào gói (xem các bài viết ở trên), nhưng không thấy nguồn (vì nó không được bao gồm - chỉ đầu ra đã biên dịch mới có trong gói).
Đây cũng có thể là một cách tuyệt vời để phân phối mã được sử dụng cho nhiều dự án trong công ty của bạn.
Cập nhật:
Hãy xem liên kết không có lông được thêm vào bên dưới - nó gần đây hơn nhiều và tất cả trên một trang: http://github.com/jverkoey/iOS-Framework . Nó cũng đưa ra các vấn đề với một số cách tiếp cận khác. Đây là hướng dẫn bây giờ tôi làm theo khi cố gắng nhớ những việc cần làm khi thiết lập một khuôn khổ mới. :)
Update2 (với bản phát hành Xcode 6)
Có một tùy chọn, chính xác mà bạn đang tìm kiếm
Universal Framework for iOS
:!
Mã của tôi có hiển thị cho người khác không? A: Không. Khung này sẽ xuất một tệp nhị phân đã biên dịch, vì vậy bất kỳ ai cũng có thể xem bên trong nó. Bạn có thể tạo điều tương tự cho một số tệp khác, như XIB.
Tại sao tôi cần cái này? Đ: Điều này dành cho các nhà phát triển / nhóm muốn chia sẻ mã của họ mà không hiển thị toàn bộ mã (tệp .m / .c / .cpp). Bên cạnh đó, điều này dành cho những ai muốn tổ chức mã + tài nguyên đã biên dịch (hình ảnh, video, âm thanh, XIB, plist, v.v.) vào một nơi duy nhất. Và điều này cũng dành cho các nhóm muốn làm việc cùng nhau trên cùng một cơ sở (khuôn khổ).
(c) http://blog.db-in.com/universal-framework-for-ios/