Am o aplicație pe care l-am dezvoltat folosind Xcode 3 și recent a început editarea cu Xcode 4. finală rezumat am o forma țintă de o aplicație iOS pentru domeniile: ID-ul, versiunea, construi, și scopul dispozitivului este implementat. câmp Versiunea gol și câmp de asamblare - 3.4.0 (care corespunde versiunii cererii din momentul în care am fost încă editor al Xcode 3).
Care este diferența dintre câmpurile de versiune și de asamblare?
De ce a fost gol câmpul de versiuni după ce am actualizat la XCode 4?
Apple ca câmpuri reconstruite / reproiectate.
Dacă te uiți la tab-ul „Informații“ la ținta sa, trebuie să utilizați „Versiuni Bundle versiune, scurt„ca în versiunea (de exemplu, 3.4.0) și“versiune Bundle" ca construi dvs. (de exemplu, 500 sau 1A500) . Dacă nu le vedeți pe amândouă, le puteți adăuga. Ele vor fi afișate în ferestrele de text Versiune și Construcție corespunzătoare din fila Rezumat; Aceștia au aceleași valori.
Versiunea este de obicei folosită, așa cum se pare că o folosești cu Xcode 3. Nu sunt sigur la ce nivel te întrebi diferența de versiune / construire, așa că o voi răspunde filosofic.
Există tot felul de scheme, dar populare:
- Versiunea principală. Schimbări majore, modificări și modificări ale funcționalității.
- Versiune minoră - îmbunătățiri minore, adăugiri la funcții
- Versiune - număr de patch-uri pentru remedierea erorilor
Ansamblul este apoi folosit separat pentru a indica numărul total de ansambluri pentru eliberare sau pentru întreaga durată de viață a produsului.
Mulți dezvoltatori încep numărul de asamblare la 0 și, de fiecare dată când sunt construiți, cresc numărul cu unul, crescând pentru totdeauna. În proiectele mele, am un script care crește automat numărul de construcție de fiecare dată când construiesc. Consultați instrucțiunile de mai jos.
- Versiunea 1.0.0 poate fi un ansamblu de 542. Pentru a obține versiunea 1.0.0, au fost necesare 542 de construiri.
- Versiunea 1.0.1 poate fi construită.
- Versiunea 1.1.0 poate fi construită 694.
- Versiunea 2.0.0 poate fi un ansamblu.
Alți dezvoltatori, inclusiv Apple, au un număr de ansamblu format din versiunea principală + versiunea inferioară + numărul de ansambluri pentru lansare. Acesta este numărul versiunii actuale a software-ului, spre deosebire de valorile utilizate pentru marketing.
Dacă accesați meniul Xcode> Despre Xcode. veți vedea versiunea și numerele de asamblare. Dacă faceți clic pe butonul Mai multe informații. . veți vedea o grămadă de versiuni diferite. Deoarece butonul Xcode 5 a fost eliminat, butonul Mai multe informații. . Aceste informații pot fi găsite și în secțiunea "Software"> "Dezvoltator" din aplicația "Informații sistem". accesibil prin deschiderea meniului Apple> Despre acest Mac> Raport sistem.
De exemplu, Xcode 4.2 (4C139). Marketing Versiunea 4.2 - Build versiune majoră 4, Build versiune minoră C și construi numărul 139. Versiunea următoare (probabil, 4.3), probabil pentru a construi versiunea 4D, și de a construi numărul începe cu 0 și creșterea de acolo.
Versiunea de Versiune / Constructor Simulator iPhone este aceeași ca și iPhone, Mac, etc.
Actualizare. La cerere, se iau pași pentru a crea un script care se execută de fiecare dată când aplicația este creată în Xcode pentru a citi numărul de construire, ao crește și ao scrie în fișierul application -Info.plist. Există pași adiționali suplimentari dacă doriți să scrieți numerele de versiune / asamblare în fișierul Settings.bundle / Root * .plist.
Acest lucru este extins de la un articol practic aici.
Copiați și inserați următoarele în zona de script pentru întregul număr de ansamblu:
După cum sa menționat agvtool este de asemenea disponibil Apple Generic Versiune Tool (agvtool). Dacă preferați să îl utilizați, mai întâi trebuie să schimbați câteva lucruri:
Rețineți că, cu agvtool al metodei agvtool, puteți obține periodic blocări / ansambluri anulate fără erori. Din acest motiv, nu recomand să folosiți agvtool cu acest script.
Cu toate acestea, în faza Run Script, puteți utiliza următorul script:
Argumentul versiunii următoare crește numărul de construire (bump este de asemenea un pseudonim pentru aceleași) și - actualizează tot Info.plist cu noul număr de construire.
Dacă folosiți agvtool în loc de agvtool citirea Info.plist. În schimb, puteți adăuga următoarele în scriptul dvs.:
Și dacă aveți o aplicație universală pentru iPad și iPhone, puteți seta, de asemenea, setările pentru fișierul iPhone:
(Doar lăsându-l aici pentru referință.) Aceasta va arăta versiunea și construirea câmpurilor "versiune" și "construiți" pe care le vedeți în țintă Xcode:
Numărul de asamblare este un număr intern care indică starea curentă a aplicației. Acesta diferă de numărul versiunii prin faptul că nu este de obicei adresat utilizatorului și nu indică, de exemplu, niciun fel de diferențe / caracteristici / actualizări, ca de obicei.
Pentru a utiliza în mod eficient acest lucru în proiectele dvs., Apple oferă un instrument excelent numit agvtool. Vă recomandăm cu insistență să folosiți acest lucru, deoarece este mult mai ușor decât crearea de scripturi. Acest lucru vă permite să setați cu ușurință numărul de construire și versiunea de marketing. Acest lucru este util în special atunci când scrieți scripturi (de exemplu, este ușor să actualizați numărul de ansamblu din fiecare ansamblu sau chiar să interogați ce este numărul actual de construcție). Poate chiar face lucruri mai exotice, cum ar fi etichetele dvs. SVN pentru tine, atunci când actualizați numărul de construire.
Pentru ao folosi:
- Setați proiectul în Xcode în secțiunea "Versiune" pentru a utiliza "Apple Generic".
- În terminal
- agvtool nou-versiune 1 (set de montaj numărul 1)
- agvtool new-marketing-version 1.0 (instalare versiune de marketing 1.0)
Vezi agvtool pagina agvtool pentru o tona de informații bune
Scriptul pentru crearea automată a numărului de ansamblu în răspunsul de mai sus nu a funcționat pentru mine, dacă numărul de construcție este o valoare în virgulă mobilă, așa că l-am schimbat puțin:
Numărul de emitere pentru marketing pentru clienți, numit numărul versiunii. Începe cu 1.0 și este potrivit pentru actualizări majore 2.0. 3.0. pentru actualizări mici la 1.1. 1.2 și bug-uri la 1.0.1. 1.0.2. Acest număr este axat pe lansări și noi funcții.
Numărul de asamblare este, în principiu, numărul de ansamblu intern. care au fost făcute până la acest punct. Dar unii utilizează alte numere, cum ar fi numărul filialei repozitoriei. Acest număr trebuie să fie unic pentru a distinge diferite aproape aceleași ansambluri.
După cum puteți vedea, numărul de construire nu este necesar și decideți ce număr de ansamblu doriți să utilizați. Prin urmare, dacă actualizați Xcode-ul la versiunea principală, câmpul de asamblare va fi gol. Câmpul versiunii poate fi gol.
Pentru a obține numărul de asamblare ca variabilă NSString.
Pentru a obține numărul versiunii ca variabilă NSString.
Dacă doriți ambele într-un singur NSString.
Acesta este testat cu Xcode Versiunea 4.6.3 (4H1503). Numărul de asamblare este adesea scris în paranteze / bretele. Numărul de construire este în format hexazecimal sau zecimal.
În Xcode, puteți crește automat numărul de asamblare ca număr zecimal. plasarea următoarelor în scriptul Run în setările proiectului
Pentru un număr de construcție hexazecimal, utilizați acest script
Vă mulțumim @nekno și @ ale84 pentru răspunsurile excelente.
Cu toate acestea, am modificat ușor scriptul @ ale84 pentru a mări numerele de ansamblu cu puncte plutitoare.
Valoarea poate fi modificată în funcție de cerințele dvs. pentru formatul formatului plutitor. De exemplu: dacă incl = .01, formatul de ieșire va fi. 1,19, 1,20, 1,21.
O altă modalitate este să setați numărul versiunii în appDelegate doneFinishLaunchingWithOptions: