Bagaimana TestFlight melakukannya?

197

TestFlight menawarkan distribusi beta over-the-air dari aplikasi iOS (pada perangkat yang tidak dipenjara). Bagaimana ini bisa dilakukan? Apakah ini fitur iOS, atau exploit kerentanan?

hpique
sumber
Pertanyaan yang bagus, tapi saya tidak yakin apakah ini pada topik. Itu batas, IMO. Yang mengatakan, saya ingin tahu jawaban untuk ini juga, jadi +1
Moshe
Jika ini adalah fitur iOS, itu pasti akan membantu saya untuk memahami penyediaan lebih baik.
hpique
12
@ Moshe: Bisakah Anda menjelaskan mengapa Anda pikir ini di luar topik?
Besi
Dengan demikian pertanyaan terkait dengan alat distribusi, bukan cara menulis kode. Yang mengatakan, saya menulis komentar saya hampir setahun yang lalu. Lingkungan pada SO sedikit berbeda.
Moshe
8
Ini pertanyaan yang sangat bagus.
Anggota Proud

Jawaban:

87

Ini dimungkinkan sebelum TestFlight meluncurkan layanan. Teknik ini muncul dari mekanisme distribusi perusahaan. Karena 4.0 perangkat telah mendukung pemasangan dari web.

Ingat - Anda masih harus menandatangani distribusi beta untuk set UDID tertentu, Anda tidak dapat dengan mudah menginstalnya di perangkat apa pun. Yang mereka lakukan hanyalah mengambil email tentang langkah IPA.

Lihat:

Pembaruan: Saya ingin mengatakan bahwa Flight Test adalah salah satu alat paling bermanfaat yang pernah saya gunakan ketika mengembangkan. Hanya mengeluarkan IPA dari gambar adalah pernyataan yang meremehkan - Saya hanya mencoba untuk memanggil mekanisme teknis. Mereka melakukan pekerjaan yang fantastis untuk mengelola seluruh proses beta. Mendaftarkan perangkat baru. Memberitahu pengguna dll.

Nick
sumber
6
bagaimana mereka menghasilkan uang, katanya gratis di beranda?
Jonathan.
1
Saya membayangkan mereka akan memulai semacam penawaran premium di masa depan. Gratis sekarang dan SDK baru sangat mengesankan. Ini dapat mengumpulkan log kerusakan dan informasi penggunaan langsung dari klien pengujian Anda dan bahkan melambangkannya jika Anda merasa nyaman mengunggah dsyms Anda.
Nick
7
Ini cukup mengesankan, hanya saja saya terbiasa dengan "Jika terlalu bagus untuk menjadi kenyataan, biasanya itu" di internet :)
Jonathan.
Saya menduga mereka akan menghasilkan uang dengan membebankan biaya untuk layanan mereka dalam produksi, dan menjaga layanan beta gratis. Mereka tidak secara resmi mendukung penggunaan produksi hari ini, dan mereka terus menyinggung "solusi untuk produksi" yang akan datang di forum dukungan mereka.
Nils
5
@Nick Saya pikir jawaban Anda tidak sepenuhnya benar. You still need to sign the beta distribution for a select set of UDIDs you can't just willy nilly install it on any device. Untuk profil penyedia distribusi perusahaan Anda tidak harus menentukan perangkat dan Anda dapat (setidaknya secara teknis) menginstal biner pada perangkat apa pun. Namun, lisensi membatasi Anda untuk hanya menginstalnya di perusahaan tempat profil distribusi dikeluarkan.
Besi
91

Artikel ini menunjukkan bagaimana penerapan OTA Apel bekerja dan dapat digunakan di luar perusahaan juga: distribusi aplikasi nirkabel ios

Proses lengkap didokumentasikan oleh Apple . Apple juga menerbitkan dokumentasi dan kode sampel untuk mendaftarkan perangkat dan mendapatkan UDID dengan menggunakan profil, sehingga situs web Anda dapat mendeteksi perangkat mana yang memanggil.

Beberapa solusi tambahan dengan berbagai kekuatan:

  • iOS Beta Builder , Aplikasi Mac untuk membuat situs web dengan menggunakan build. Cukup unggah file yang dihasilkan ke server web Anda.

  • Diawi : Layanan Web sederhana. Unggah file IPA Anda, setel kata sandi opsional, dan kirim tautan ke penguji Anda.

  • AppSendr : Layanan web untuk hosting versi beta, mirip dengan Testflight, tetapi tidak termasuk proses registrasi perangkat. Tetapi menyediakan utilitas penyebaran untuk secara otomatis mengunggah versi baru.

  • HockeyKit : Proyek sumber terbuka untuk hosting versi beta di server PHP5 Anda sendiri dengan fungsionalitas tambahan seperti klien untuk Pembaruan Dalam Aplikasi, situs web khusus perangkat otomatis, dan menangani beberapa aplikasi. Sepenuhnya berbasis file dan direktori.

  • HockeyApp : Layanan Web untuk hosting versi beta, Pembaruan dalam Aplikasi, Statistik, dan termasuk pendaftaran perangkat, undangan, dan perekrutan. Juga menyediakan koleksi laporan kerusakan sisi server, simbolikasi (untuk semua utas) dan pengelompokan crash untuk aplikasi beta dan app store (iOS + Mac). SDK adalah open source, menggunakan HockeyKit , QuincyKit dan PLCrashReporter (yang merupakan satu-satunya solusi aman tentang cara melakukan pengumpulan laporan kerusakan di iOS, lihat artikel ini .

Catatan: Saya adalah pengembang utama HockeyKit dan QuincyKit , dan salah satu pengembang HockeyApp .

Kerni
sumber
5

Testflight pada dasarnya menggunakan Ad Hoc normal seperti yang telah dinyatakan.

Agar ini berfungsi, Anda memerlukan UDIDuntuk setiap perangkat untuk menambahkannya ke profil Ad Hoc, mengkompilasi ulang aplikasi dengan profil baru dan mendistribusikan kembali bangunan baru.

Anda dapat memperolehnya UDIDdengan bantuan Permintaan Otentikasi OTA. Ini sebenarnya langkah yang dilakukan dalam MDM sebelum profil yang sebenarnya diluncurkan ke perangkat. Pada dasarnya ia meminta perangkat untuk informasi lebih lanjut tentang dirinya dan mengirimkannya kembali ke server yang ditentukan sendiri.

Langkah pertama didokumentasikan di sini: Konfigurasi Apple OTA

Saya kira Testflight menggunakan ini tepat setelah proses pendaftaran untuk mengumpulkan UDID, nama telepon, ...

Thomas Fankhauser
sumber
4

Ya ini adalah fitur inti iOS untuk Pelanggan Perusahaan yang ingin mendistribusikan OTA.

Mungkin Anda akan meneruskan UDID Anda ke TestFlight bersama dengan aplikasi dan mereka menggunakan Lisensi Perusahaan mereka untuk mengirim aplikasi kepada Anda. Saya yakin saya kehilangan banyak detail teknis tetapi jika Anda ingin tahu lebih banyak, Apple memiliki video tentang ini dari WWDC 2010.

Masuk ke developer.apple.com, pergi ke WWDC 2010 Videos dan gunakan tautan untuk sampai ke videonya. Video yang Anda inginkan adalah "Sesi 108 - Mengelola Perangkat Seluler". Sangat informatif tentang apa yang mungkin dilakukan dengan OTA dan langkah-langkah yang harus Anda ambil untuk melakukan penyediaan OTA.

Kucing Robotik
sumber
0

Perangkat iOS Stock "rentan" untuk menjalankan pengguna yang memuat aplikasi Ad Hoc dari pengembang mana pun yang memiliki UDID perangkat itu, dan mendaftarkan UDID di antara 100 perangkat yang diizinkan di portal pengembang Apple.

Distribusi OTA hanyalah cara lain untuk menginstal distribusi uji beta Ad Hoc dari pengembang yang terdaftar.

hotpaw2
sumber