iOS App Extensions
Οι επεκτάσεις εφαρμογών ενισχύουν τη λειτουργικότητα των εφαρμογών επιτρέποντάς τους να αλληλεπιδρούν με άλλες εφαρμογές ή το σύστημα, παρέχοντας προσαρμοσμένες λειτουργίες ή περιεχόμενο. Αυτές οι επεκτάσεις περιλαμβάνουν:
Προσαρμοσμένο Πληκτρολόγιο: Προσφέρει ένα μοναδικό πληκτρολόγιο σε όλες τις εφαρμογές, αντικαθιστώντας το προεπιλεγμένο πληκτρολόγιο του iOS.
Κοινή χρήση: Επιτρέπει την κοινή χρήση σε κοινωνικά δίκτυα ή με άλλους απευθείας.
Σήμερα (Widgets): Παρέχει περιεχόμενο ή εκτελεί γρήγορες εργασίες από την προβολή "Σήμερα" του Κέντρου Ειδοποιήσεων.
Όταν ένας χρήστης αλληλεπιδρά με αυτές τις επεκτάσεις, όπως το να μοιράζεται κείμενο από μια εφαρμογή φιλοξενίας, η επέκταση επεξεργάζεται αυτήν την είσοδο μέσα στο πλαίσιό της, εκμεταλλευόμενη τις κοινόχρηστες πληροφορίες για να εκτελέσει την εργασία της, όπως περιγράφεται στην τεκμηρίωση της Apple.
Σκέψεις ασφαλείας
Οι βασικές ασφαλείς πτυχές περιλαμβάνουν:
Οι επεκτάσεις και οι εφαρμογές που τις περιέχουν επικοινωνούν μέσω επικοινωνίας μεταξύ διεργασιών, όχι απευθείας.
Το widget Σήμερα είναι μοναδικό στο ότι μπορεί να ζητήσει από την εφαρμογή του να ανοίξει μέσω ενός συγκεκριμένου μεθόδου.
Η πρόσβαση σε κοινόχρηστα δεδομένα επιτρέπεται μέσα σε έναν ιδιωτικό φάκελο, αλλά η απευθείας πρόσβαση είναι περιορισμένη.
Ορισμένα APIs, συμπεριλαμβανομένου του HealthKit, είναι απαγορευμένα για τις επεκτάσεις εφαρμογών, οι οποίες επίσης δεν μπορούν να ξεκινήσουν μακροχρόνιες εργασίες, να έχουν πρόσβαση στην κάμερα ή το μικρόφωνο, εκτός από τις επεκτάσεις iMessage.
Στατική Ανάλυση
Αναγνώριση Επεκτάσεων Εφαρμογών
Για να βρείτε επεκτάσεις εφαρμογών στον πηγαίο κώδικα, αναζητήστε το NSExtensionPointIdentifier
στο Xcode ή επιθεωρήστε το πακέτο της εφαρμογής για αρχεία .appex
που υποδηλώνουν επεκτάσεις. Χωρίς πηγαίο κώδικα, χρησιμοποιήστε την εντολή grep ή SSH για να εντοπίσετε αυτούς τους αναγνωριστές μέσα στο πακέτο της εφαρμογής.
Υποστηριζόμενοι Τύποι Δεδομένων
Ελέγξτε το αρχείο Info.plist
μιας επέκτασης για το NSExtensionActivationRule
για να αναγνωρίσετε τους υποστηριζόμενους τύπους δεδομένων. Αυτή η ρύθμιση εξασφαλίζει ότι μόνο συμβατοί τύποι δεδομένων ενεργοποιούν την επέκταση στις εφαρμογές φιλοξενίας.
Κοινή Χρήση Δεδομένων
Η κοινή χρήση δεδομένων μεταξύ μιας εφαρμογής και της επέκτασής της απαιτεί έναν κοινόχρηστο φάκελο
Last updated