iPhone App Eksi App Store?


199

Mac bilgisayarımda bir uygulama oluşturursam, uygulama mağazasına girmeden bir iPhone'da çalıştırabilmemin bir yolu var mı?

Resmi SDK kullanılarak oluşturulmuş bir uygulamayı çalıştırabildiğim sürece iPhone'un hapse atmak zorunda olması önemli değil. İçeri girmeyeceğim nedenlerden dolayı, bu programın uygulama mağazasından geçmesini sağlayamıyorum.


1
Xcode 7'den itibaren, bir geliştirici hesabına kaydolmadan veya cihazı jailbreak yapmadan bağlı bir cihazda bir uygulama çalıştırmak artık mümkün. Ayrıntılar için bu kılavuza bakın.
Suragch

Geçici ve kurumsal uygulamaları dağıtmak için dropbox hesabınızı kullanan bir Mac uygulaması olan AppBox'ı kullanabilirsiniz . Burada bir deneyin github.com/vineetchoudhary/AppBox-iOSAppsKablosuzKurulum /…
Vineet Choudhary

Yanıtlar:


187

Resmi Geliştirici Programı

Standart bir iPhone için, geliştirici programının bir üyesi olmak için 99 ABD Doları / yıl ödemeniz gerekir. Daha sonra, uygulamanızı en fazla 100 cihaza yüklemek için adhoc sistemini kullanabilirsiniz. Geliştirici programının ayrıntıları vardır, ancak uygulama paketinize her bir cihaz için UUID eklemeyi içerir. UUID'ler , App Store'da bulunan Geçici Yardımcı kullanılarak en kolay şekilde alınabilir . Bu yöntemle ilgili daha fazla ayrıntı için iPhone 2.0'da Craig Hockenberry'nin Beta testi makalesine bakın.

Jailbroken iPhone

Jailbreak yapılmış iPhone'lar için, iPhone OS 3.0'daki AccelerometerGraph örnek uygulamasını kullanarak kişisel olarak test ettiğim aşağıdaki yöntemi kullanabilirsiniz .

Kendinden İmzalı Sertifika Oluşturma

Öncelikle kendinden imzalı bir sertifika oluşturmanız ve bu sertifikanın kullanılmasına izin vermek için iPhone SDK'nızı yamalamanız gerekir:

  1. Keychain Access.app uygulamasını başlatın. Hiçbir öğe seçilmeden Anahtarlık menüsünden Sertifika Yardımcısı'nı ve ardından Sertifika Oluştur'u seçin.

    İsim: iPhone Geliştirici
    Sertifika Türü: Kod İmzalama
    Varsayılanları geçersiz kılmama izin verin: Evet

  2. Devam'ı tıklayın

    Geçerlilik: 3650 gün

  3. Devam'ı tıklayın

  4. E-posta adresi alanını boşaltın.

  5. Tamamlanana kadar Devam'ı tıklayın.

    "Bu kök sertifikaya güvenilmiyor" ifadesini görmelisiniz. Bu bekleniyor.

  6. İPhone SDK'sını kendinden imzalı sertifikanın kullanılmasına izin verecek şekilde ayarlayın:

    sudo / usr / bin / sed -i .bak 's / XCiPhoneOSCodeSignContext / XCCodeSignContext /' /Developer/Platforms/iPhoneOS.platform/Info.plist

    Xcode açıksa, bu değişikliğin etkili olması için yeniden başlatın.

Kablosuz üzerinden Manuel Dağıtım

Aşağıdaki adımlar önce opensshve uikittoolskurulmasını gerektirir . jasoniphone.localHedef cihazın ana bilgisayar adıyla değiştirin . Hem kendi şifrenizi ayarlamayı unutmayın mobileve rootkullanıcıların SSH yükledikten sonra.

Uygulamanızı bir sistem uygulaması olarak telefonda manuel olarak derlemek ve yüklemek için (Apple'ın kurulum sistemini atlayarak):

  1. Proje, Aktif SDK Ayarla, Cihaz ve Aktif Yapı Yapılandırmasını Ayarla, Yayınla.

  2. Projenizi normal bir şekilde derleyin (Build & Go yerine Build kullanarak).

  3. Gelen build/Release-iphoneosdizinde bir uygulama grubunun sahip olacaktır. Bunu cihazdaki / Uygulamalara aktarmak için tercih ettiğiniz yöntemi kullanın.

    scp -r AccelerometerGraph.app root@jasoniphone:/Applications/

  4. SpringBoard'a yeni uygulamanın yüklendiğini bildirin:

    ssh mobile@jasoniphone.local uicache

    Bu yalnızca uygulama eklediğinizde veya kaldırdığınızda yapılmalıdır. Güncellenen uygulamaların yeniden başlatılması gerekir.

Geliştirme sırasında hayatı kolaylaştırmak için SSH anahtarı kimlik doğrulamasını ayarlayabilir ve bu ekstra adımları projenizde özel bir oluşturma adımı olarak ekleyebilirsiniz.

Uygulamayı daha sonra kaldırmak isterseniz bunu standart SpringBoard arabirimi üzerinden yapamayacağınızı ve SSH'yi kullanmanız ve SpringBoard'u güncellemeniz gerektiğini unutmayın:

ssh root@jasoniphone.local rm -r /Applications/AccelerometerGraph.app &&
ssh mobile@jasoniphone.local uicache

2
Mine inşa etmeyeceğini - Ben yapı çalışırken Xcode hemen kısa sürede bir kod imzalama hata veriyor ...
Sadık

1
@ Rev316 uicache, uikittoolspaketiniz kurulu ise orada olmalıdır .
Jason,

Seni takip ediyorum ama şu hatayla karşılaştım: stackoverflow.com/questions/2161877/…
hungbm06

Ayrıca, şeyleri şifresiz hale getirmek için ssh üzerinde özel / ortak anahtar çifti oluşturmak istiyorsunuz
conradev

2
Hazırlık profili ne olacak? Geliştirici programına abone olmadan bir tane almanın bir yolu var mı?
Teodor Kostov

18

Evet, iPhone Geliştirici Programına katıldıktan ve Apple 99 ABD Doları ödediğinizde, uygulamalarınızı en fazla 100 iOS cihazında sağlayabilirsiniz.


2
Neden 100 yükleme limiti var?
Marcus Leon

25
Bu yüzden insanlar bunu App Store'u tamamen atlamanın bir yolu olarak kullanamazlar.
willc2

2
Ve 100 sınırı, o yıl sahip olduğunuz numara değil, iOS Hazırlama Portalı'na kaydettiğiniz cihaz sayısı olarak sayılır. Dolayısıyla, 5 cihaz ekleyip ardından 5 cihazın tümünü silerseniz, ekleyebileceğiniz 95 (100 değil) cihazınız daha vardır.
Scott C Wilson

1
Ancak, geliştirici programınızı yenilediğinizde kullanılan cihazların sayısı sıfırlanır.
dgund

1
Ayrıca, geçici ön hazırlık profillerinin süresi 3 ay içinde dolar, böylece uygulamaları, kaydettiğiniz sınırlı (100) cihaz grubuna bile kalıcı olarak dağıtamazsınız.
12'de Bogatyr

14
  • Uygulamanızı oluşturun
  • Bir çatlak sitesine yükleme
  • (Eğer uygulama yeterince iyi ise) çatlak sürümü dakika sonra yayınlanacak ve herkesin ;-) indirmesi için hazır olacak

8

Yardımıyla bu yazı , ben hızlı dağıtım için app Installous üzerinden kuracak bir senaryo yaptık:

# compress application.
/bin/mkdir -p $CONFIGURATION_BUILD_DIR/Payload
/bin/cp -R $CONFIGURATION_BUILD_DIR/MyApp.app $CONFIGURATION_BUILD_DIR/Payload
/bin/cp iTunesCrap/logo_itunes.png $CONFIGURATION_BUILD_DIR/iTunesArtwork
/bin/cp iTunesCrap/iTunesMetadata.plist $CONFIGURATION_BUILD_DIR/iTunesMetadata.plist

cd $CONFIGURATION_BUILD_DIR

# zip up the HelloWorld directory

/usr/bin/zip -r MyApp.ipa Payload iTunesArtwork iTunesMetadata.plist

Yukarıda atıfta bulunulan yayında eksik olan şey iTunesMetadata'dır. Bu olmadan, Installous uygulamaları düzgün yüklemez. İşte bir iTunesMetadata örneği:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>appleId</key>
    <string></string>
    <key>artistId</key>
    <integer>0</integer>
    <key>artistName</key>
    <string>MYCOMPANY</string>
    <key>buy-only</key>
    <true/>
    <key>buyParams</key>
    <string></string>
    <key>copyright</key>
    <string></string>
    <key>drmVersionNumber</key>
    <integer>0</integer>
    <key>fileExtension</key>
    <string>.app</string>
    <key>genre</key>
    <string></string>
    <key>genreId</key>
    <integer>0</integer>
    <key>itemId</key>
    <integer>0</integer>
    <key>itemName</key>
    <string>MYAPP</string>
    <key>kind</key>
    <string>software</string>
    <key>playlistArtistName</key>
    <string>MYCOMPANY</string>
    <key>playlistName</key>
    <string>MYAPP</string>
    <key>price</key>
    <integer>0</integer>
    <key>priceDisplay</key>
    <string>nil</string>
    <key>rating</key>
    <dict>
        <key>content</key>
        <string></string>
        <key>label</key>
        <string>4+</string>
        <key>rank</key>
        <integer>100</integer>
        <key>system</key>
        <string>itunes-games</string>
    </dict>
    <key>releaseDate</key>
    <string>Sunday, December 12, 2010</string>
    <key>s</key>
    <integer>143441</integer>
    <key>softwareIcon57x57URL</key>
    <string></string>
    <key>softwareIconNeedsShine</key>
    <false/>
    <key>softwareSupportedDeviceIds</key>
    <array>
        <integer>1</integer>
    </array>
    <key>softwareVersionBundleId</key>
    <string>com.mycompany.myapp</string>
    <key>softwareVersionExternalIdentifier</key>
    <integer>0</integer>
    <key>softwareVersionExternalIdentifiers</key>
    <array>
        <integer>1466803</integer>
        <integer>1529132</integer>
        <integer>1602608</integer>
        <integer>1651681</integer>
        <integer>1750461</integer>
        <integer>1930253</integer>
        <integer>1961532</integer>
        <integer>1973932</integer>
        <integer>2026202</integer>
        <integer>2526384</integer>
        <integer>2641622</integer>
        <integer>2703653</integer>
    </array>
    <key>vendorId</key>
    <integer>0</integer>
    <key>versionRestrictions</key>
    <integer>0</integer>
</dict>
</plist>

Açıkçası, MyApp'ın tüm örneklerini uygulamanızın adıyla, Şirketim ise şirketinizin adıyla değiştirin.

Temel olarak, bu Yüklü olan herhangi bir jailbreak cihazına yüklenir. Kurulduktan sonra, her yerden yüklenebileceğinden, çok hızlı bir dağıtımla sonuçlanır, sadece şirketinizin web sitesine yükleyin ve dosyayı doğrudan cihaza indirin ve kopyalayın / taşıyın ~/Documents/Installous/Downloads.


@ToolmakerSteve Bundan şüphe duyuyorum, ancak şimdi gördüğünüz gibi iOS Uygulamalarını herhangi bir elma kimliğiyle ücretsiz olarak yükleyebilirsiniz, buna ihtiyaç duymuyorum.
Richard J. Ross III

7

Yakında çıkacak olan Xcode 7 ile artık bir apple geliştirici lisansı olmadan cihazlarınıza uygulama yüklemek mümkün, bu yüzden şimdi uygulama mağazasını atlamak mümkün ve cihazınızı jailbreak yapmak zorunda değilsiniz.

Artık herkes uygulamalarını Apple cihazlarına alabilir.

Xcode 7 ve Swift artık herkesin uygulama oluşturmasını ve doğrudan Apple cihazlarında çalıştırmasını kolaylaştırıyor. Apple Kimliğinizle giriş yapın ve fikrinizi iPad, iPhone veya Apple Watch'unuza dokunabileceğiniz bir uygulamaya dönüştürün. Xcode 7 beta sürümünü indirin ve bugün kendiniz deneyin. Program üyeliği gerekli değildir.

Alıntı sahibi: https://developer.apple.com/xcode/

Güncelleme:

XCode 7 yayınlandı:

Cihazda Ücretsiz Geliştirme Artık herkes kendi uygulamasını bir cihazda ücretsiz olarak çalıştırabilir ve test edebilir. Mac, iPhone, iPad, iPod touch veya Apple Watch'ta kendi tasarımlarınızı herhangi bir ücret ödemeden ve katılacak program olmadan çalıştırabilir ve hata ayıklayabilirsiniz. Tek yapmanız gereken Xcode'a ücretsiz Apple Kimliğinizi girmek. App Store veya iTunes için zaten kullandığınız Apple Kimliğini bile kullanabilirsiniz. Uygulamanızı mükemmelleştirdikten sonra Apple Geliştirici Programı, App Store'dan edinmenize yardımcı olabilir.

Aygıtları yükleme ve çalıştırma hakkında ayrıntılı bilgi için bkz .


4

Jailbreak yapılmış rotaya giderseniz, bir iPhone OS güncellemesinin bu uygulamaları çalıştırma yeteneğinizi öldürebileceğini (muhtemelen?) Belirtmek gerekir. Resmi rotayı seçer ve izin almak için 99 dolar öderdim. Uygulamalarınızın zorlandığından endişe etmenize ek olarak, uygulamalarınızı mağazada yayınlama fırsatı da (seçmeniz gerekir) elde edersiniz.


2

Uygulamayı iPhone'a @Jason Weathered tarafından açıklanan şekilde kopyaladıktan sonra, uygulamanın "chmod + x" öğesinden emin olun, aksi takdirde çalışmaz.


1

* Xcode 3.2.1 ve iPhone SDK 3.1.2'de çalışmasını sağlayan değişiklikler / notlar

Kablosuz üzerinden Manuel Dağıtım

2) Info.plist'i değiştirdikten sonra Xcode'u yeniden başlattığınızdan emin olun.

3) "uicache" komutu bulunamadı, killall -HUP SpringBoard kullanarak benim için iyi çalıştı.

Bunun dışında bunun işe yaradığını onaylayabilirim.

PwnageTool 3.1.4 kullanan Mac kullanıcıları, Jailbreaking (torrent aracılığıyla DL) için harika çalıştı.


Ah. Teşekkürler Jason, İyi belgelenmiş gönderi için teşekkür ederiz! Benim gibi Jailbreak çıkıntıları için Cydia'nın UIKit Araçları paketini yüklemekten bahsetmek isteyebiliriz.
Rev316

1

Eğer yama varsa /Developer/Platforms/iPhoneOS.platform/Info.plistve daha sonra bir uygulama muhtemelen değil işleyecek Apple'dan gerçek gelişme provisionen profili kullanarak cihazda çalışan hata ayıklama deneyin. Belirtiler tuhaf hata mesajlarıdır com.apple.debugserverve Xcode'da oluştururken hata almadan herhangi bir paket tanımlayıcıyı kullanabilirsiniz. Çözüm geri yüklemektir Info.plist.


0

Başka bir tarayıcıdan yüklemek isterseniz, geçici ve kurumsal uygulamaları dağıtmak için dropbox hesabınızı kullanan bir Mac uygulaması olan AppBox'ı kullanabilirsiniz .

https://github.com/vineetchoudhary/AppBox-iOSAppsWirelessInstallation/releases


Seçenekler

IPA'yı Arşivle ve Yükle

  • Arşivlemek için Proje / Çalışma Alanı'nı seçin -> ipa yap -> ipa yükle -> posta gönder -> ve kapatma mac'u

Yalnızca IPA Yükle

  • IPA dosyasını yüklemek için IPA dosyasını seçin -> posta gönderin -> ve kapatma mac'u

özellik

  • Aynı Bağlantıyı Koru
    • Bu özellik, aynı paket tanımlayıcıyla yüklenen gelecekteki tüm ipa'lar için aynı kısa URL'yi koruyacaktır.
    • Bu seçenek etkinleştirilirse, bir önceki derlemeyi aynı url ile de indirebilirsiniz.
  • Otomatik E-Posta Uygulaması Dağıtım Bağlantısı
  • Dağıtımdan Sonra Otomatik Kapanma Mac'i
  • Maksimum Yükleme Boyutu => Dropbox hesap depolama alanınıza eşit
  • Yüklenen Uygulama Sona Erme => Dropbox'ınızdan silene kadar
  • Uygulama Başına Kurulum => Sınırsız
  • Gösterge Paneli*

    * Gelecek sürümde sunulacak


AppBox ve Diawi

Ekran görüntüsü

IPA yükle

IPA'yı Arşivle ve Yükle

IPA Yükleniyor

Buradan deneyin https://github.com/vineetchoudhary/AppBox-iOSAppsWirelessInstallation/releases

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.