2015-05-11 18 views

Trả lời

24

Tệp nhị phân được nhúng là tệp nhị phân được sao chép vào gói ứng dụng của bạn khi bạn tạo dự án. Sử dụng các tệp nhị phân được nhúng khi ứng dụng của bạn dựa vào khung bên thứ ba để mọi người có thể sử dụng ứng dụng của bạn mà không cần các khung công tác đó được cài đặt trên máy của họ. Các tệp nhị phân được nhúng ngăn người dùng phải cài đặt theo cách thủ công khung công tác của bên thứ ba. Ứng dụng của bạn sử dụng khung mà bạn đã nhúng.

Trong ví dụ Alamofire, ứng dụng của bạn dựa trên Alamofire. Nếu bạn không nhúng khung Alamofire, không ai có thể sử dụng ứng dụng của bạn trừ khi họ cài đặt Alamofire theo cách thủ công. Bằng cách nhúng Alamofire với ứng dụng của bạn, mọi người đều có thể chạy ứng dụng của bạn.

+3

Cách tôi nhớ lại việc này trong quá khứ trên OS X gần đây với một khung bên thứ 3 khác trên iOS là xây dựng khung công tác và sau đó tạo tệp Sao chép Xây dựng để sao chép khung theo đích "Khung". Đây có phải là một sự thay thế cho điều đó không? Nó có vẻ dễ dàng hơn so với cách tôi sử dụng để làm điều đó. –

+1

Có, nó được coi là một sự thay thế cho giai đoạn xây dựng Sao chép tệp để sao chép các tệp nhị phân, chẳng hạn như các khung công tác, thư viện và các công cụ dòng lệnh. –

+1

Bạn có thấy bất kỳ tài liệu nào về tính năng Xcode này không? Tôi đã không tìm thấy bất kỳ. –

27
  • "nhị phân" có nghĩa là: mã được biên dịch - trái ngược với "mã nguồn", đó là những gì bạn đang làm việc khi viết mã dưới dạng văn bản.

    Họ có thể đã cung cấp cho bạn mã nguồn và để bạn biên dịch, nhưng không; họ đang giữ bí mật mã nguồn, vì vậy họ đã trao tất cả cho bạn sau khi biên soạn để bạn không thể đọc được.

  • "Được nhúng" có nghĩa là: được đưa vào bên trong gói ứng dụng của bạn, bằng cách sao chép chúng vào trong thời gian xây dựng.

    Vì vậy, họ sẽ trao cho bạn một số mã được biên dịch (khung) và cho bạn biết cách đưa chúng vào bên trong gói ứng dụng của bạn. Những khung công tác này, không giống như các khuôn khổ của Cocoa, chưa tồn tại trên thiết bị, vì vậy nếu bạn không đưa chúng vào bên trong ứng dụng, chúng sẽ không có mặt và ứng dụng của bạn sẽ không thể gọi chúng.

    Tương phản điều này với khung của Cocoa. Chúng cũng được biên dịch mã. Nhưng chúng do đã tồn tại trên thiết bị. Do đó chúng không được nhúng bên trong ứng dụng của bạn; chúng chỉ đơn thuần là được liên kết (và nếu chúng xuất hiện, sẽ xuất hiện trong nhóm tiếp theo, Khung và Thư viện được Liên kết).

+1

Thực tế chúng được gọi là Nhúng "Binaries" trái ngược với "Frameworks" được nhúng làm cho tôi nghĩ rằng chúng có ý định chung chung hơn là chỉ dành cho các khung công tác. Bạn có biết nếu họ được sử dụng cho bất cứ điều gì khác ngoài khung? Ngoài ra, bạn có bất kỳ điểm để tài liệu về điều này? Tôi đã không thể tìm thấy bất kỳ. –

+0

Trong trường hợp tổng quát hơn, bạn cũng có thể nhúng một tệp thư viện. – matt

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