2014-06-09 17 views
28

Sử dụng Cordova 3.5.0, khi tôi chạy cordova prepare ios nó sẽ ghi đè số bản dựng của tôi cũng như số phiên bản của ứng dụng, sử dụng chuỗi phiên bản từ config.xml.Số bản dựng iOS trong ứng dụng Cordova

Từ:

<widget id="tld.domain.app" version="1.0.1" 

Nó đặt CFBundleVersion giống như các phiên bản ngắn:

enter image description here

Vì vậy, tôi phải giữ tay giữ đặt lại số build của tôi sang định dạng của tôi mà là YYYYMMDD.

Lý tưởng nhất là tôi muốn nó chỉ để lại số bản dựng hoặc có thể đặt rõ ràng trong tệp config.xml.

Có thể thực hiện một trong hai tùy chọn này không?

+0

(Tôi đã thử thêm thuộc tính 'build = N') – Ade

Trả lời

56

Tôi đã tìm thấy câu trả lời trong this resolved issue.

Có riêng versionCode thuộc tính (riêng biệt để version) dành cho iOS và Android, mà cần phải được thêm vào tập tin config.xml của bạn:

<widget ... android-versionCode="201406092" ios-CFBundleVersion="201406092" 
+3

Một vài tuần sau khi câu trả lời này được đăng, thông tin này đã được thêm vào (https://github.com/apache/cordova-docs/commit/ 1d07d1d38fa485d7d308a7ecbe753ff119ac52f5) vào [tài liệu cho tệp 'config.xml'] (https://cordova.apache.org/docs/en/4.0.0/config_ref_index.md.html) (phần" Phiên bản bổ sung "). – TachyonVortex

24

này bài here là rõ ràng hơn một chút với tôi, một chút hoàn chỉnh hơn, vì vậy tôi đề cập đến nó chỉ trong trường hợp nó giúp. Lưu ý rằng, hiệu quả, nó gần như giống hệt như những gì Ade nói. Tôi chỉ cung cấp nó bởi vì lần đầu tiên tôi đọc câu trả lời của Ade, tôi đã bối rối và không hoàn toàn hiểu câu trả lời của mình cho đến khi tôi nhìn thấy câu trả lời dưới đây.

Nếu bạn muốn tách riêng số lượng xây dựng từ số phiên bản, bạn có thể thêm các thuộc tính sau cho thẻ widget trong config.xml của bạn:

version="VERSIONNR" android-versionCode="BUILDNR" ios-CFBundleVersion="BUILDNR" 

để tag đầy đủ, với những thuộc tính bao gồm, trông giống như sau:

<widget id="APPID" version="VERSIONNR" android-versionCode="BUILDNR" 
ios-CFBundleVersion="BUILDNR" xmlns="http://www.w3.org/ns/widgets" 
xmlns:cdv="http://cordova.apache.org/ns/1.0"> 

(văn bản trong chữ hoa là placeholders)

+3

Phải cẩn thận với thuộc tính 'android-versionCode', tôi nghĩ rằng nó không thể chấp nhận các giá trị giống như thuộc tính' ios-CFBundleVersion'. Tôi gặp sự cố khi mở ứng dụng cordova trong AndroidStudio khi tôi đặt các thuộc tính đó thành cùng một giá trị. Có thể 'android-versionCode' phải là số nguyên, trong khi' ios-CFBundleVersion' có thể có dấu thập phân? – newenglander

+1

Điểm tốt. Trong trường hợp của tôi, gói ios có số thập phân nhưng android thì không. Vì vậy, ios có một bản xây dựng 2,58, nhưng android có một bản xây dựng 258. Tôi giữ cho hai đồng bộ để ít nhất có thể nói với hai thiết bị sử dụng về cơ bản cùng một bản dựng. – user3329922

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