iOS UIActivity Sharing
Deljenje UI aktivnosti na iOS-u
Deljenje UI aktivnosti pojednostavljeno
Od iOS 6 nadalje, treće strane aplikacije su omogućene da deljenje podataka kao što su tekst, URL-ovi ili slike koriste mehanizme poput AirDrop-a, kako je opisano u Apple-ovom Vodiču za međuaplikacijsku komunikaciju. Ova funkcionalnost se manifestuje kroz sistemski deljeni list aktivnosti koji se prikazuje prilikom interakcije sa dugmetom "Deljenje".
Potpuni pregled svih ugrađenih opcija za deljenje dostupan je na UIActivity.ActivityType. Razvijači mogu izabrati da isključe određene opcije za deljenje ako smatraju da nisu pogodne za njihovu aplikaciju.
Kako deliti podatke
Pažnja treba biti usmerena na:
Prirodu podataka koji se dele.
Uključivanje prilagođenih aktivnosti.
Isključivanje određenih tipova aktivnosti.
Deljenje se olakšava putem instanciranja UIActivityViewController
-a, kojem se prosleđuju stavke namenjene za deljenje. To se postiže pozivanjem:
Razvojni programeri bi trebali pažljivo pregledati UIActivityViewController
za aktivnosti i prilagođene aktivnosti s kojima je inicijaliziran, kao i za bilo koje navedene excludedActivityTypes
.
Kako primiti podatke
Sljedeći aspekti su ključni prilikom primanja podataka:
Deklaracija prilagođenih vrsta dokumenata.
Specifikacija vrsta dokumenata koje aplikacija može otvoriti.
Verifikacija integriteta primljenih podataka.
Bez pristupa izvornom kodu, ipak je moguće pregledati Info.plist
za ključeve poput UTExportedTypeDeclarations
, UTImportedTypeDeclarations
i CFBundleDocumentTypes
kako bi se razumjeli tipovi dokumenata koje aplikacija može obraditi i deklarirati.
Kratki vodič o ovim ključevima dostupan je na Stackoverflow, koji ističe važnost definiranja i uvoza UTI-ova za prepoznavanje na razini sustava i povezivanje vrsta dokumenata s vašom aplikacijom za integraciju u dijalog "Otvori s".
Pristup dinamičkom testiranju
Za testiranje slanja aktivnosti, moguće je:
Povezati se s metodom
init(activityItems:applicationActivities:)
kako bi se uhvatili predmeti i aktivnosti koje se dijele.Identificirati isključene aktivnosti presretanjem svojstva
excludedActivityTypes
.
Za primanje predmeta, uključuje:
Dijeljenje datoteke s aplikacijom s druge izvore (npr. AirDrop, e-pošta) koja pokreće dijalog "Otvori s...".
Povezivanje
application:openURL:options:
i drugih identificiranih metoda tijekom statičke analize kako bi se promatrala reakcija aplikacije.Upotreba neispravnih datoteka ili tehnika ispitivanja otpornosti aplikacije kako bi se procijenila njena robusnost.
Reference
Last updated