TestFlight: τι είναι, δοκιμές beta και εργασία με builds

Συγγραφέας: IT Sectr Δημοσιεύτηκε: 2026-04-11 Χρόνος ανάγνωσης: 9 λεπ

TestFlight — είναι η επίσημη υπηρεσία της Apple για δοκιμές beta εφαρμογών iOS, iPadOS, watchOS και tvOS. Μέσω του TestFlight, οι προγραμματιστές διανέμουν προ-εκδοτικά builds σε έως 10.000 εξωτερικούς δοκιμαστές, συλλέγουν σχόλια και αναφορές σφαλμάτων χωρίς να χρειάζεται δημοσίευση στο App Store. Σύμφωνα με το Apple Developer Documentation, 2025, πάνω από το 80% των εφαρμογών στο App Store χρησιμοποιούν το TestFlight στο στάδιο προετοιμασίας έκδοσης.

Κύρια Σημεία

  • TestFlight — η πλατφόρμα της Apple για διανομή beta εκδόσεων εφαρμογών σε δοκιμαστές
  • Έως 10.000 εξωτερικοί δοκιμαστές και έως 100 εσωτερικά μέλη μιας ομάδας
  • Ενσωμάτωση με Xcode και App Store Connect επιτρέπει το ανέβασμα builds απευθείας από το IDE
  • Αυτόματη συλλογή αρχείων καταγραφής σφαλμάτων, σχολίων και διαγνωστικών δεδομένων από δοκιμαστές
  • Χωρίς TestFlight η διανομή iOS builds εκτός App Store απαιτεί πιστοποιητικό Enterprise ή jailbreak

Τι είναι το TestFlight

TestFlight — είναι ο μόνος επίσημος και νόμιμος τρόπος διανομής εφαρμογών iOS για δοκιμή χωρίς δημοσίευση στο App Store. Η υπηρεσία ξεκίνησε από την Apple το 2014 μετά την εξαγορά της ομώνυμης εταιρείας. Πριν την εμφάνιση του TestFlight, οι προγραμματιστές χρησιμοποιούσαν διανομή Ad Hoc με όριο 100 συσκευών ανά σεζόν — το TestFlight αφαίρεσε αυτόν τον περιορισμό και απλοποίησε τη διαδικασία σε λίγα κλικ.

Γιατί χρειάζεται το TestFlight

Το iOS έχει αυστηρή πολιτική ασφαλείας: η εφαρμογή μπορεί να εγκατασταθεί σε μια συσκευή μόνο μέσω του App Store ή με ειδικά πιστοποιητικά. TestFlight λύνει το πρόβλημα των δοκιμών beta λειτουργώντας ως διακομιστής μεσολάβησης μεταξύ προγραμματιστή και δοκιμαστή: η Apple ελέγχει το build για βασικές απαιτήσεις, μετά οι δοκιμαστές λαμβάνουν την εφαρμογή μέσω της εφαρμογής TestFlight από το App Store, το οποίο δεν απαιτεί εμπιστοσύνη σε μη υπογεγραμμένα αρχεία.

TestFlight vs Ad Hoc vs Enterprise

Υπάρχουν τρεις τρόποι διανομής εφαρμογών iOS εκτός App Store: Ad Hoc (όριο 100 συσκευών, απαιτεί UDID κάθε συσκευής), Enterprise (εσωτερική εταιρική διανομή χωρίς όριο, απαιτεί πιστοποιητικό Enterprise Apple για 299 USD/έτος) και TestFlight (έως 10.000 δοκιμαστές, δωρεάν, δεν απαιτεί συλλογή UDID). Το TestFlight είναι η βέλτιστη επιλογή για δοκιμές beta, το Ad Hoc κατάλληλο για δοκιμές συγκεκριμένων συσκευών, το Enterprise — για εταιρικές εφαρμογές.

Πώς λειτουργεί το TestFlight

Η διαδικασία δημοσίευσης ενός build μέσω TestFlight αποτελείται από πέντε βήματα: δημιουργία στο Xcode, ανέβασμα στο App Store Connect μέσω Archive Organizer, επεξεργασία από την Apple, πρόσκληση δοκιμαστών, εγκατάσταση εφαρμογής μέσω της εφαρμογής TestFlight. Κάθε βήμα διαρκεί από λίγα λεπτά έως μία ώρα ανάλογα με την πολυπλοκότητα του έργου.

Απαιτήσεις της Apple για το build

Το build πρέπει να δημιουργηθεί με πιστοποιητικό διανομής και σωστό provisioning profile. Η Apple ελέγχει: εγκυρότητα πιστοποιητικού, αντιστοιχία bundle identifier, απουσία ιδιωτικών API, ορθότητα εικονιδίων (1024×1024) και ύπαρξη εικονιδίου App Store. Εάν το build δεν περάσει τον έλεγχο — το TestFlight εμφανίζει σφάλμα με περιγραφή του προβλήματος.

Διαδικασία επεξεργασίας build

Μετά το ανέβασμα, το build περνά από αυτοματοποιημένο έλεγχο της Apple: στατική ανάλυση δυαδικού κώδικα, έλεγχος ψηφιακής υπογραφής, σάρωση για χρήση ιδιωτικών API και κακόβουλου λογισμικού. Επεξεργασία διαρκεί από 15 λεπτά έως 2 ώρες για το πρώτο build και συνήθως 15–30 λεπτά για τα επόμενα. Η κατάσταση επεξεργασίας εμφανίζεται στο Activity στο App Store Connect.

swift
// Ρύθμιση TestFlight στο Swift AppDelegate
import UIKit

@main
class AppDelegate: UIResponder, UIApplicationDelegate {
    func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        // Έλεγχος: αν η εφαρμογή εγκαταστάθηκε μέσω TestFlight
        if Bundle.main.appStoreReceiptURL?.lastPathComponent
            == "sandboxReceipt" {
            print("Beta version via TestFlight")
        }
        return true
    }
}

Εσωτερικοί και εξωτερικοί δοκιμαστές

TestFlight χωρίζει τους δοκιμαστές σε δύο ομάδες: εσωτερικούς (Internal Testers) και εξωτερικούς (External Testers). Η διαφορά έγκειται στον αριθμό συμμετεχόντων, την πρόσβαση σε builds και την ανάγκη για αξιολόγηση από την Apple. Η σωστή επιλογή ομάδας επιταχύνει τη διαδικασία δοκιμής και τηρεί τις πολιτικές του App Store.

Εσωτερικοί δοκιμαστές (Internal)

Έως 100 συμμετέχοντες από την ομάδα Apple Developer Program. Για να προσκαλέσετε έναν εσωτερικό δοκιμαστή, αρκεί να προσθέσετε το Apple ID του στο App Store Connect — αποκτά αμέσως πρόσβαση σε όλα τα builds. Δεν απαιτείται αξιολόγηση Apple. Ιδανικό για καθημερινό smoke testing και έλεγχο λειτουργιών σε πρώιμα στάδια.

Εξωτερικοί δοκιμαστές (External)

Έως 10.000 συμμετέχοντες εκτός ομάδας ανάπτυξης. Το πρώτο build για εξωτερικούς δοκιμαστές περνά από βασική αξιολόγηση Apple (συνήθως 1–2 ημέρες). Επόμενα builds με αλλαγές που δεν επηρεάζουν τη βασική λειτουργικότητα μπορούν να περάσουν χωρίς επαναξιολόγηση. Οι εξωτερικοί δοκιμαστές προσκαλούνται μέσω email ή δημόσιου συνδέσμου.

ΠαράμετροςInternal TestersExternal Testers
Μέγ. αριθμός10010.000
Αξιολόγηση AppleΔεν απαιτείταιΠρώτο build — υποχρεωτικά
ΠρόσκλησηApple ID από ομάδαEmail / δημόσιος σύνδεσμος
Ισχύς build90 ημέρες90 ημέρες
Πρόσβαση σε buildsΣε όλα ταυτόχροναΜόνο ενεργές ομάδες

Πώς να ανεβάσετε build στο TestFlight

Το ανέβασμα build στο TestFlight γίνεται μέσω Xcode, Application Loader ή γραμμής εντολών με χρήση xcrun. Ο πιο συνηθισμένος τρόπος — μέσω Xcode Archive Organizer μετά τη δημιουργία αρχείου έργου. Εναλλακτικός τρόπος — αυτοματοποίηση μέσω Fastlane για CI/CD Pipeline.

Μη αυτόματο ανέβασμα μέσω Xcode

Δημιουργήστε αρχείο (Product → Archive), ανοίξτε το Organizer, επιλέξτε το αρχείο και πατήστε Distribute App. Επιλέξτε TestFlight ως μέθοδο διανομής, καθορίστε το πιστοποιητικό και το provisioning profile. Το Xcode θα ανεβάσει το build στο App Store Connect, όπου θα εμφανιστεί μετά την επεξεργασία. Η όλη διαδικασία διαρκεί 10–20 λεπτά για το πρώτο ανέβασμα.

Αυτοματοποίηση μέσω Fastlane

Fastlane — είναι το πιο δημοφιλές εργαλείο για αυτοματοποίηση ανεβάσματος builds στο TestFlight. Η εντολή fastlane pilot ανεβάζει το build και διαχειρίζεται τους δοκιμαστές χωρίς να ανοίγει το Xcode. Η ενσωμάτωση του Fastlane με διακομιστή CI/CD επιτρέπει αυτόματη δημοσίευση builds στο TestFlight μετά την επιτυχία όλων των δοκιμών.

ruby
# Fastfile — ανέβασμα build στο TestFlight
default_platform(:ios)

lane :beta do
    # Λήψη πιστοποιητικών μέσω match
    match(type: "appstore")

    # Δημιουργία και υπογραφή
    build_app(
        scheme: "MyApp",
        export_method: "app-store",
        workspace: "MyApp.xcworkspace"
    )

    # Ανέβασμα στο TestFlight
    pilot(
        skip_waiting_for_build: true,
        distribute_external: false,
        notify_external_testers: false
    )
end

Fastlane pilot ανεβάζει αυτόματα το IPA στο App Store Connect, περιμένει την επεξεργασία (αν skip_waiting_for_build = false) και αναθέτει το build σε επιλεγμένες ομάδες δοκιμαστών. Η εντολή distribute_external: true στέλνει αμέσως το build σε εξωτερικούς δοκιμαστές μετά την επεξεργασία.

Ανέβασμα μέσω γραμμής εντολών

Χωρίς Fastlane μπορεί να χρησιμοποιηθεί το xcrun: xcrun altool --upload-app --file path/to/app.ipa --username YOUR_APPLE_ID --password @keychain:AC_PASSWORD. altool υποστηρίζεται από την Apple για περιβάλλοντα CI και δεν απαιτεί γραφική διεπαφή. Ο κωδικός πρόσβασης μεταφέρεται μέσω keychain ή app-specific password — μην χρησιμοποιείτε κωδικούς σε απλό κείμενο.

Συλλογή σχολίων και διαγνωστικά στο TestFlight

TestFlight παρέχει διάφορους μηχανισμούς σχολίων: ενσωματωμένη φόρμα σχολίων, αυτόματη συλλογή αρχείων καταγραφής σφαλμάτων, μετρήσεις χρήσης και στιγμιότυπα οθόνης. Η ομάδα λαμβάνει όλα τα δεδομένα στο App Store Connect χωρίς να χρειάζεται να εφαρμόσει SDK τρίτων για δοκιμές beta.

Ενσωματωμένη φόρμα σχολίων

Ο δοκιμαστής ανοίγει την εφαρμογή TestFlight, επιλέγει το build σας και πατάει Send Feedback. Η φόρμα επιτρέπει την αποστολή κειμενικών σχολίων, επισύναψη στιγμιότυπου οθόνης και καθορισμό σοβαρότητας. Όλα τα σχόλια συλλέγονται στο App Store Connect στην ενότητα TestFlight → Feedback. Ο προγραμματιστής μπορεί να απαντήσει στο σχόλιο και ο δοκιμαστής θα λάβει ειδοποίηση στην εφαρμογή TestFlight.

Αρχεία καταγραφής σφαλμάτων και διαγνωστικά

Κατά την κατάρρευση της εφαρμογής, το TestFlight συλλέγει αυτόματα αναφορά σφάλματος: στοίβα κλήσεων, έκδοση λειτουργικού συστήματος, μοντέλο συσκευής και ώρα κατάρρευσης. Αρχεία καταγραφής σφαλμάτων είναι διαθέσιμα στο Xcode Organizer (Crashes) και στο App Store Connect (TestFlight → Crashes). Για να λάβετε συμβολοποιημένα αρχεία καταγραφής σφαλμάτων, πρέπει να ανεβάσετε αρχεία dSYM μαζί με το build ή ξεχωριστά μέσω Xcode.

Παρακολούθηση χρήσης

Το TestFlight εμφανίζει μετρήσεις: αριθμό εγκαταστάσεων, ενεργών δοκιμαστών, συνεδριών και σφαλμάτων. Αναλυτικά στοιχεία ενημερώνονται καθημερινά και βοηθούν στην αξιολόγηση της δέσμευσης των δοκιμαστών. Εάν για μια εβδομάδα κανένας δοκιμαστής δεν άνοιξε την εφαρμογή — αξίζει να επανεξετάσετε την επικοινωνία με την ομάδα ή την ποιότητα του build.

Από το TestFlight στη δημοσίευση στο App Store

TestFlight αποτελεί αναπόσπαστο μέρος της διαδικασίας δημοσίευσης στο App Store. Το ίδιο build που πέρασε από δοκιμές beta μέσω TestFlight μπορεί να σταλεί για αξιολόγηση Apple χωρίς εκ νέου μεταγλώττιση — αρκεί να πατήσετε ένα κουμπί στο App Store Connect. Αυτό εξαλείφει τον κίνδυνο το build παραγωγής να διαφέρει από το δοκιμασμένο.

Submit to App Review

Στο App Store Connect, επιλέξτε το build που πέρασε τις δοκιμές και πατήστε Submit for Review. Η Apple χρησιμοποιεί το ίδιο build από το TestFlight — δεν απαιτείται εκ νέου ανέβασμα. Ο χρόνος αξιολόγησης είναι συνήθως 1–3 ημέρες. Εάν το build απορριφθεί — διορθώστε τις παρατηρήσεις, ανεβάστε νέο build στο TestFlight και επαναλάβετε τη διαδικασία.

Τελευταίο build πριν την έκδοση

Συνιστάται μετά τον τελικό γύρο δοκιμών στο TestFlight να περιμένετε 24–48 ώρες πριν την αποστολή για αξιολόγηση. Αυτός ο χρόνος επιτρέπει στους δοκιμαστές να εντοπίσουν κρίσιμα σφάλματα που μπορεί να ξεφύγουν από αυτόματες δοκιμές. Το Release candidate (RC) build στο TestFlight — αποτελεί πρότυπο πρακτικής ώριμων ομάδων iOS.

Τι να κάνετε μετά τη δημοσίευση

Τα TestFlight builds καθίστανται αυτόματα μη διαθέσιμα για νέες εγκαταστάσεις μετά την κυκλοφορία της έκδοσης παραγωγής στο App Store. Οι δοκιμαστές που έχουν ήδη εγκαταστήσει την beta έκδοση μπορούν να συνεχίσουν να τη χρησιμοποιούν για 30 ημέρες μετά τη δημοσίευση της έκδοσης, μετά τις οποίες η εφαρμογή σταματά να ανοίγει. Βεβαιωθείτε ότι οι δοκιμαστές έχουν ενημερωθεί στην έκδοση App Store.

Συχνές Ερωτήσεις

Πόσο κοστίζει το TestFlight για τον προγραμματιστή;

TestFlight είναι εντελώς δωρεάν για τους συμμετέχοντες στο Apple Developer Program (99 USD/έτος). Για τη χρήση της υπηρεσίας δεν χρεώνεται πρόσθετο τέλος, ανεξάρτητα από τον αριθμό builds και δοκιμαστών. Πληρώνετε μόνο για τη συνδρομή προγραμματιστή Apple — το TestFlight περιλαμβάνεται σε αυτήν από προεπιλογή.

Μπορεί να χρησιμοποιηθεί το TestFlight για εφαρμογές Android;

Όχι, το TestFlight είναι αποκλειστική υπηρεσία του οικοσυστήματος Apple. Για Android υπάρχει παρόμοιο εργαλείο στο Google Play Console — τα track Internal Testing και Open Testing. Για δημοσίευση beta εκδόσεων σε Android χρησιμοποιούνται επίσης τα Firebase App Distribution και DeployGate.

Πόσο διαρκεί η επεξεργασία ενός build στο TestFlight;

Η επεξεργασία διαρκεί από 15 λεπτά έως 2 ώρες για το πρώτο build μετά το ανέβασμα. Τα επόμενα builds επεξεργάζονται ταχύτερα — συνήθως 15–30 λεπτά. Ο χρόνος επεξεργασίας εξαρτάται από το φόρτο των διακομιστών Apple. Η κατάσταση μπορεί να παρακολουθηθεί στο App Store Connect στην ενότητα Activity.

Υπάρχει όριο στον αριθμό builds στο TestFlight;

Κάθε build είναι διαθέσιμο για δοκιμή για 90 ημέρες από τη στιγμή ανεβάσματος. Ο αριθμός builds δεν είναι περιορισμένος, αλλά δεν μπορούν να είναι ενεργά περισσότερα από 30 builds ταυτόχρονα. Τα παλαιότερα builds διαγράφονται αυτόματα μετά τη λήξη ή όταν επιτευχθεί το όριο.

Πώς να προσκαλέσω δοκιμαστή χωρίς Apple ID;

Για συμμετοχή σε δοκιμές μέσω TestFlight απαιτείται Apple ID. Οι εξωτερικοί δοκιμαστές προσκαλούνται μέσω συνδέσμου email — κατά το πρώτο άνοιγμα του συνδέσμου, το σύστημα θα προτείνει τη δημιουργία Apple ID αν δεν υπάρχει ήδη. Δημόσιος σύνδεσμος είναι επίσης διαθέσιμος για διανομή σε κοινωνικά δίκτυα ή ιστολόγιο.

Περίληψη

  • TestFlight — επίσημη υπηρεσία Apple για δοκιμές beta, δωρεάν για συμμετέχοντες στο Apple Developer Program
  • Έως 10.000 εξωτερικοί και 100 εσωτερικοί δοκιμαστές χωρίς συλλογή UDID και μη αυτόματη διαμόρφωση συσκευών
  • Αυτόματη συλλογή αρχείων καταγραφής σφαλμάτων, σχολίων και διαγνωστικών δεδομένων μέσω εφαρμογής TestFlight
  • Ανέβασμα builds δυνατό μέσω Xcode, Application Loader, xcrun altool και Fastlane
  • Το ίδιο build από το TestFlight αποστέλλεται για αξιολόγηση στο App Store — η διαφορά μεταξύ δοκιμασμένης και εκδοθείσας έκδοσης εξαλείφεται
  • 90 ημέρες — περίοδος διαθεσιμότητας build για δοκιμή, έως 30 ενεργά builds ταυτόχρονα
  • Σύσταση: ρυθμίστε αυτόματο ανέβασμα builds στο TestFlight μέσω Fastlane και CI/CD για τακτική δοκιμή κάθε μεταγλώττισης

Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση

Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.

Συζήτηση έργου

Διαβάστε επίσης