iOS UIActivity Sharing
Udostępnianie UIActivity w systemie iOS
Proste udostępnianie UIActivity
Od wersji iOS 6 aplikacje innych firm mogą udostępniać dane, takie jak tekst, adresy URL lub obrazy, za pomocą mechanizmów takich jak AirDrop, jak opisano w przewodniku dotyczącym komunikacji między aplikacjami firmy Apple. Ta funkcja manifestuje się poprzez ogólnodostępne okno aktywności udostępniania, które pojawia się po interakcji z przyciskiem "Udostępnij".
Pełne wyliczenie wszystkich wbudowanych opcji udostępniania jest dostępne pod adresem UIActivity.ActivityType. Deweloperzy mogą zdecydować się wykluczyć określone opcje udostępniania, jeśli uważają je za nieodpowiednie dla swojej aplikacji.
Jak udostępnić dane
Należy zwrócić uwagę na:
Charakter udostępnianych danych.
Dodanie niestandardowych aktywności.
Wykluczenie określonych typów aktywności.
Udostępnianie jest ułatwione poprzez utworzenie instancji UIActivityViewController
, do której przekazywane są elementy przeznaczone do udostępnienia. Można to osiągnąć, wywołując:
Deweloperzy powinni dokładnie przeanalizować UIActivityViewController
w celu sprawdzenia aktywności i niestandardowych aktywności, z którymi jest zainicjowany, oraz wszelkich określonych excludedActivityTypes
.
Jak otrzymać dane
Następujące aspekty są kluczowe podczas odbierania danych:
Deklaracja niestandardowych typów dokumentów.
Określenie typów dokumentów, które aplikacja może otworzyć.
Weryfikacja integralności otrzymanych danych.
Bez dostępu do kodu źródłowego, można nadal sprawdzić plik Info.plist
pod kątem kluczy takich jak UTExportedTypeDeclarations
, UTImportedTypeDeclarations
i CFBundleDocumentTypes
, aby zrozumieć rodzaje dokumentów, które aplikacja może obsługiwać i deklarować.
Zwięzły przewodnik dotyczący tych kluczy jest dostępny na Stackoverflow, podkreślając znaczenie definiowania i importowania UTI dla rozpoznawania na poziomie systemu oraz łączenia typów dokumentów z aplikacją w dialogu "Otwórz za pomocą".
Dynamiczne podejście testowe
Aby przetestować wysyłanie aktywności, można:
Podłączyć się do metody
init(activityItems:applicationActivities:)
, aby przechwycić udostępniane elementy i aktywności.Zidentyfikować wykluczone aktywności, przechwytując właściwość
excludedActivityTypes
.
W przypadku odbierania elementów wymaga to:
Udostępnienia pliku aplikacji z innego źródła (np. AirDrop, e-mail), co spowoduje wyświetlenie dialogu "Otwórz za pomocą...".
Podłączenia metody
application:openURL:options:
oraz innych zidentyfikowanych metod podczas analizy statycznej, aby obserwować reakcję aplikacji.Wykorzystania uszkodzonych plików lub technik fuzzingowych w celu oceny odporności aplikacji.
Odwołania
Last updated