Jailbreak yapılmış bir cihazda ücretli bir geliştirici sertifikası olmadan bir Xcode projesi derleyip çalıştırmak mümkün müdür?


9

Hem tekmeler hem de bütçe nedenleriyle, normalde bir geliştirici hesabı gerektiren bir paket almak ve jailbreak yapılmış bir iOS cihazında çalışacak bir uygulama oluşturmak istiyorum.

5. nesil iPod Touch'ım var, iOS 6.1 çalıştıran evasi0n kullanarak jailbreak yaptı.

OS X (10.8.2) Lion ile Xcode 4.6 kullanıyorum.

Yanıtlar:


6

Bu amaca ulaşmak için aşağıdaki öğretim adımları atılır: http://iphonedevwiki.net/index.php/Xcode

Bulgularım ve eylemlerim her adımda verilmektedir.

1. Keychain Access kullanarak “login” (varsayılan) anahtar zincirinde “iPhone Developer” adıyla kendinden imzalı bir kod imzalama sertifikası oluşturun.

  • Yukarıdaki talimatları izlediğimde ekran görüntüleri aldım.
  • Alanların çoğunu boş veya varsayılan değerlerinde bıraktım.

resim açıklamasını buraya girin

2. Açın /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Info.plist(4.2 veya altı:) /Developer/Platforms/iPhoneOS.platform/Info.plist. Kök iznine ihtiyacınız olabilir.

  • Xcode 4.6 kullanıyorum, bu yüzden eski .plistdosyayı açtım .

Tüm tekrarlarını değiştirmek 3. XCiPhoneOSCodeSignContexttarafından XCCodeSignContext. Üç tane var (XCode Sürüm 3.2.4+).

  • Ekran görüntülerinin gösterdiği gibi üç değişiklik yaptım.

resim açıklamasını buraya girin resim açıklamasını buraya girin resim açıklamasını buraya girin

4. Dosyayı kaydedin ve Xcode'u yeniden başlatın.

  • Dosyayı kaydetti.

5. Mac'inizde ldid olduğundan emin olun. Bir kopyasını bir yere yerleştirin, örneğin /usr/local/bin.

6. ldid programının hemen yanında bir Python betiği ldid3.py oluşturun. Yürütülebilir yapın. Doldurun:

#!/usr/bin/env python

from sys import argv
from subprocess import check_call
from os.path import basename, dirname, splitext, join
from tempfile import NamedTemporaryFile

app = argv[-1]
ldid_path = join(dirname(__file__), 'ldid')
obj_path = join(app, splitext(basename(app))[0])

if '-gta' not in argv:
    check_call([ldid_path, '-S', obj_path])
else:
    with NamedTemporaryFile('w+b', 0) as f:
        f.write("""
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>get-task-allow</key>
    <true/>
  </dict>
</plist>
        """)
        check_call([ldid_path, '-S' + f.name, obj_path])
  • Yeni bir düz metin dosyası oluşturdum ve yukarıdaki kodu kopyaladım.
  • Bu dosyayı olarak kaydettim ldid3.pyve /usr/local/bindizinde sakladım.
  • Terminalde koştu chmod 777 /usr/local/bin/ldid3.py.

7. Açın iPhoneCodeSign.xcspec. Bu dosya [Xcode 4.6 için: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Specifications/iPhoneCodeSign.xcspec] içinde bulunabilir:

8. Dosyadaki girdiyi arama yerine olarak codesigndeğiştirin ldid3.py.

  • Talimat resmi talimatına göre, konsolda yazarak spec dosyasını düz metne dönüştürdü: sudo plutil -convert xml1 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Specifications/iPhoneCodeSign.xcspec
  • Dosyayı TextEdit ile açtım.
  • Değiştirilen <key>CommandLine</key><string>/usr/bin/codesign</string>ile <key>CommandLine</key><string>/usr/local/bin/ldid3.py</string>.

9. Dosyayı kaydedin ve Xcode'u yeniden başlatın.

  • Dosyayı kaydettim ve TextEdit'ten çıktım.

10. /var/mobile/tdmtanfApple'ın "TDMTANF baypasını" yüklendiğinde etkinleştirmek için cihazda bir dosya oluşturun (uyarı: bunu yapmanız sizi korumalı bir GameCenter'a da koyacaktır).

  • Windows'ta boş bir metin dosyası oluşturdum, adını tdmtanfverdim, iPod'uma SSH'd, yükledim ve iPod'umu yeniden başlattım /var/mobile/.

Şimdi her şey bitti ...

Mevcut Xcode projemi açıp Çalıştır'ı tıklıyorum. İOS Simulator'da sorunsuz çalışır.

resim açıklamasını buraya girin

Kod İmzalamanın 1. adımda ayarlanan sertifikayı kullanacak şekilde ayarlandığından emin olurum.

resim açıklamasını buraya girin

Uygulamayı oluşturuyorum (Project> Build). Bunu bir başarı mesajı takip eder.

Benim app klasörü kapmak TicTacToe.appgelen /Libary/Developer/Xcode/DerivedData/TicTacToe-cjgzmoxtflyegtfypsbxbuiuwxns/Build/Products/Debug-iphoneos/ve iPod'uma yüklemek benim, Windows makineye aktarmak.

Uygulamayı iPod'uma yüklemek için TicTacToe.appiPhone Configuration Utility'nin uygulamalar bölümüne sürüklüyorum , ancak uygulamamın "geçerli bir mobil uygulama olmadığını" belirten bu hata iletisini aldım.

Ben elle de kullanarak uygulamayı yüklerken denedi iFunbox ve AppCake Cydia bulundu uygulamayı. Her ikisi de başarısız.

resim açıklamasını buraya girin resim açıklamasını buraya girin

Bir ilgi noktası olarak, Google'da dolaştığım için, birçok kişinin bunun öneminden bahsettiğini fark ettim: AppSync yükledim. (Büyük ekran görüntüsü için özür dilerim. İndirmem gerekirse lütfen bize bildirin!)

resim açıklamasını buraya girin

Sonuç

Talimatları yakından izlememe rağmen, uygulamam iPhone Yapılandırma Yardımcı Programı tarafından geçerli bir uygulama olarak tanınmıyor. İFunbox gibi programları veya AppCake gibi Cydia uygulamalarını kullanarak uygulamayı manuel olarak yükleyemiyorum.

Uygulamanın gerçekten geçersiz olduğundan şüpheleniyorum, ancak talimatları dikkatlice izledikten sonra neden olduğundan emin değilim.

Biri bana uygulamamın neden geçerli olmadığını ve bunu düzeltmek için neler yapabileceğimi söyleyebilir mi?


Yine de ilginç bir okumaydı.
Thecafremo

Hayır - okudum sevindim ve muhtemelen gelecekte dönecektir. Paylaştığın için teşekkürler.
Robert

Bu Xcode 4.2 ve iOS 4 üzerinde çalışırken bana çok yardımcı oldu, umarım birisi Xcode 4.6
rraallvv

Ldid'i indirdikten sonra chmod 755 ldid ile izinlerini 755 olarak değiştirmeniz gerekir. Bu bana bir çıkış 1 hatasına neden oluyordu.

0

Cihazınızı bağlayabilir ve iOS Cihazınızı Çalıştır hedefi olarak seçebilirsiniz. çalıştırıldığında, uygulama cihazınıza otomatik olarak yüklenir. Veya iOS Cihazınızı seçebilirsiniz, o zaman sadece Oluştur ve Arşivle'yi çalıştırmanıza gerek yoktur. Bundan sonra, dağıtın ... Kuruluş için Kaydet veya Geçici Dağıtım'ı seçin. .İpa dosyanızı alacaksınız. Umarım size yardımcı olabilir ..


0

@joncom'un cevabı devam ediyor. .app dosyalarını iPhone'unuza doğrudan, sadece birkaç ekstra adımla ekleyebilirsiniz.

  • .appdosyayı masaüstünüze kopyalayın ve zipleyin
  • adını [yourappname].zipdeğiştir[yourappname].ipa
  • sonra devam edin ve cydia'dan AppSync'i indirin
  • .ipa dosyasını indirip cihazınıza yükleyin

NOT:

Ayrıca @joncom bahsedilen tüm python kodu değişiklik geçmeden doğrudan yapabilirsiniz .. devamını oku here

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.