Δημιουργία εφαρμογής iOS με AI: παγίδες και έλεγχοι
Από Mehdi Azizi
Ενημερώθηκε στις , 9 λ.
Claude, ChatGPT και Cursor γράφουν γρήγορα κώδικα iOS. Υπογραφή, συνδρομές, έλεγχος Apple, πραγματικό iPhone: τι χάνουν και πώς τα ελέγχεις.
Δημιουργία εφαρμογής iOS με AI: η σύντομη απάντηση
Ναι, μπορείς να φτιάξεις εφαρμογή iOS με AI ακόμα κι αν είσαι αρχάριος. Αυτός ο τρόπος δουλειάς έχει όνομα: vibe coding. Το Claude, το ChatGPT ή το Cursor γράφουν πολύ καλά τις οθόνες, την πλοήγηση, την απλή λογική και τις κλήσεις σε βάση δεδομένων. Αυτό που κάνουν άσχημα είναι ό,τι συμβαίνει έξω από τον κώδικα: την υπογραφή της εφαρμογής, τη ρύθμιση του App Store Connect, τις συνδρομές, τον έλεγχο της Apple και τα crash που εμφανίζονται μόνο σε πραγματικό iPhone.
Με άλλα λόγια, το AI σού γλιτώνει εβδομάδες στο πιο ορατό κομμάτι της δουλειάς και σε αφήνει μόνο σου στο κομμάτι που αποφασίζει αν η εφαρμογή σου θα βγει ποτέ. Αυτός ο οδηγός σού δείχνει πού είναι το όριο, πώς να καθοδηγείς το AI ώστε να μένει χρήσιμο και πώς να ελέγχεις αυτό που παράγει πριν το κάνει η Apple ή οι χρήστες σου για λογαριασμό σου.
Γράφω τις δικές μου εφαρμογές iOS με Claude και Cursor, κάθε μέρα. Το Solys, ένα ξυπνητήρι με mini-games, και το TradaZen, ένας προσομοιωτής trading, είναι στο App Store. Το Nolera και το Clic απορρίφθηκαν από την Apple και μετά διορθώθηκαν. Όλα όσα ακολουθούν βγαίνουν από αυτή τη δουλειά, όχι από ένα demo. Αν ακόμα διστάζεις για το εργαλείο, συγκρίνω Claude Code, Cursor και ChatGPT για εφαρμογή iPhone σε ξεχωριστό οδηγό.
Τι κάνει πραγματικά καλά το AI
Οι οθόνες και η πλοήγηση
Περίγραψε μια οθόνη με ακρίβεια (τι δείχνει, τι κάνει κάθε κουμπί, τι γίνεται όταν η λίστα είναι άδεια) και το AI σού δίνει ένα καθαρό component σε λίγα δευτερόλεπτα. Εδώ το κέρδος είναι το πιο εντυπωσιακό, ειδικά με React Native και Expo, γιατί το AI έχει δει τεράστιο όγκο τέτοιου κώδικα. Αυτό είναι άλλωστε το stack που χρησιμοποιώ σε όλες μου τις εφαρμογές, και εξηγώ γιατί στη σελίδα React Native και Expo για εφαρμογή κινητού.
Η απλή επιχειρησιακή λογική
Υπολογισμός σκορ, ταξινόμηση λίστας, μορφοποίηση ημερομηνίας, επικύρωση φόρμας: το AI τα κάνει γρήγορα και αρκετά καλά, αρκεί να του δώσεις τις οριακές περιπτώσεις. Μια άδεια λίστα, ένα πολύ μεγάλο πεδίο, μια ημερομηνία σε άλλη ζώνη ώρας. Αν δεν τις αναφέρεις, δεν θα τις χειρίζεται πάντα.
Να σου εξηγεί ό,τι δεν καταλαβαίνεις
Είναι η πιο υποτιμημένη χρήση. Επικόλλησε ένα μήνυμα σφάλματος, ένα κομμάτι ρυθμίσεων ή μια απόρριψη της Apple και ζήτα «εξήγησέ μου τι σημαίνει αυτό, χωρίς να διορθώσεις τίποτα». Μαθαίνεις πιο γρήγορα απ' ό,τι διαβάζοντας ένα tutorial, γιατί η εξήγηση αφορά το δικό σου project.
Η σύνδεση ενός backend
Δημιουργία πινάκων στο Supabase, μια συνάρτηση που διαβάζει τα δεδομένα του συνδεδεμένου χρήστη, διαχείριση της κατάστασης φόρτωσης: το AI ξέρει καλά αυτά τα εργαλεία. Απλώς πρόσεχε την ασφάλεια, θα το δούμε παρακάτω.
Τι χάνει το AI όταν φτιάχνεις εφαρμογή iOS
Αυτό είναι το κομμάτι που κανείς δεν σου δείχνει στα βίντεο «έφτιαξα μια εφαρμογή σε ένα Σαββατοκύριακο». Κάθε ένα από αυτά τα σημεία μπορεί να μπλοκάρει τη δημοσίευσή σου για μέρες, χωρίς να μετράμε τους αυτόματους ελέγχους κατά την αποστολή, όπως το ITMS-90338 για τα μη δημόσια API.
Η υπογραφή και τα πιστοποιητικά
Για να τρέξει σε iPhone και να μπει στο App Store, η εφαρμογή σου πρέπει να είναι υπογεγραμμένη με ένα πιστοποιητικό και ένα provisioning profile συνδεδεμένα με τον λογαριασμό σου στο Apple Developer. Το AI μπορεί να σου εξηγήσει την αρχή, αλλά δεν ξέρει τον λογαριασμό σου χωρίς εξουσιοδοτημένη πρόσβαση. Μερικές φορές επινοεί βήματα που δεν υπάρχουν πια ή μπερδεύει τη μέθοδο του Xcode με τη μέθοδο του Expo, κάτι που μπορεί να καταλήξει σε ITMS-90034 κατά την αποστολή. Με το EAS Build, το εργαλείο δημιουργεί και οργανώνει αυτά τα αρχεία για σένα, μαζί με το push key: άφησέ το να το κάνει αντί να ακολουθείς μια διαδικασία που μαντεύτηκε.
Η ρύθμιση του App Store Connect
Η σελίδα της εφαρμογής, το bundle identifier, οι δηλώσεις απορρήτου, η ερώτηση για την κρυπτογράφηση, τα screenshots, οι σύνδεσμοι προς τους όρους χρήσης: όλα αυτά πρέπει να αντιστοιχούν στην έκδοση που υποβάλλεις. Ορισμένοι agents μπορούν να δρουν μέσα σε έναν συνδεδεμένο browser, όπως το Claude Code με Chrome. Αυτή η πρόσβαση πρέπει να είναι εξουσιοδοτημένη και το αποτέλεσμα να ελέγχεται. Μια διαδικασία που απαγγέλλεται χωρίς να διαβαστεί το τρέχον interface μπορεί να είναι ξεπερασμένη.
Οι συνδρομές
Εδώ το AI σού τρώει τον περισσότερο χρόνο. Ο κώδικας ενός paywall είναι εύκολος. Το δύσκολο είναι η συνέπεια ανάμεσα σε τρία σημεία: τα προϊόντα που δημιουργήθηκαν στο App Store Connect, τη ρύθμισή τους στο RevenueCat και τον κώδικα που τα εμφανίζει. Ένα identifier που διαφέρει κατά έναν χαρακτήρα, ένα προϊόν που δεν έχει σταλεί ακόμα για έλεγχο μαζί με την έκδοση, και το paywall σου εμφανίζεται άδειο στον reviewer. Το AI μπορεί να διαβάσει αυτές τις κονσόλες αν του δώσεις κατάλληλη πρόσβαση. Χωρίς αυτήν, δεν μπορεί να ελέγξει αν συμφωνούν με τον κώδικα. Όλη η δουλειά αναλύεται στη σελίδα in-app συνδρομές iOS.
Ο έλεγχος της Apple
Το AI ξέρει τις γενικές γραμμές των App Review Guidelines, αλλά δεν ξέρει να κοιτάξει την εφαρμογή σου με τα μάτια ενός reviewer. Δεν θα σου πει αυθόρμητα ότι μια υποχρεωτική οθόνη κόβεται σε μικρό iPhone, ότι ένα αίτημα αξιολόγησης εμφανίζεται πολύ νωρίς, ότι λείπει ένας demo λογαριασμός από τα review notes ή ότι η εφαρμογή σου μοιάζει πολύ με website για τη guideline 4.2. Τα δύο πρώτα είναι απορρίψεις που έφαγα στ' αλήθεια στο Solys, και τις περιγράφω στο γιατί η Apple απορρίπτει μια εφαρμογή.
Τα crash σε πραγματικό iPhone
Ο simulator και η development εφαρμογή συγχωρούν πολλά. Ένα πραγματικό iPhone, σε production, όχι. Ένα native module που λείπει από το build, ένα permission χωρίς κείμενο εξήγησης, μια ανάγνωση δεδομένων πολύ νωρίς στην εκκίνηση: η εφαρμογή ανοίγει και κλείνει αμέσως, χωρίς μήνυμα. Ένας agent μπορεί να τρέξει tests ή να αναλύσει screenshots, αλλά μόνο αν το σύστημα ελέγχου το επιτρέπει. Ένα αποτέλεσμα στον simulator δεν επικυρώνει από μόνο του το binary που είναι εγκατεστημένο στο iPhone σου. Εσύ πρέπει να εγκαταστήσεις την εφαρμογή στο κινητό σου πριν από κάθε αποστολή, και το TestFlight υπάρχει γι' αυτό.
Το AI γράφει κώδικα που φαίνεται σωστός. Μόνο ένα τεστ στο iPhone σου σού λέει αν είναι.
Πώς να καθοδηγείς το AI ώστε να μένει χρήσιμο
Το πρόβλημα σχεδόν ποτέ δεν είναι η ευφυΐα του μοντέλου. Είναι αυτό που του δίνεις να διαβάσει.
Δώσ' του το context σου, μία φορά για πάντα
Γράψε ένα σύντομο αρχείο στη ρίζα του project που περιγράφει το stack σου (Expo, την έκδοση του SDK, Supabase, RevenueCat), τη δομή των φακέλων και τους κανόνες σου. Το Claude Code διαβάζει ένα αρχείο CLAUDE.md, το Cursor έχει τα δικά του αρχεία κανόνων. Χωρίς αυτό το context, το AI μαντεύει, και συχνά μαντεύει άλλο stack από το δικό σου. Το tutorial μου για να φτιάξεις εφαρμογή με το Claude Code δίνει ένα πλήρες παράδειγμα αυτού του αρχείου.
Σπάσε τη δουλειά σε μικρά tasks
Το «φτιάξε μου μια εφαρμογή παρακολούθησης συνηθειών με συνδρομή» βγάζει ένα τεράστιο και εύθραυστο project. Το «φτιάξε την οθόνη που δείχνει τις συνήθειες της ημέρας, με κατάσταση άδειας λίστας και κατάσταση φόρτωσης» βγάζει μια οθόνη που μπορείς να ξαναδιαβάσεις και να τεστάρεις σε πέντε λεπτά. Ένα task, ένα αποτέλεσμα που ελέγχεται, και μετά το επόμενο.
Ζήτα πλάνο πριν από τον κώδικα
Για οτιδήποτε αγγίζει πολλά αρχεία, ξεκίνα με «πρότεινε ένα πλάνο, μη γράψεις κώδικα ακόμα». Διαβάζεις το πλάνο, διορθώνεις ό,τι δεν πάει καλά και μετά ξεκινάς. Έτσι αποφεύγεις τα απρόσμενα refactoring όπου το AI ξαναγράφει το μισό σου project για να προσθέσει ένα κουμπί.
Βάλε το να διαβάσει την ενημερωμένη τεκμηρίωση
Τα εργαλεία αλλάζουν γρήγορα: το Expo, το RevenueCat και το App Store Connect αλλάζουν τακτικά. Όταν μια απάντηση σου φαίνεται ύποπτη, επικόλλησε τη σελίδα της επίσημης τεκμηρίωσης στη συζήτηση ή χρησιμοποίησε ένα εργαλείο που του τη δίνει. Ένα AI που διαβάζει τη σημερινή τεκμηρίωση κάνει πολύ λιγότερα λάθη από ένα AI που θυμάται αυτή πριν από δύο χρόνια.
Κράτα εσύ τις αποφάσεις
Το AI προτείνει, εσύ αποφασίζεις. Η επιλογή της ιδέας, της τιμής, του τι δεν θα κάνει η εφαρμογή: αυτή είναι η δική σου δουλειά. Αν αφήσεις το AI να προσθέτει κάθε λειτουργία που προτείνει, καταλήγεις με μια εφαρμογή που κάνει δέκα πράγματα μέτρια αντί για ένα πολύ καλά. Για να οριοθετήσεις μια πρώτη έκδοση, διάβασε τη σελίδα MVP εφαρμογής iOS.
Πώς να ελέγχεις αυτό που παράγει το AI
Αυτή είναι η δεξιότητα που ξεχωρίζει όσους δημοσιεύουν από όσους μαζεύουν μισοτελειωμένα projects.
Διάβασε κάθε αλλαγή
Δεν χρειάζεται να καταλαβαίνεις τα πάντα γραμμή προς γραμμή. Πρέπει όμως να μπορείς να απαντήσεις σε τρεις ερωτήσεις: ποια αρχεία άλλαξαν, γιατί, και αν αυτό αντιστοιχεί σε ό,τι ζήτησα. Αν το AI άγγιξε ένα αρχείο άσχετο με το αίτημά σου, ρώτα το γιατί πριν το αποδεχτείς.
Τέσταρε στο iPhone σου, όχι μόνο στον υπολογιστή
Εγκατέστησε την εφαρμογή στο δικό σου κινητό όσο πιο νωρίς γίνεται και μετά σε κάθε σημαντικό βήμα. Έλεγξε την πρώτη εκκίνηση μετά την εγκατάσταση, τη λειτουργία πτήσης, μια μικρή και μια μεγάλη οθόνη, το πληκτρολόγιο ανοιχτό στις φόρμες. Αυτόν τον κανόνα εφαρμόζω πριν από κάθε αποστολή στην Apple, σε κάθε εφαρμογή μου.
Πρόσθεσε εργαλεία που βλέπουν ό,τι δεν βλέπεις
Στις εφαρμογές μου, το Sentry καταγράφει τα crash με τη γραμμή κώδικα που φταίει, και το PostHog δείχνει πού εγκαταλείπουν οι χρήστες. Χωρίς αυτά, ένα bug σε production μένει αόρατο μέχρι να πέσει μια κακή βαθμολογία. Το AI μπορεί να σε βοηθήσει να τα εγκαταστήσεις. Εσύ όμως πρέπει να κοιτάς τι σου λένε.
Πρόσεχε την ασφάλεια των δεδομένων
Όταν το AI δημιουργεί πίνακες στο Supabase, έλεγξε ότι οι κανόνες πρόσβασης (οι πολιτικές RLS) είναι ενεργοί: κάθε χρήστης πρέπει να διαβάζει μόνο τα δικά του δεδομένα. Έλεγξε επίσης ότι κανένα μυστικό κλειδί δεν καταλήγει στον κώδικα της εφαρμογής, που μπορεί να γίνει decompile. Είναι δύο λάθη που το AI κάνει εύκολα αν δεν του τα απαγορεύσεις.
Κάν' του την αντίστροφη ερώτηση
Μόλις γραφτεί ο κώδικας, ρώτα: «τι μπορεί να σπάσει εδώ;» ή «διάβασε αυτόν τον κώδικα σαν reviewer της Apple». Το ίδιο μοντέλο που έγραψε τον κώδικα συχνά βρίσκει τις δικές του παραλείψεις όταν αλλάζεις τη γωνία της ερώτησης. Δεν αντικαθιστά το τεστ σου στο iPhone, αλλά μειώνει τα πήγαινε-έλα.
Ο ρεαλιστικός δρόμος όταν ξεκινάς
- Διάλεξε μια μικροσκοπική ιδέα: μία κύρια λειτουργία, όχι δέκα.
- Στήσε ένα stack που το AI ξέρει καλά: Expo, React Native, Supabase αν χρειάζεσαι λογαριασμούς.
- Χτίσε οθόνη προς οθόνη, με ένα μικρό task ανά αίτημα και ένα τεστ σε κάθε βήμα.
- Τέσταρε στο iPhone σου με ένα development build και μετά με TestFlight.
- Σύνδεσε τα έσοδα: προϊόντα στο App Store Connect, RevenueCat, paywall.
- Ετοίμασε τον φάκελο για το App Store: σελίδα, screenshots, απόρρητο, σημειώσεις για τον reviewer.
- Στείλε στην Apple, διάβασε προσεκτικά την απάντηση, διόρθωσε ό,τι σου ζητείται.
Κάθε βήμα έχει τις παγίδες του, και το AI σε βοηθά στις μισές από αυτές. Για τη συνολική εικόνα, η σελίδα φτιάξε εφαρμογή iPhone περιγράφει όλη τη διαδρομή. Κι αν αναρωτιέσαι πόσο μακριά μπορείς να φτάσεις χωρίς να γράψεις ούτε μία γραμμή κώδικα μόνος σου, διάβασε το φτιάξε εφαρμογή χωρίς κώδικα.
Φτιάξε την εφαρμογή iOS σου με AI, μέχρι το App Store
Το AI άλλαξε το ποιος μπορεί να φτιάξει εφαρμογή iOS. Δεν άλλαξε όσα απαιτεί η Apple για να τη δημοσιεύσεις, ούτε όσα χρειάζονται για να εισπράξει τις πρώτες της συνδρομές. Αυτό το κομμάτι έβαλα στο iOS Kit: τον αρχικό κώδικα των εφαρμογών μου, μαζί με τις συνδρομές, και τα skills του Claude Code για κάθε βήμα. Η διαδρομή αναλύεται ανάλογα με το εργαλείο σου: εκπαίδευση Claude Code ή εκπαίδευση vibe coding. Η αρχική σελίδα δείχνει πώς να φτιάξεις εφαρμογή κινητού με αυτόν τον τρόπο, βήμα προς βήμα.
Δεν ξέρεις τι σε μπλοκάρει, ο κώδικας, το AI ή η Apple; Η δωρεάν διάγνωση σού το λέει και σου στέλνει τη checklist μου κατά των απορρίψεων της Apple.
Δεν σου υπόσχομαι ούτε έσοδα ούτε δημοσίευση: την έγκριση την αποφασίζει η Apple και τα υπόλοιπα η αγορά. Αυτό που σου δίνω είναι η μέθοδος που εφαρμόζω εγώ ο ίδιος στις εφαρμογές μου.
Συχνές ερωτήσεις
Μπορώ να φτιάξω εφαρμογή iOS με AI αν είμαι αρχάριος;
Ναι. Το AI γράφει πολύ καλά τις οθόνες, την πλοήγηση, την απλή λογική και τις κλήσεις σε βάση δεδομένων. Κάνει άσχημα ό,τι συμβαίνει έξω από τον κώδικα. Αυτό ισχύει για την υπογραφή, το App Store Connect, τις συνδρομές, τον έλεγχο της Apple και τα crash που φαίνονται μόνο σε πραγματικό iPhone.
Ποιο AI να χρησιμοποιήσω για να φτιάξω εφαρμογή iOS;
Το Claude, το ChatGPT ή το Cursor γράφουν πολύ καλά τις οθόνες, την πλοήγηση και την απλή λογική. Το πρόβλημα σχεδόν ποτέ δεν είναι η ευφυΐα του μοντέλου, αλλά αυτό που του δίνεις να διαβάσει. Δώσ' του το stack σου, τους κανόνες σου και την ενημερωμένη τεκμηρίωση. Συγκρίνω Claude Code, Cursor και ChatGPT για εφαρμογή iPhone σε ξεχωριστό οδηγό.
Μπορεί το ChatGPT να φτιάξει εφαρμογή;
Ναι, για το ορατό κομμάτι: το ChatGPT, όπως το Claude ή το Cursor, γράφει πολύ καλά τις οθόνες, την πλοήγηση, την απλή λογική και τις κλήσεις σε βάση δεδομένων. Δεν ξέρει όμως τον λογαριασμό σου στην Apple χωρίς εξουσιοδοτημένη πρόσβαση και δεν κοιτάζει την εφαρμογή σου με τα μάτια ενός reviewer. Μόνο ένα τεστ στο iPhone σου σού λέει αν ο κώδικας είναι σωστός.
Πώς φτιάχνω τη δική μου εφαρμογή με AI, βήμα προς βήμα;
Διάλεξε μια μικροσκοπική ιδέα, με μία μόνο κύρια λειτουργία. Στήσε ένα stack που το AI ξέρει καλά: Expo, React Native, και Supabase αν χρειάζεσαι λογαριασμούς. Χτίσε οθόνη προς οθόνη, με ένα μικρό task ανά αίτημα και ένα τεστ σε κάθε βήμα. Τέσταρε στο iPhone σου με ένα development build και μετά με TestFlight, πριν συνδέσεις τα έσοδα, ετοιμάσεις τον φάκελο για το App Store και στείλεις στην Apple.
Πώς ελέγχω τον κώδικα που γράφει το AI;
Διάβασε κάθε αλλαγή: ποια αρχεία άλλαξαν, γιατί, και αν αντιστοιχεί στο αίτημά σου. Εγκατέστησε την εφαρμογή στο δικό σου iPhone όσο πιο νωρίς γίνεται και μετά σε κάθε σημαντικό βήμα. Έλεγξε ότι οι κανόνες πρόσβασης του Supabase, οι πολιτικές RLS, είναι ενεργοί. Έλεγξε επίσης ότι κανένα μυστικό κλειδί δεν καταλήγει στον κώδικα της εφαρμογής, που μπορεί να γίνει decompile.
Γιατί ένα paywall γραμμένο από AI εμφανίζεται άδειο στον reviewer;
Ο κώδικας ενός paywall είναι εύκολος. Το πιο δύσκολο είναι η συνέπεια ανάμεσα σε τρία σημεία: τα προϊόντα του App Store Connect, τη ρύθμισή τους στο RevenueCat και τον κώδικα που τα εμφανίζει. Ένα identifier που διαφέρει κατά έναν χαρακτήρα ή ένα προϊόν που δεν έχει σταλεί ακόμα για έλεγχο αδειάζει το paywall. Χωρίς κατάλληλη πρόσβαση σε αυτές τις κονσόλες, το AI δεν μπορεί να ελέγξει αυτή τη συνέπεια.