2009-11-23 29 views
14

Tôi muốn đặt Phiên bản gói trong danh sách. Tuy nhiên, có vẻ như giá trị thực sự được tìm kiếm để đặt phiên bản khi bạn xem thêm thông tin là "chuỗi phiên bản chuỗi, ngắn" Chỉnh sửa, tuy nhiên, yêu cầu mở tệp plist thay vì chỉ chỉnh sửa phiên bản "trong cài đặt đích.Giá trị phiên bản gói plist

Có cách nào để a) làm cho phiên bản gói luôn bằng phiên bản bó ngắn, b) làm cho công cụ tìm xem phiên bản gói thay vì chuỗi ngắn hoặc c) làm cho phiên bản ngắn xuất hiện trong cài đặt đích chỉnh sửa cửa sổ?

Hoặc, có cách nào tốt hơn tôi nên giải quyết vấn đề này không?

cảm ơn.

Trả lời

21

Có, bạn có thể sử dụng các macro kiểu ${VARIABLE} kiểu tệp Info.plist.

Chúng tôi làm cho một thiết lập người dùng định nghĩa trong dự án có tên APP_VERSION, và sau đó sử dụng $ {} APP_VERSION trong CFBundleGetInfoString (Get Info string), CFBundleShortVersionString (phiên bản Bundle chuỗi, ngắn) và CFBundleVersion (phiên bản Bundle) phím. Tại thời gian xây dựng, biến được điền bằng phiên bản chính xác.

Xem ra mặc dù đôi khi một bản dựng sạch là cần thiết để Xcode cập nhật tệp Info.plist vì nó không kiểm tra sự phụ thuộc vào các biến.

+0

Làm thế nào để bạn thực hiện một cài đặt như vậy, và làm thế nào để bạn thiết lập nó? Tôi đã cố gắng sử dụng $ {CFBundleVersion} để có được phiên bản gói hiện tại (mà nó đã biết tất nhiên) nhưng điều đó dường như không hoạt động. –

+5

Chúng tôi sử dụng cài đặt do người dùng xác định. Để thực hiện, hãy chuyển đến cài đặt Xây dựng của dự án và chọn "Thêm cài đặt do người dùng xác định" từ trình đơn thả xuống nhỏ ở dưới cùng bên trái. Đặt tên cho nó là APP_VERSION và đặt nó thành chuỗi phiên bản của bạn. Để sử dụng biến, chỉ cần sử dụng $ {APP_VERSION} vào Info.plist. –

+1

Cảm ơn! Câu trả lời tuyệt vời, chỉ là những gì bác sĩ đã ra lệnh :) –

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