SORU
27 EYLÜL 2012, PERŞEMBE


Nasıl serbest bırakmak için her iki armv6 ve armv7s destek Güncellemelerinden 4.5 için inşa

Bunun mümkün olmadığını biliyorum ve Apple bu şekilde kullanıcılar kendi cihazlarını yükseltme zorlamak için planlanmış. Ama eğer bunu yapmak mümkün bazı geçici veya kesmek varsa bilmek istiyorum? İstemci hala hala "" yüzdesi uygulaması kullanıcıları, büyük nedeniyle armv6 destek olmamız gerektiğinde ısrar ediyor

Bir komut lipo statik kitaplıkları birleştirme denir biliyorum ama emin değilim ayrıca ıpa dosyaları birleştirmek için kullanmak ne kadar doğru ve tam biz bir yerde okumuştum. Zaten google ve bu site üzerinde arama etrafında bir çift yaptım, zor somut bir cevap bulmak için ama yok.

CEVAP
1 EKİM 2012, PAZARTESİ


Bu başarıyla App Store bu uygulaması ile yapmak mümkün oldum. Armv6, armv7 ve armv7s destekler ve 6.0 4.2 sürümleri iOS. İPhone 5 ile eski cihazlarda (3G, iPod touch 2g, iPhone) tüm yol çalışır olduğunu teyit ettim.

Bu yöntem, böyle büyük mükafat 4.5 ve böyle büyük mükafat eski bir sürümü her ikisi de aynı anda yüklü olması gerekir. Eski sürüm benim için 4.3.2 üzerinde hala çalışıyorum, ama 4.4 de çalışması gerekir.

Bu cevap için ekran görüntüleri vardı ama Taşma yeni olduğum için bana bunları yazıya izin vermiyor Yığını. :(

Böyle büyük mükafat Kur 4.5

  1. Senin armv6 oluşturmak için inşa yeni bir yapılandırma ekleyin. Yayın config ve Release_armv6 diye çoğaltılabilir.

  2. Yapı yapılandırmaları için Mimarileri ve Geçerli Mimarileri ayarlayın. Tüm ama Release_armv6, varsayılan kullanın. Release_armv6 için, el ile ayarlayınarmv6. http://i.stack.imgur.com/h8Mpl.png

  3. Eğer 4.4 ve aşağıda Güncellemelerinden anlamaz iOS 6 özellikleri kullanıyorsanız, armv6 kurmak için #ifdef gerek bu. Diğer C Diğer C Bayrakları ve Bayraklar altındaki Ayarları Yapı ekledim-DARMV6_ONLYRelease_armv6 benim yapılandırma için. Kodu yeni iOS 6 API kullanır her yerde, uygun gibi #ifndef ARMV6_ONLY / #endif gibi bir şey yapın. http://i.stack.imgur.com/czF6J.png

  4. Yeni bir düzen ekleyin ve her durumda Release_armv6 oluşturma yapılandırmasını kullanmak için ayarlayın.

  5. Altında Aşamaları Oluşturmak, bir Çalışma Ekle Komut aşağıdaki script (Kabuk ayarlayın . Faz İnşa ^strong>/bin/csh). Bu sihrin gerçekleştiği yer.Yapılandırma bölümü düzenleyin:Bu Release_armv6 oluşturmak için tam yolunu belirlemek ve ARMV6_EXECUTABLE_PATH yerine. Ayrıca MİNİMUM_OS.



    #
    # Script to add armv6 architecture to iOS executable built with Xcode 4.5
    #

    #################
    # Configuration #
    #################
    # Change this to the full path where Xcode 4.4 (or below) puts your armv6 output
    setenv ARMV6_EXECUTABLE_PATH "$BUILD_ROOT/Release_armv6-iphoneos/$EXECUTABLE_PATH"

    # Your "real" minimum OS version since Xcode 4.5 wants to make it iOS 4.3
    # Must be 4.2 or below if you are supporting armv6...
    setenv MINIMUM_OS 4.2
    #####################
    # End configuration #
    #####################


    # For debugging
    echo CURRENT_ARCH = $CURRENT_ARCH
    echo CONFIGURATION = $CONFIGURATION

    # Don't need to do this for armv6 (built in older Xcode), simulator (i386), or debug build
    if ("$CURRENT_ARCH" == "armv6") exit 0
    if ("$CURRENT_ARCH" == "i386") exit 0
    if ("$CONFIGURATION" != "Release" && "$CONFIGURATION" != "Beta Test") exit 0

    # Paths
    setenv LIPO_PATH "$CODESIGNING_FOLDER_PATH/${EXECUTABLE_NAME}.lipo"
    setenv FINAL_PATH "$CODESIGNING_FOLDER_PATH/$EXECUTABLE_NAME"
    setenv FULL_INFO_PLIST_PATH "$CONFIGURATION_BUILD_DIR/$INFOPLIST_PATH"

    # Debug / sanity check
    lipo -info "$FINAL_PATH"
    ls -l "$ARMV6_EXECUTABLE_PATH"

    # Make sure something exists at $LIPO_PATH even if the next command fails
    cp -pv "$FINAL_PATH" "$LIPO_PATH"

    # If rebuilding without cleaning first, old armv6 might already be there so remove it
    # If not, lipo won't output anything (thus the cp command just above)
    lipo -remove armv6 -output "$LIPO_PATH" "$FINAL_PATH"

    # Add armv6 to the fat binary, show that it worked for debugging, then remove temp file
    lipo -create -output "$FINAL_PATH" "$ARMV6_EXECUTABLE_PATH" "$LIPO_PATH"
    lipo -info "$FINAL_PATH"
    rm -f "$LIPO_PATH"

    # Change Info.plist to set minimum OS version to 4.2 (instead of 4.3 which Xcode 4.5 wants)
    /usr/libexec/PlistBuddy -c "Set :MinimumOSVersion $MINIMUM_OS" "$FULL_INFO_PLIST_PATH"
    plutil -convert binary1 "$FULL_INFO_PLIST_PATH"

Oluşturma İşlemi

Bir yayın oluşturmak için hazır olduğunuzda, aşağıdaki sırayla yapın:

  1. Yakın Güncellemelerinden 4.5 ve açık 4.4 veya aşağıda böyle büyük mükafat. Armv6 düzeni seçin ve oluşturun.

  2. 4.4 kapatın veya açın ve aşağıda Güncellemelerinden Güncellemelerinden 4.5. Yayın düzeni seçin ve oluşturun.

Bu oldukça fazla. Yapı çıktı ne istiyorsun - üç mimarileri ile çalıştırılabilir bir dosya var olduğunu doğrulamak için kontrol edin. Çalıştır komut son çıkış bunu söylemeli.

Eğer herkes bu geliştirmek için bir fikir varsa, lütfen çekinmeyin. Fantezi olsun ve böyle büyük mükafat 4.4 "" komut inşa senaryo, hiç böyle büyük mükafat sürümleri arasında geçiş yapma gerekliliğini ortadan kaldırılmasına içinden. xcodebuild aramak mümkün olabilir sanırım Ama bu benim için yeterince iyi çalışıyor. ;)

Uyarılar:

  • Sadece güvenli olması için, böyle büyük mükafat sürümü eski xib dosyaları düzenlemek isteyebilirsiniz. Şimdiye kadar 4.5 geriye doğru uyumlu gibi görünüyor, ama hiç belli olmaz.

  • Aslında, sadece geliştirme yapan, eski Güncellemelerinden iOS 6 özel şeyler hariç düşünebilirsiniz. Ne olursa olsun senin için en kolay olduğuna bağlı.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BetterCoder

    BetterCoder

    17 Aralık 2012
  • Lamarr Wilson

    Lamarr Wilso

    27 Aralık 2008
  • soyacincautv

    soyacincautv

    14 NİSAN 2010