iOS UIActivity Sharing
iOS UIActivity Sharing
UIActivity Sharing Simplified
З iOS 6 і пізніше, сторонні додатки можуть поділитися даними такими як текст, URL-адреси або зображення за допомогою механізмів, таких як AirDrop, як описано в керівництві з міждодаткового зв'язку від Apple. Ця функція виявляється через системно широко використовуваний аркуш активності для обміну, який з'являється при взаємодії з кнопкою "Поділитися".
Повний перелік всіх вбудованих опцій обміну доступний за посиланням UIActivity.ActivityType. Розробники можуть виключити певні опції обміну, якщо вони вважають їх непридатними для свого додатку.
Як поділитися даними
Увага повинна бути зосереджена на:
Характері даних, які обмінюються.
Включенні власних активностей.
Виключенні певних типів активностей.
Обмін здійснюється за допомогою створення UIActivityViewController
, до якого передаються елементи, призначені для обміну. Це досягається за допомогою виклику:
Розробники повинні ретельно перевірити UIActivityViewController
для дій та власних дій, з якими він ініціалізується, а також будь-які вказані excludedActivityTypes
.
Як отримати дані
Наступні аспекти є критичними при отриманні даних:
Оголошення власних типів документів.
Вказівка типів документів, які додаток може відкривати.
Перевірка цілісності отриманих даних.
Без доступу до вихідного коду можна все ще перевірити Info.plist
на ключі, такі як UTExportedTypeDeclarations
, UTImportedTypeDeclarations
та CFBundleDocumentTypes
, щоб зрозуміти типи документів, які додаток може обробляти та оголошувати.
Короткий посібник з цими ключами доступний на Stackoverflow, підкреслюючи важливість визначення та імпортування UTIs для системного визнання та асоціювання типів документів з вашим додатком для інтеграції в діалог "Відкрити за допомогою".
Динамічний підхід до тестування
Для тестування відправлення дій можна:
Підключитися до методу
init(activityItems:applicationActivities:)
, щоб захопити елементи та дії, які діляться.Визначити виключені дії, перехоплюючи властивість
excludedActivityTypes
.
Для отримання елементів це включає:
Поділитися файлом з додатком з іншого джерела (наприклад, AirDrop, електронна пошта), що викликає діалог "Відкрити за допомогою...".
Підключення
application:openURL:options:
серед інших методів, виявлених під час статичного аналізу, для спостереження реакції додатка.Використання пошкоджених файлів або технік розгублення для оцінки стійкості додатка.
Посилання
Last updated