SORU
27 Temmuz 2011, ÇARŞAMBA


Yapı Güncellemelerinden sürüm vs

Böyle büyük mükafat 3 ile geliştirilen ve son Güncellemelerinden 4 düzenleme ile başlayan bir uygulamam var. Alanları ile iOS uygulama hedef şekli var hedef Özet: tanımlayıcı, sürüm, yapı, aygıtlar ve dağıtım hedef. Sürüm alanı boş ve inşa alanı 3.4.0 hala böyle büyük mükafat 3 ile düzenleme yaşındayken uygulamanın sürümü eşleşen).

Benim sorular şunlardır:

  1. Sürüm ve yapı alanları arasındaki fark nedir?

  2. Neden sürüm Güncellemelerinden 4'e yükseltme yaptıktan sonra boş alan oldu?

Teşekkürler.

CEVAP
6 AĞUSTOS 2011, CUMARTESİ


Yeniden/Apple sıralama alanları yeniden düzenlenmiştir.

Aynen devam, bak Bilgi sekmesi için uygulamanızın Hedef, bunu kullanmalısın "Paket sürümleri dize, kısa" olarak Sürümü (örneğin, 3.4.0) ve "Paket sürümü" olarak Oluştur (örneğin, 500 veya 1A500). Eğer ikisini de görüyor musun eğer, onları ekleyebilirsiniz. Bu doğru Sürümü ve Özet sekmesinde metin kutularının Kurmak için eşler; aynı değerlerdir.

Bilgi sekmesini görüntülerken, eğer sağ tıklayın ve seçinHam Anahtarları Değerleri/Göstergerçek isimleri CFBundleShortVersionString (Sürüm) CFBundleVersion (Yapı) görürsünüz.

Sürüm Güncellemelerinden genellikle 3 ile kullanıyoruz görünmesini nasıl kullanılır. Sürümü hakkında fark yaratır/sorduğun şey hakkında emin değilim, Bunu felsefi olarak cevap vereceğim.

Düzenleri her türlü vardır, ama popüler biri

{Anasürüm}.{Ikincilsürüm}.{Revizyon}

  • Ana sürüm- Büyük değişiklikler, yeniden tasarımlar ve işlevsellik değiştirir
  • Alt sürüm- Küçük iyileştirmeler, işlevsellik eklemeler için
  • Revizyon- Hata düzeltmeleri için yama bir numara

Daha sonra ayrı bir yayın için inşa toplam sayısını belirtmek için kullanılır veya tüm ürün ömrü boyunca İnşa.

Birçok geliştiriciler 0, ve bir sayı artırır onlar inşa her zaman Yapı numarası, sonsuza kadar artırmaya başlayın. Benim projelerde, otomatik olarak yapı numarası yapıyorum her zaman artıran bir senaryo var. Bu talimatlar için aşağıya bakın.

  • Sürüm 1.0.0 542 inşa olabilir. 542 almak için oluşturur aldı 1.0.0 sürümü.
  • Sürüm 1.0.1 578 inşa olabilir.
  • Sürüm 1.1.0 694 inşa olabilir.
  • Sürüm 2.0.0 949 inşa olabilir.

Diğer geliştiriciler, Apple da dahil olmak üzere, İnşa numarası, alt sürüm numarası serbest bırakılması için inşa büyük bir versiyonu oluşur. Bu değerler pazarlama için kullanılan karşıt olarak gerçek yazılım sürüm numaraları vardır.

Eğer gidersenBöyle büyük mükafatmenü >Hakkında Böyle Büyük MükafatSürüm numaralarını görmek ve İnşa edeceğiz. Eğer vurursanızDaha Fazla Bilgi...düğme farklı sürümleri bir sürü görürsünüz. YanaDaha Fazla Bilgi...düğme Güncellemelerinden 5, Bu bilgi de mevcut olduğunu kaldırıldıYazılım >Geliştiricibu bölümSistem Bilgileriuygulamayı açarak kullanılabilirApplemenü >Bu Mac HakkındaSistem Raporu....

Örneğin, 4.2 (4C139) böyle büyük mükafat. Pazarlama sürüm 4.2 4, alt sürüm C Yapı ana sürüm Oluşturma ve sayı 139 Kurmak. Bir sonraki sürümde (muhtemelen 4.3) büyük olasılıkla 4D ve Yapı numarası üzerinden 0 başlar ve oradan artırır serbest İnşa edilecek.

İPhone Simülatörü Sürümü numaraları/Yapı iPhone'lar, Mac, vb olarak da aynı şekilde.

  • 3.2: (7W367a)
  • 4.0: (8A400)
  • 4.1: (8B117)
  • 4.2: (8C134)
  • 4.3: (8H7)

Güncelleme: İstek olarak, burada adımları oluşturmak için bir komut her çalıştığında inşa uygulamanızda böyle büyük mükafat okumak için Yapı numarası, artan ve yaz geri app {App}-Info.plist dosya. İsteğe bağlı, eğer sürümünüz/yazma Settings.bundle/Root*.plist dosya numaraları oluşturmak istiyorsanız, ek adımlar(ler) vardır.

Bu nasıl bir makaleden here genişletilmiş.

4.2 - 5.0: Böyle Büyük Mükafat

  1. Böyle büyük mükafat proje yüklenemedi.
  2. Sol taraftaki bölmede, hiyerarşinin en üstünde projeyi tıklatın. Bu proje yükler ayarlar editörü.
  3. Merkezin sol tarafında bir pencere, altında, app tıklayın bölmesiHEDEFLERbaşlık. Proje, her hedef için bu kurulum yapılandırmanız gerekir.
  4. SeçinAşama Yapıtab.
    • Sağ altta 4, " Güncellemelerinden tıklatınFaz İnşa Ekleyindüğmesi ve seçinKomut Çalıştırma Ekleyin.
    • İçinde böyle büyük mükafat 5 seçinEditörmenü >Faz İnşa EkleyinÇalıştır Komut Faz İnşa Ekleyin.
  5. Sürükle ve bırakKomut Dosyasını Çalıştırınfaz önce taşımak içinPaket Kaynaklar Kopyalayınfaz (zaman)-bilgi app.dosya, uygulama ile birlikte olacak plist).
  6. YeniKomut Dosyasını Çalıştırınfaz ayarlayınShell: /bin/bash.
  7. Kopyalama ve yapı numaraları tamsayı alanı: komut dosyası içine aşağıdaki yapıştırın

    buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
    buildNumber=$(($buildNumber   1))
    /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"
    

    @Bdebeez belirttiği gibi, Apple Generic Versioning Tool (agvtool) de mevcuttur. Eğer bunu kullanmayı tercih ederseniz, o zaman ilk değiştirmek için bir kaç şey vardır:

    • SeçinAyarları Oluşturtab.
    • AltındaSürüm oluşturmabölüm setGeçerli Proje Sürümüilk inşa numarasını kullanmak istiyorsanız, örneğin,1.
    • ArkasındaAşama Yapısürükle ve bırak tabKomut Dosyasını Çalıştırınsonraki aşamaPaket Kaynaklar Kopyalayınve kaynak oluşturmak güncellemek için, hem çalışırken, bir yarış durumu önlemek için faz bu yapı numarasını içeren dosya.

    agvtool yöntemi ile belirli aralıklarla başarısız/iptal alabilirsiniz unutmayın hatasız oluşturur. Bu nedenle, bu komut ile agvtool kullanarak tavsiye etmem.

    Yine de, senin içindeKomut Dosyasını Çalıştırınfaz, aşağıdaki kodu kullanabilirsiniz:

    "${DEVELOPER_BIN_DIR}/agvtool" next-version -all
    

    next-version argüman inşa sayısını artırır (bump da aynı şey için bir takma addır) ve -all yeni bir yapı numarası Info.plist güncellemeler.

  8. Ve eğer Sürüm ve İnşa Haritayı nereye Ayarları bir paket varsa, komut dosyasının sonuna aşağıdaki sürümünü güncellemek ve oluşturmak için ekleyebilirsiniz.Not: ayarlarınızı maç PreferenceSpecifiers değerleri Değiştirmek. PreferenceSpecifiers:2 demek plist dosyanızda PreferenceSpecifiers dizinin altındaki dizin 2 öğe bak, 0 tabanlı bir dizin için, bu 3 tercih dizisi başlıyor.

    productVersion=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "$INFOPLIST_FILE")
    /usr/libexec/PlistBuddy -c "Set PreferenceSpecifiers:2:DefaultValue $buildNumber" Settings.bundle/Root.plist
    /usr/libexec/PlistBuddy -c "Set PreferenceSpecifiers:1:DefaultValue $productVersion" Settings.bundle/Root.plist
    

    Eğer doğrudan Info.plist okumak yerine agvtool kullanıyorsanız, komut dosyası için aşağıdaki ekleyebilirsiniz:

    buildNumber=$("${DEVELOPER_BIN_DIR}/agvtool" what-version -terse)
    productVersion=$("${DEVELOPER_BIN_DIR}/agvtool" what-marketing-version -terse1)
    /usr/libexec/PlistBuddy -c "Set PreferenceSpecifiers:2:DefaultValue $buildNumber" Settings.bundle/Root.plist
    /usr/libexec/PlistBuddy -c "Set PreferenceSpecifiers:1:DefaultValue $productVersion" Settings.bundle/Root.plist
    
  9. Ve eğer iPad ve iPhone için evrensel bir uygulama varsa, o zaman da iPhone dosyanın ayarları ayarlayabilirsiniz:

    /usr/libexec/PlistBuddy -c "Set PreferenceSpecifiers:2:DefaultValue $buildNumber" Settings.bundle/Root~iphone.plist    
    /usr/libexec/PlistBuddy -c "Set PreferenceSpecifiers:1:DefaultValue $productVersion" Settings.bundle/Root~iphone.plist
    

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • LevelUpTuts

    LevelUpTuts

    20 Ocak 2012
  • theavettbrothers

    theavettbrot

    9 ŞUBAT 2007
  • Willie D.

    Willie D.

    16 Aralık 2006