2012-01-31 29 views
11

Tôi đã được một nhà cung cấp bên thứ ba cung cấp một khung cho phụ kiện phần cứng iPhone. Vì vậy, tôi có một thư mục như Device.framework. Bên trong thư mục đó là một tệp nhị phân và một tập hợp các tệp .h. Có hướng dẫn về cách thêm mục này vào một dự án iOS và sử dụng các lớp chứa bên trong. Tuy nhiên, tôi thực sự đang sử dụng MonoTouch và muốn sử dụng một thư viện tĩnh.Cách tạo thư viện tĩnh từ một khung công tác hiện có trong iOS?

Có cách nào để tạo thư viện tĩnh làm cho tất cả các lớp từ khung có sẵn trong thư viện tĩnh không? Vì vậy, trong dự án MonoTouch của tôi, tôi sẽ liên kết trong thư viện tĩnh và có quyền truy cập vào khung công tác đó.

Trả lời

12

A * .framework chỉ đơn giản là một gói chứa: thư viện tĩnh, tiêu đề, dữ liệu meta liên quan. Sao chép và dán .framework và trích xuất tệp * .a tĩnh và các tệp tiêu đề có liên quan.

Sau đó, nó chỉ đơn giản là vấn đề sử dụng công cụ btouch MonoTouch để liên kết thư viện tĩnh để sử dụng trong dự án MonoTouch của bạn. Có một ví dụ tuyệt vời về cách liên kết một thư viện gốc với MonoTouch trên Github. Với sự hướng dẫn về nhắm mục tiêu mô phỏng + thiết bị và sử dụng thuộc tính LinkWith để nhúng thư viện tĩnh trong một đơn * .dll:

Ngoài ra, hãy chắc chắn kiểm tra các tài liệu tham khảo btouch ở đây:

+0

Tôi đã chấp nhận câu trả lời này là câu trả lời đơn giản chỉ vì nó có liên kết đến BindingSample hữu ích. Nhờ cả hai người dành thời gian trả lời –

+0

@JWB với upvote mới nhất của bạn (tôi ;-) bây giờ bạn có đủ điểm danh tiếng để upvote cả hai câu trả lời :-) – poupou

7

Đổi tên tệp nhị phân thành Device.a. Bạn có thể làm điều đó vì framework mà bạn đề cập không được Apple thực hiện, do đó nó phải là một thư viện tĩnh và không phải là một khung công tác động.

Đảm bảo dự án của bạn liên kết thư viện đó (Device.a).

Bao gồm các tiêu đề trong dự án của bạn và tham khảo chúng khi thích hợp.

+3

tôi đổi tên các tập tin như bạn đề nghị và đã làm 'nm filename.a' và tôi thực sự có thể thấy tất cả các lớp ở đó. Tôi sẽ cần phải làm thêm công việc làm việc để kiểm tra xem nó có treo lơ lửng với nhau một cách đúng đắn nhưng có vẻ tốt không. Cảm ơn –

+0

Wow, phần hữu ích của đố mà tôi không biết! – jstedfast

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