Minus Aplikasi iPhone App Store?

199

Jika saya membuat aplikasi di Mac saya, apakah ada cara saya bisa menjalankannya di iPhone tanpa melalui app store?

Tidak masalah jika iPhone harus di-jailbreak, selama saya masih bisa menjalankan aplikasi yang dibuat menggunakan SDK resmi. Untuk alasan saya tidak akan masuk, saya tidak bisa memiliki program ini melalui app store.

Dan Walker
sumber
1
Pada Xcode 7, sekarang mungkin untuk menjalankan aplikasi pada perangkat yang terhubung tanpa mendaftar untuk akun pengembang atau jailbreaking perangkat. Lihat panduan ini untuk detailnya.
Suragch
Anda dapat menggunakan AppBox , aplikasi mac yang menggunakan akun dropbox Anda untuk mendistribusikan aplikasi ad-hoc dan perusahaan Anda. Cobalah di sini github.com/vineetchoudhary/AppBox-iOSAppsWirelessInstallation/…
Vineet Choudhary

Jawaban:

187

Program Pengembang Resmi

Untuk iPhone standar Anda harus membayar US $ 99 / tahun untuk menjadi anggota program pengembang. Anda kemudian dapat menggunakan sistem adhoc untuk menginstal aplikasi Anda ke hingga 100 perangkat. Program pengembang memiliki detail tetapi melibatkan penambahan UUID untuk masing-masing perangkat ke paket aplikasi Anda. UUID dapat paling mudah diambil menggunakan Ad Hoc Helper yang tersedia dari App Store. Untuk detail lebih lanjut tentang metode ini, lihat pengujian Beta Craig Hockenberry di iPhone 2.0 artikel

IPhone Jailbroken

Untuk iPhone yang sudah di-jailbreak, Anda dapat menggunakan metode berikut yang telah saya uji secara pribadi menggunakan aplikasi sampel AccelerometerGraph di iPhone OS 3.0.

Buat Sertifikat yang Ditandatangani Sendiri

Pertama, Anda harus membuat sertifikat yang ditandatangani sendiri dan menambal SDK iPhone Anda untuk memungkinkan penggunaan sertifikat ini:

  1. Luncurkan Keychain Access.app. Tanpa item yang dipilih, dari menu Keychain pilih Asisten Sertifikat, lalu Buat Sertifikat.

    Nama: iPhone Developer
    Certificate Jenis: Penandatanganan Kode
    Biarkan saya menimpa default: Ya

  2. Klik Lanjutkan

    Validitas: 3650 hari

  3. Klik Lanjutkan

  4. Kosongkan bidang Alamat email.

  5. Klik Lanjutkan sampai selesai.

    Anda akan melihat "Sertifikat root ini tidak tepercaya". Ini diharapkan.

  6. Atur iPhone SDK untuk memungkinkan sertifikat yang ditandatangani sendiri digunakan:

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

    Jika Xcode Anda terbuka, mulai ulang agar perubahan ini berlaku.

Penyebaran Manual melalui WiFi

Langkah-langkah berikut ini membutuhkan openssh, dan uikittoolsharus diinstal terlebih dahulu. Ganti jasoniphone.localdengan nama host perangkat target. Pastikan untuk mengatur kata sandi Anda sendiri pada mobiledan rootpengguna setelah menginstal SSH.

Untuk mengompilasi dan menginstal aplikasi Anda secara manual di telepon sebagai aplikasi sistem (melewati sistem instalasi Apple):

  1. Proyeksikan, Setel SDK Aktif, Perangkat dan Setel Konfigurasi Build Aktif, Lepaskan.

  2. Kompilasi proyek Anda secara normal (menggunakan Build, bukan Build & Go).

  3. Dalam build/Release-iphoneosdirektori Anda akan memiliki bundel aplikasi. Gunakan metode yang Anda sukai untuk mentransfer ini ke / Aplikasi pada perangkat.

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

  4. Biarkan SpringBoard tahu bahwa aplikasi baru telah diinstal:

    ssh [email protected] uicache

    Ini hanya harus dilakukan ketika Anda menambah atau menghapus aplikasi. Aplikasi yang diperbarui hanya perlu diluncurkan kembali.

Untuk membuat hidup Anda lebih mudah selama pengembangan, Anda dapat mengatur otentikasi kunci SSH dan menambahkan langkah-langkah tambahan ini sebagai langkah membangun kustom dalam proyek Anda.

Perhatikan bahwa jika Anda ingin menghapus aplikasi nanti, Anda tidak dapat melakukannya melalui antarmuka SpringBoard standar dan Anda harus menggunakan SSH dan memperbarui SpringBoard:

ssh root@jasoniphone.local rm -r /Applications/AccelerometerGraph.app &&
ssh mobile@jasoniphone.local uicache
Jason Weathered
sumber
2
Milik saya tidak akan membangun - Xcode segera memberikan kesalahan penandatanganan kode segera setelah saya mencoba untuk membangun ...
Dikhususkan
1
@ Rev316 uicacheakan ada di sana jika Anda memiliki uikittoolspaket yang diinstal.
Jason Weathered
Saya mengikuti Anda tetapi bertemu kesalahan ini: stackoverflow.com/questions/2161877/…
hungbm06
Juga, Anda ingin mengatur pasangan kunci privat / publik di atas ssh untuk membuat hal-hal tanpa kata sandi
conradev
2
Bagaimana dengan profil penyediaan? Apakah ada cara untuk mendapatkannya tanpa berlangganan program pengembang?
Teodor Kostov
18

Ya, setelah Anda bergabung dengan Program Pengembang iPhone, dan membayar Apple $ 99, Anda dapat menyediakan aplikasi Anda hingga 100 perangkat iOS.

Robert Höglund
sumber
2
Mengapa ada batas pemasangan 100?
Marcus Leon
25
Jadi orang tidak bisa menggunakan ini sebagai cara untuk mem-bypass App store sepenuhnya.
willc2
2
Dan batas 100 dihitung sebagai jumlah perangkat yang telah Anda daftarkan tahun itu di Portal Penyediaan iOS, bukan jumlah saat ini yang Anda miliki. Jadi jika Anda menambahkan 5 perangkat dan kemudian menghapus semua 5, Anda memiliki 95 (bukan 100) perangkat yang dapat Anda tambahkan.
Scott C Wilson
1
Tetapi jumlah perangkat yang digunakan me-reset setelah Anda memperbarui program pengembang Anda.
dgund
1
Dan profil penyediaan ad-hoc akan kedaluwarsa dalam 3 bulan sehingga Anda tidak dapat mendistribusikan aplikasi secara permanen bahkan ke perangkat (100) terbatas yang telah Anda daftarkan.
Bogatyr
14
  • Bangun aplikasi Anda
  • Unggah ke situs crack
  • (Jika aplikasi Anda cukup bagus) versi crack akan diposting beberapa menit kemudian dan siap untuk semua orang mengunduh ;-)
ohho
sumber
8

Dengan bantuan posting ini , saya telah membuat skrip yang akan diinstal melalui aplikasi Installous untuk penyebaran cepat:

# 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

Apa yang tidak ada dalam pos yang dirujuk di atas, adalah iTunesMetadata. Tanpa ini, Installous tidak akan menginstal aplikasi dengan benar. Berikut adalah contoh dari iTunesMetadata:

<?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>

Jelas, ganti semua instance MyApp dengan nama aplikasi Anda dan MyCompany dengan nama perusahaan Anda.

Pada dasarnya, ini akan diinstal pada perangkat yang sudah di-jailbreak dengan Installous diinstal. Setelah diatur, ini menghasilkan penyebaran yang sangat cepat, karena dapat diinstal dari mana saja, cukup unggah ke situs web perusahaan Anda, dan unduh file langsung ke perangkat, dan salin / pindahkan ke ~/Documents/Installous/Downloads.

Richard J. Ross III
sumber
@ToolmakerSteve Saya ragu, tetapi karena sekarang Anda dapat memuat Aplikasi iOS dengan ID apel secara gratis, saya tidak melihat perlunya.
Richard J. Ross III
7

Dengan Xcode 7 mendatang, sekarang mungkin untuk menginstal aplikasi di perangkat Anda tanpa lisensi pengembang apel, jadi sekarang mungkin untuk melewati toko aplikasi dan Anda tidak perlu melakukan jailbreak pada perangkat Anda.

Sekarang semua orang bisa mendapatkan aplikasi mereka di perangkat Apple mereka.

Xcode 7 dan Swift sekarang mempermudah semua orang untuk membangun aplikasi dan menjalankannya langsung di perangkat Apple mereka. Cukup masuk dengan ID Apple Anda, dan ubah ide Anda menjadi aplikasi yang dapat Anda sentuh di iPad, iPhone, atau Apple Watch Anda. Unduh Xcode 7 beta dan coba sendiri hari ini. Keanggotaan program tidak diperlukan.

Dikutip dari: https://developer.apple.com/xcode/

Memperbarui:

XCode 7 sekarang dirilis:

Pengembangan Perangkat Gratis Sekarang, semua orang dapat menjalankan dan menguji aplikasi mereka sendiri di perangkat — gratis. Anda dapat menjalankan dan men-debug kreasi Anda sendiri di Mac, iPhone, iPad, iPod touch, atau Apple Watch tanpa biaya apa pun, dan tidak ada program untuk bergabung. Yang perlu Anda lakukan adalah memasukkan ID Apple gratis Anda ke dalam Xcode. Anda bahkan dapat menggunakan ID Apple yang sama yang sudah Anda gunakan untuk App Store atau iTunes. Setelah Anda menyempurnakan aplikasi Anda, Program Pengembang Apple dapat membantu Anda mendapatkannya di App Store.

Lihat Meluncurkan Aplikasi Anda di Perangkat untuk informasi terperinci tentang menginstal dan menjalankan perangkat.

qqbenq
sumber
4

Perlu dicatat bahwa jika Anda menggunakan rute jailbreak, ada kemungkinan (kemungkinan?) Bahwa pembaruan OS iPhone akan membunuh kemampuan Anda untuk menjalankan aplikasi ini. Saya akan pergi ke rute resmi dan membayar $ 99 untuk mendapatkan izin. Selain tidak perlu khawatir aplikasi Anda akan musnah, Anda juga mendapatkan kesempatan (jika Anda memilih) untuk merilis aplikasi Anda di toko.

Agustus
sumber
2

Setelah menyalin aplikasi ke iPhone dengan cara yang dijelaskan oleh @Jason Weathered, pastikan untuk "chmod + x" dari aplikasi, jika tidak, aplikasi itu tidak akan berjalan.

David Airapetyan
sumber
1

* Perubahan / Catatan untuk menjadikan ini berfungsi untuk Xcode 3.2.1 dan iPhone SDK 3.1.2

Penyebaran Manual melalui WiFi

2) Pastikan untuk memulai ulang Xcode setelah memodifikasi Info.plist

3) Perintah "uicache" tidak ditemukan, menggunakan killall -HUP SpringBoard bekerja dengan baik untuk saya.

Selain itu, saya dapat mengkonfirmasi ini berfungsi dengan baik.

Pengguna Mac, menggunakan PwnageTool 3.1.4 bekerja sangat baik untuk Jailbreaking (DL via torrent).

Rev316
sumber
Ah. Terima kasih Jason, Hargai pos yang terdokumentasi dengan baik! Mungkin ingin menyebutkan menginstal paket Alat UIKit Cydia untuk Nail Jailbreak seperti saya.
Rev316
1

Jika Anda menambal /Developer/Platforms/iPhoneOS.platform/Info.plistdan kemudian mencoba untuk debug aplikasi yang berjalan pada perangkat menggunakan profil penyediaan nyata pengembangan dari Apple mungkin tidak akan berhasil. Gejala dari pesan kesalahan aneh com.apple.debugserverdan bahwa Anda dapat menggunakan pengenal bundel apa pun tanpa mendapatkan kesalahan saat membangun di Xcode. Solusinya adalah mengembalikan Info.plist.

Mattias Wadman
sumber
0

Anda dapat menggunakan AppBox , aplikasi mac yang menggunakan akun dropbox Anda untuk mendistribusikan aplikasi ad-hoc dan perusahaan Anda, jika Anda ingin menginstal dari browser lain.

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


Pilihan

Arsipkan dan Unggah IPA

  • Cukup Pilih Project / Workspace untuk diarsipkan -> buat ipa -> unggah ipa -> kirim email -> dan matikan mac

Unggah IPA Saja

  • Cukup pilih file IPA untuk mengunggah ipa -> kirim email -> dan matikan mac

Fitur

  • Pertahankan Same Link
    • Fitur ini akan menjaga url pendek yang sama untuk semua ipa masa depan yang diunggah dengan pengidentifikasi bundel yang sama.
    • Jika opsi ini diaktifkan, Anda juga dapat mengunduh versi sebelumnya dengan url yang sama.
  • Tautan Distribusi Aplikasi E-Mail Otomatis
  • Auto Shutdown Mac setelah Distribusi
  • Ukuran Unggahan Maksimum => Sama dengan penyimpanan akun Dropbox Anda
  • Kedaluwarsa Aplikasi yang Diunggah => Sampai Anda menghapus dari Dropbox Anda
  • Instalasi Per Aplikasi => Tidak Terbatas
  • Dasbor*

    * Akan tersedia di versi mendatang


AppBox vs Diawi

Tangkapan layar

Unggah IPA

Arsipkan dan Unggah IPA

Mengunggah IPA

Cobalah di sini https://github.com/vineetchoudhary/AppBox-iOSAppsWirelessInstallation/releases

Vineet Choudhary
sumber