Ưu điểm lớn nhất mà một khung công tác có được đối với các thư viện tĩnh là chúng hoạt động như một cách gọn gàng để đóng gói nhị phân thư viện đã biên dịch và bất kỳ tiêu đề liên quan nào. Chúng có thể được đưa vào dự án của bạn (giống như các khung dựng sẵn của SDK như Foundation và UIKit) và chúng chỉ nên hoạt động (hầu hết thời gian).
Hầu hết các khung chứa các thư viện động; các khung được tạo trong Xcode bằng mẫu Mac Framework sẽ tạo một thư viện động. IPhone không hỗ trợ các khung động, đó là lý do tại sao nó trở nên phổ biến đối với các thư viện mã iOS có thể tái sử dụng được phân phối dưới dạng thư viện tĩnh thay thế.
Các thư viện tĩnh vẫn ổn, nhưng chúng đòi hỏi một chút công việc phụ từ phía người dùng. Bạn cần liên kết dự án của bạn với thư viện và bạn cần sao chép các tệp tiêu đề vào dự án của bạn hoặc tham chiếu chúng ở đâu đó bằng cách đặt các đường dẫn tìm kiếm tiêu đề phù hợp trong cài đặt bản dựng của bạn.
Vì vậy: tóm lại, ý kiến của tôi là cách tốt nhất để phân phối thư viện của bạn là một khung. Để tạo khung "tĩnh" cho iOS, về cơ bản bạn có thể lấy khung bình thường và thay thế tệp nhị phân bằng thư viện tĩnh đã biên dịch của bạn. Đây là cách tôi phân phối một trong các thư viện của mình, Resty và là cách tôi dự định phân phối các thư viện của mình trong tương lai.
Bạn có thể muốn xem Rakefile được cung cấp trong dự án đó (trong trường hợp bạn không biết, Rake tương đương với Make của Ruby). Tôi có một số nhiệm vụ để biên dịch dự án của mình (sử dụng xcodebuild
) và đóng gói chúng dưới dạng khung tĩnh cho iOS. Bạn nên tìm thấy điều này hữu ích.
Ngoài ra, bạn có thể muốn sử dụng các mẫu Xcode 4 này để tạo khung iOS.
Cập nhật ngày 9 tháng 12 năm 2013 : đây là một câu trả lời phổ biến vì vậy tôi nghĩ tôi sẽ chỉnh sửa để nói rằng lựa chọn đầu tiên của tôi cho phân phối thư viện đã thay đổi. Lựa chọn đầu tiên của tôi cho bất kỳ thư viện bên thứ ba nào với tư cách là người tiêu dùng hoặc nhà sản xuất là CocoaPods. Tôi phân phối các thư viện của mình bằng Cốc Cốc và cung cấp một thư viện tĩnh được biên dịch sẵn với các tiêu đề làm tùy chọn dự phòng.