2012-06-14 31 views
5

Tôi đang tìm cách tiếp cận tốt nhất để tùy chỉnh ứng dụng iOS của chúng tôi để chúng tôi có thể dễ dàng tạo phiên bản nhãn trắng và giữ cho tất cả đồng bộ hóa.Mã hóa thư viện tĩnh của iOS cho các ứng dụng nhãn trắng

Một cách tiếp cận là đặt toàn bộ codebase vào một dự án thư viện tĩnh. Sau đó, tạo một dự án riêng cho ứng dụng chính của chúng tôi và mỗi ứng dụng nhãn màu trắng. Các dự án này sẽ chứa một tham chiếu đến thư viện codebase như một tiểu dự án và các tài sản riêng của chúng như biểu tượng, tải hình ảnh và tệp Info.plist.

Đồng nghiệp của tôi đã sử dụng thành công phương pháp này với dự án chị em Android của chúng tôi trong Eclipse.

Rất tiếc, phương pháp này có thể không hoạt động trong xcode. xcode dường như không cho phép một số tài nguyên được đi kèm với một thư viện tĩnh, như Settings.bundle và Localizable.strings cần thiết.

Có cách nào tôi có thể sử dụng cách tiếp cận này trong xcode hay không, hay tôi tốt hơn là chỉ tham khảo thư mục codebase từ mỗi dự án?

Edit:

Ban đầu tôi đã có kế hoạch chỉ cần tham khảo thư mục codebase từ từng dự án, nhưng thấy rằng phương pháp này sẽ đòi hỏi phải tái thêm các thư mục codebase trong mỗi dự án mỗi lần một file đã được bổ sung/loại bỏ/được đổi tên trong codebase.

Trả lời

4

Tôi đã thực hiện các ứng dụng được gắn nhãn màu trắng. Bạn nên thử các mục tiêu trước. Các mục tiêu được chứa trong các dự án. Bạn có thể bao gồm các nguồn của mình trong cùng một dự án. Đặt mọi thứ chỉ khác nhau vào một vài tệp và thay đổi những tệp nào bạn đưa vào mỗi mục tiêu.

Bạn vẫn sẽ cần phải đảm bảo tệp nằm trong tất cả các mục tiêu của mình, nhưng bạn sẽ được nhắc hoặc gặp lỗi liên kết và nếu bạn bỏ lỡ tệp, chỉ cần chọn hộp kiểm.

Bạn có thể giữ các tệp mục tiêu cụ thể khá hạn chế. Tôi có một tập tin xcassets phổ biến và một cho mỗi mục tiêu. Tôi cũng có plists riêng biệt và ít tài nguyên khác cho mỗi mục tiêu. Mọi thứ khác được chia sẻ.

Tài liệu tham khảo:

+0

Cảm ơn bạn, có vẻ như mục tiêu sẽ là phương pháp tốt nhất. – RohinNZ

2

Bạn không thể bó tài nguyên với thư viện tĩnh tự động, nhưng không có gì ngăn cản bạn từ bao gồm các tài nguyên chia sẻ bằng tay là. Bạn có thể tạo không gian làm việc cho dự án tùy chỉnh, chèn dự án của thư viện vào vùng làm việc và sau đó kéo nhóm tài nguyên từ cây dự án của thư viện vào dự án chính.

3

Là dự án tư vấn có trả tiền, tôi đang xem xét các chiến lược nhãn trắng của công ty. Họ đã tạo ra một loạt tệp .sh sao chép toàn bộ bản dựng vào tên mới - bao gồm tệp .plist và dự án mới.

Điều họ không giải thích là phiên bản của các ứng dụng đó; do đó, tôi nghĩ thư viện là cách tiếp cận tốt nhất nếu bạn có thể xây dựng ứng dụng của mình như vậy. Hoàn toàn có thể là bạn có thể có nhiều phiên bản của cùng một ứng dụng nhãn màu trắng. (Một cơn ác mộng tốt nhất !!! LOL)

Một thứ khác mà bạn có thể muốn xem là CocoaPods. Tôi đã không sử dụng nó nhưng tôi đã có những người bạn có - họ thích nó bởi vì nó giúp với quản lý lib - đặc biệt là với đi từ một môi trường dev khác.Tôi cần phải sử dụng nó vào tháng tới vì sự lộn xộn của con đường Zxing mà mọi người đều phải đối phó.

https://github.com/CocoaPods/CocoaPods

khuyến cáo cuối - sử dụng Control Source như không có ngày mai !!!

+1

CocoaPods trông thật tuyệt vời! Bằng cách liên kết mỗi mục tiêu xây dựng nhãn trắng với thư viện nhóm, tôi không còn phải lo lắng về cách cập nhật thủ công mỗi mục tiêu xây dựng nhãn trắng đơn lẻ khi tôi thêm hoặc xóa thư viện. Cảm ơn! – RohinNZ

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