Práce s nároky v Xamarin.iOS

Nároky jsou speciální funkce aplikací a oprávnění zabezpečení udělená aplikacím, které jsou správně nakonfigurované tak, aby je používaly.

V iOSu běží aplikace v sandboxu, které poskytují sadu pravidel, která omezují přístup mezi aplikací a určitými systémovými prostředky nebo uživatelskými daty. Nároky se používají k vyžádání toho, aby systém rozbalil sandbox, aby vaší aplikaci poskytl další možnosti.

Pokud chcete rozšířit možnosti aplikace, musí být nárok poskytnut v souboru Entitlements.plist vaší aplikace. Dají se rozšířit jenom některé funkce a ty jsou uvedené v průvodci Práce s funkcemi a jsou popsané níže. Nároky se předávají systému jako pár klíč/hodnota a obecně se vyžaduje pouze jeden pro jednotlivé funkce. Konkrétní klíče a hodnoty jsou popsány v části Odkaz na klíč nároku dále v tomto průvodci. Visual Studio pro Mac a Visual Studio poskytují jasné rozhraní pro přidávání nároků v aplikaci Xamarin.iOS prostřednictvím editoru Entitlements.plist. Tato příručka představuje editor Entitlements.plist a jeho použití. Poskytuje také odkaz na všechna oprávnění, která je možné přidat do projektu iOS pro každou funkci.

Nároky a zřizování

Soubor Entitlements.plist slouží k určení nároků a slouží k podepsání sady aplikací.

K zajištění správného podepsání kódu aplikace se ale vyžaduje další zřizování. Použitý profil zřizování musí obsahovat ID aplikace, které má povolenou požadovanou schopnost. Informace o tom, jak to udělat, najdete v příručce Práce s funkcemi .

Důležité

Soubor Entitlements.plist pomáhá vyplnit správné vlastnosti aplikace pomocí funkcí, ale nemůže vygenerovat zřizovací profil, protože není propojený s účtem vývojáře Apple. K nasazení a distribuci aplikace budete muset pomocí portálu pro vývojáře vygenerovat zřizovací profil.

Nastavení nároků v projektu Xamarin.iOS

Kromě výběru a konfigurace požadovaných aplikačních služeb při definování ID aplikace musí být nároky také nakonfigurovány v projektu Xamarin.iOS úpravou souborů Info.plist a Entitlements.plist .

Pokud chcete nakonfigurovat oprávnění v Visual Studio pro Mac, postupujte takto:

  1. Na panelu Řešení poklikejte na soubor Info.plist a otevřete ho.

  2. V části Identita vyplňte název aplikace a zadejte identifikátor sady, který byl vytvořen při definování ID aplikace:

    Enter a Bundle Identifier

  3. Uložte změny do souboru Info.plist .

  4. Na panelu Řešení poklikejte na soubor Entitlements.plist a otevřete ho pro úpravy:

    Editing the Entitlements

  5. Vyberte a nakonfigurujte všechna oprávnění požadovaná pro aplikaci Xamarin.iOS tak, aby odpovídala nastavení definovanému při vytvoření ID aplikace.

  6. Uložte změny do souboru Entitlements.plist .

Přidání nového souboru Entitlements.plist

Nároky se přidají do aplikace prostřednictvím souboru Entitlements.plist. Tento soubor je ve výchozím nastavení součástí projektů Xamarin.iOS, ale ve starších projektech může chybět.

Pokud chcete do Xamarin.iOS přidat soubor Entitlements.plist, postupujte takto:

  1. Klikněte pravým tlačítkem myši na soubor projektu a přejděte na Přidat > nový soubor...:

    Add Files context menu

  2. V dialogovém okně Nový soubor vyberte seznam vlastností iOS > a pojmenujte ho Nároky:

    New File dialog

Referenční informace ke klíči nároku

Klíče nároků lze přidat prostřednictvím panelu Zdroj editoru Entitlements.plist. Požadované klíče se obvykle přidají při použití editoru Entitlements.plist, ale jsou uvedeny níže pro referenci.

Peněženka

  • Popis: Formálně označovaná jako Passbook, peněženka je aplikace, která ukládá a spravuje průchody. Tyto průchody můžou být kreditní karty, platební karty, karty na palubě nebo lístky.

    • Identifikátor předávacího typu
      • Klíče: com.apple.developer.pass-type-identifiers
      • Řetězec: $(TeamIdentifierPrefix)*
  • Poznámky:

    • To umožní aplikaci povolit všechny typy průchodů. Pokud chcete aplikaci omezit a povolit jenom podmnožinu typů passů týmu, nastavte hodnotu řetězce na: $(TeamIdentifierPrefix)pass.$(CFBundleIdentifier)

    Where pass.$(CFBundleIdentifier) je ID pass, které bylo vytvořeno výše.

iCloud

  • Popis: iCloud poskytuje uživatelům iOS pohodlný a jednoduchý způsob, jak ukládat svůj obsah a sdílet ho mezi zařízeními. Existují čtyři způsoby, jak můžou vývojáři pomocí iCloudu poskytnout prostředky úložiště pro své uživatele: úložiště klíč-hodnota, UIDocument Storage, CoreData a použití CloudKitu přímo k poskytování úložiště pro jednotlivé soubory a adresáře. Další informace o těchto možnostech najdete v příručce Úvod do iCloudu.

    • Dokumenty iCloudu a CloudKit
      • Klíče: com.apple.developer.ubiquity-container-identifiers
      • Řetězec: $(TeamIdentifierPrefix)$(CFBundleIdentifier)
    • Úložiště iCloud KeyValue
      • Klíč: com.apple.developer.ubiquity-kvstore-identifier
      • Řetězec: $(TeamIdentifierPrefix)$(CFBundleIdentifier)
  • Poznámky:

    • Řetězec $(TeamIdentifierPrefix) se může nacházet tak, že se přihlásíte k developer.apple.com a navštívíte > Centrum > členů Souhrn účtu pro vývojáře, abyste získali ID vašeho týmu (nebo INDIVIDUÁLNÍ ID pro jednotlivé vývojáře). Bude to řetězec 10 znaků (například A93A5CM278).
    • Řetězec $(CFBundleIdentifier) začíná iCloud a je nastaven, když je kontejner iCloud označený podle kroků v průvodci Práce s funkcemi .
    • Můžete použít $(TeamIdentifierPrefix) a $(CFBundleIdentifier) zástupné symboly a nahradí se správnými hodnotami v době sestavení.

Důležité

Apple poskytuje nástroje , které vývojářům pomáhají správně zvládnout obecné nařízení Evropské unie o ochraně osobních údajů (GDPR).

Skupiny aplikací

  • Popis: Skupina aplikací umožňuje různým aplikacím (nebo aplikacím a jeho rozšířením) přístup k umístění sdíleného úložiště souborů.

    • Klíč: com.apple.security.application-groups
    • Řetězec: group.$(CFBundleIdentifier)

Apple Pay

  • Popis: Apple pay umožňuje uživatelům platit za fyzické zboží prostřednictvím zařízení s iOSem.
    • Klíč: com.apple.developer.in-app-payments
    • Řetězec: merchant.your.mechantid

Nabízená oznámení

  • Klíč: aps-environment
  • Řetězec: development nebo production

Siri

  • Popis: SiriKit umožňuje aplikaci pro iOS poskytovat služby, které jsou přístupné siri a aplikaci Mapy na zařízení s iOSem pomocí rozšíření aplikací a nových architektur uživatelského rozhraní Intents and Intents. Další informace najdete v průvodci Úvodem do SiriKitu.
    • Klíč: com.apple.developer.siri

Osobní VPN

  • Klíč: com.apple.developer.networking.vpn.api
  • Řetězec: allow-vpn

Sdílení řetězce klíčů

  • Popis: Sdílení řetězce klíčů umožňuje vývojářům aplikací sdílet hesla uložená v klíčence zařízení s jinými aplikacemi vyvinutými stejným týmem. Přístup lze omezit předáním identifikátoru přístupové skupiny řetězce řetězce klíčů.
    • Klíč: řetězce klíčů – přístupové skupiny
    • Řetězec: $(AppIdentifierPrefix) $(CFBundleIdentifier)

Zvuk mezi aplikacemi

  • Popis: Zvuk mezi aplikacemi umožňuje vývojářům streamovat zvuk mezi aplikacemi.
    • Klíč: inter-app-audio
    • Logická hodnota: ANO

Přidružené domény

  • Popis: Přidružené domény, které by se měly zpracovávat jako univerzální odkazy, by se měly předat s tímto nárokem. Univerzální odkazy je možné implementovat tak, aby umožňovaly přímé propojení mezi vaší aplikací a webem. Měli byste zadat položku pro každou doménu, kterou vaše aplikace podporuje, a každá položka by měla začínat applinks:
    • Klíč: com.apple.developer.associated-domains
    • Řetězec: webcredentials:example.com

Ochrana dat

  • Popis: Povolení ochrany dat používá integrovaný šifrovací hardware k ukládání citlivých dat používaných v aplikaci v šifrovaných formátech. Ve výchozím nastavení je úroveň ochrany nastavená na úplnou ochranu (soubory jsou přístupné jenom v případě, že je zařízení odemknuté).
    • Klíč: com.apple.developer.default-data-protection
    • Řetězec: NSFileProtectionComplete

HomeKit

  • Popis: Architektura HomeKit poskytuje platformu pro nastavení, konfiguraci a správu podporovaných zařízení pro automatizaci domů – to vše ze zařízení s iOSem. Další informace o používání HomeKitu najdete v příručce Úvod k HomeKitu.
    • Klíč: com.apple.developer.homekit
    • Logická hodnota: ANO

HealthKit

  • Popis: HealthKit je architektura představená v iOSu 8, která poskytuje centralizované, koordinované a zabezpečené úložiště dat pro informace související se stavem. Další informace o používání Sady HealthKit najdete v průvodci úvodem do HealthKitu.
    • Klíč: com.apple.developer.healthkit
    • Logická hodnota: ANO

Konfigurace bezdrátového příslušenství

  • Popis: Použití konfigurace bezdrátového příslušenství umožňuje vaší aplikaci konfigurovat příslušenství MFi Wi-Fi
    • Klíč: com.apple.external-accessory.wireless-configuration
    • Logická hodnota: ANO

ClassKit

  • Popis: ClassKit umožňuje učitelům zobrazit průběh studentů při přiřazených aktivitách ve vaší aplikaci.
    • Klíč: com.apple.developer.ClassKit-environment
    • Řetězec: development nebo production

Shrnutí

Tato příručka zavedla nároky a způsob jejich použití v Visual Studio pro Mac a v sadě Visual Studio. Poskytuje také odkaz na páry klíč/hodnota pro každou funkci.