AskCleanAskClean

Χώρος προσομοιωτών Xcode: runtime και δεδομένα συσκευών

Ομάδα AskClean · Ενημερώθηκε 2026-09-29

Ελέγξτε πρώτα τα runtime και τα δεδομένα κάθε προσομοιωτή. Αφαιρέστε μόνο όσα δεν χρειάζεστε μέσω Xcode ή simctl. Το runtime μπορεί να είναι κοινόχρηστο, αλλά κάθε συσκευή κρατά εφαρμογές και δοκιμές χωριστά. Αποθηκεύστε τις απαραίτητες καταστάσεις και μη διαγράψετε ολόκληρο το CoreSimulator.

Εννοιολογική απεικόνιση κοινού runtime με ξεχωριστά δεδομένα συσκευών
Οι συσκευές μπορεί να μοιράζονται runtime, αλλά κρατούν δικές τους εφαρμογές και δοκιμές. Εννοιολογική εικόνα, όχι στιγμιότυπο οθόνης.

Εξετάστε χωριστά runtime και δεδομένα

Το runtime είναι κοινόχρηστη εικόνα λειτουργικού συστήματος· κάθε συσκευή έχει δικές της εφαρμογές, έγγραφα, cache και καταστάσεις δοκιμών. Ξεκινήστε με xcrun simctl list devices. Το παρακάτω script μόνο διαβάζει: μετρά συνηθισμένους φακέλους ανάπτυξης και εμφανίζει καταστάσεις, χωρίς διαγραφή ή δικαιώματα διαχειριστή. Διαβάστε το πριν από την εκτέλεση. Δεν καλύπτει όλες τις θέσεις συστήματος, οπότε ελέγξτε και τα στοιχεία του Xcode.

Τα ονόματα μενού διατηρούνται στα αγγλικά. Η εμφάνισή τους μπορεί να διαφέρει ανάλογα με τη γλώσσα και την έκδοση.

Επιβεβαιώστε όλο το εύρος διαγραφής

Το xcrun simctl delete unavailable διαγράφει όλες τις συσκευές με ένδειξη unavailable και τα τοπικά δεδομένα τους. Χρησιμοποιήστε το μόνο αν μπορεί να αφαιρεθεί όλη η λίστα. Συμβατό Xcode ή επανεγκατάσταση runtime μπορεί να επαναφέρει πρόσβαση σε δεδομένα που υπάρχουν ακόμη. Εξαγάγετε πρώτα όσα χρειάζεστε· κρατήστε τη συσκευή αν σημαντική κατάσταση δεν μπορεί να αποθηκευτεί ή να αναδημιουργηθεί.

Οι διαθέσιμες συσκευές αφαιρούνται μεμονωμένα από τη διαχείριση προσομοιωτών, σε ορισμένες εκδόσεις μέσω Window > Devices and Simulators > Simulators. Η διαγραφή περιεχομένου και ρυθμίσεων διατηρεί τη συσκευή· η αφαίρεσή της διαγράφει και την εγγραφή. Καμία ενέργεια δεν μεταφέρει τα χαμένα δεδομένα στον Κάδο.

Διαχειριστείτε τα runtime μέσα από το Xcode

Ανοίξτε Xcode Settings > Components, σε ορισμένες παλαιότερες εκδόσεις Platforms. Κρατήστε συστήματα για δοκιμές και αναπαραγωγή προβλημάτων χρηστών. Χρησιμοποιήστε τη διαχείριση στοιχείων αντί να αφαιρείτε αρχεία πακέτων χειροκίνητα. Μη διαγράφετε όλο το ~/Library/Developer/CoreSimulator ή άγνωστα αρχεία cache.

Ελέγξτε χώρο και λειτουργία

Καταγράψτε μέγεθος φακέλων και ελεύθερο χώρο, καθαρίστε μία κατηγορία και επαναλάβετε την ίδια μέτρηση. Το script μορφοποιεί τιμές du· δεν μετρούν ακριβώς την αύξηση ελεύθερου χώρου. Ελέγξτε και τη λίστα runtime. Ξεκινήστε συσκευές με τα διατηρημένα runtime και εκτελέστε αντιπροσωπευτική εφαρμογή ή δοκιμή, μαζί με την απαραίτητη κατάσταση. Η επανεγκατάσταση runtime δεν επαναφέρει δεδομένα διαγραμμένης συσκευής.

Κρατήστε Archives και dSYM χωριστά

Τα Archives μπορεί να περιέχουν δημοσιευμένα builds και dSYM για ανάλυση σφαλμάτων, καθώς και υλικό για νέα εξαγωγή ή υπογραφή. Διατηρήστε όσα χρειάζονται οι υποστηριζόμενες εκδόσεις και ελέγξτε λειτουργικό αντίγραφο ασφαλείας πριν αφαιρέσετε τοπικά αντίγραφα μέσω Organizer. Στην παρούσα αναθεώρηση δεν διαγράφηκαν πραγματικές συσκευές ή runtime και δεν δίνεται υπόσχεση συγκεκριμένης εξοικονόμησης χώρου.

Τι να ελέγξετε πριν από τη διαγραφή

Ελέγξτε την πραγματική θέση, τη χρήση και τον τρόπο επαναφοράς. Ο πίνακας δεν αποτελεί λίστα αυτόματης διαγραφής ούτε υπόσχεση συγκεκριμένου ελεύθερου χώρου.

ΣτοιχείοΠού ελέγχεταιΣυνέπειες και προϋποθέσεις
Μη διαθέσιμες συσκευέςxcrun simctl list devicesΧάνονται εφαρμογές και καταστάσεις δοκιμών. Ελέγξτε πρώτα όλη τη λίστα.
Διαθέσιμες συσκευέςXcode > Devices and SimulatorsΔιαγράφει δεδομένα της επιλεγμένης συσκευής· εξαγάγετε τα απαραίτητα.
RuntimeXcode Settings > ComponentsΑφαιρεί την εικόνα συστήματος. Η επανεγκατάσταση δεν επαναφέρει δεδομένα συσκευής.
Cache CoreSimulator~/Library/Developer/CoreSimulator/CachesΕλέγξτε το μέγεθος· η χειροκίνητη διαγραφή δεν έχει ελεγχθεί εδώ.

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

Είναι ασφαλές να διαγράψω συσκευές unavailable;

Εξετάστε πρώτα την πλήρη λίστα. Η εντολή αφαιρεί όλες τις σχετικές συσκευές και δεδομένα χωρίς Κάδο. Η απουσία runtime δεν σημαίνει ότι τα δεδομένα είναι άχρηστα.

Γιατί παραμένει μεγάλη η χρήση χώρου;

Τα εγκατεστημένα runtime και οι διαθέσιμες συσκευές παραμένουν. Ελέγξτε τα χωριστά. Το DerivedData περιέχει άλλα αποτελέσματα build· η διαγραφή του δεν αφαιρεί runtime προσομοιωτών.

Πηγές