iOS UIActivity Sharing
iOS Διαμοιρασμός UIActivity
Απλοποιημένος Διαμοιρασμός UIActivity
Από το iOS 6 και μετά, οι εφαρμογές τρίτων μπορούν να διαμοιράζονται δεδομένα όπως κείμενο, URL ή εικόνες χρησιμοποιώντας μηχανισμούς όπως το AirDrop, όπως περιγράφεται στον οδηγό επικοινωνίας μεταξύ εφαρμογών της Apple. Αυτή η δυνατότητα εμφανίζεται μέσω ενός φύλλου δραστηριοτήτων κοινής χρήσης που εμφανίζεται όταν αλληλεπιδράμετε με το κουμπί "Κοινή χρήση".
Μια περιεκτική απαρίθμηση όλων των ενσωματωμένων επιλογών κοινής χρήσης είναι διαθέσιμη στο UIActivity.ActivityType. Οι προγραμματιστές μπορούν να επιλέξουν να αποκλείσουν συγκεκριμένες επιλογές κοινής χρήσης εάν τις θεωρούν ακατάλληλες για την εφαρμογή τους.
Πώς να Διαμοιραστείτε Δεδομένα
Η διαμοιρασμός διευκολύνεται μέσω της δημιουργίας ενός UIActivityViewController
, στο οποίο περνιούνται τα στοιχεία που προορίζονται για κοινή χρήση. Αυτό επιτυγχάνεται καλώντας:
Οι προγραμματιστές πρέπει να εξετάσουν προσεκτικά το UIActivityViewController
για τις δραστηριότητες και τις προσαρμοσμένες δραστηριότητες που έχει αρχικοποιηθεί με αυτές, καθώς και οποιεσδήποτε καθορισμένες excludedActivityTypes
.
Πώς να λάβετε Δεδομένα
Τα ακόλουθα στοιχεία είναι κρίσιμα κατά τη λήψη δεδομένων:
Η δήλωση προσαρμοσμένων τύπων εγγράφων.
Η καθορισμός τύπων εγγράφων που μπορεί να ανοίξει η εφαρμογή.
Ο έλεγχος της ακεραιότητας των ληφθέντων δεδομένων.
Χωρίς πρόσβαση στον πηγαίο κώδικα, μπορεί κανείς να επιθεωρήσει το Info.plist
για κλειδιά όπως UTExportedTypeDeclarations
, UTImportedTypeDeclarations
και CFBundleDocumentTypes
για να κατανοήσει τους τύπους εγγράφων που μπορεί να χειριστεί μια εφαρμογή και να δηλώσει.
Ένας συνοπτικός οδηγός για αυτά τα κλειδιά είναι διαθέσιμος στο Stackoverflow, τονίζοντας τη σημασία του καθορισμού και της εισαγωγής UTIs για την αναγνώριση σε επίπεδο συστήματος και τη συσχέτιση τύπων εγγράφων με την εφαρμογή σας για ολοκλήρωση στο διάλογο "Ανοίξτε με".
Δυναμική Προσέγγιση Δοκιμής
Για να δοκιμάσετε την αποστολή δραστηριοτήτων, μπορείτε:
Να συνδέσετε τη μέθοδο
init(activityItems:applicationActivities:)
για να καταγράψετε τα στοιχεία και τις δραστηριότητες που κοινοποιούνται.Να ανιχνεύσετε αποκλεισμένες δραστηριότητες παρεμβαίνοντας στην ιδιότητα
excludedActivityTypes
.
Για τη λήψη στοιχείων, περιλαμβάνει:
Την κοινοποίηση ενός αρχείου με την εφαρμογή από άλλη πηγή (π.χ. AirDrop, email) που εμφανίζει τον διάλογο "Ανοίξτε με...".
Τη σύνδεση της μεθόδου
application:openURL:options:
μεταξύ άλλων μεθόδων που ανιχνεύονται κατά τη στατική ανάλυση για να παρατηρήσετε την αντίδραση της εφαρμογής.Τη χρήση ακατάλληλων αρχείων ή τεχνικών fuzzing για να αξιολογήσετε την ανθεκτικότητα της εφαρμογής.
Αναφορές
Last updated