$lang['tuto'] = "návody"; ?> Ako opraviť tok povolení na fotografie v aplikácii MacOS

Ako opraviť tok povolení na fotografie v aplikácii MacOS SwiftUI

Temp mail SuperHeros
Ako opraviť tok povolení na fotografie v aplikácii MacOS SwiftUI
Ako opraviť tok povolení na fotografie v aplikácii MacOS SwiftUI

Pochopenie problému s povolením na fotografie v aplikáciách MacOS SwiftUI

Vývoj aplikácie pre MacOS, ktorá sa integruje s knižnicou fotografií, môže byť obohacujúcim, no zároveň náročným zážitkom. Ak ste vytvárali aplikáciu SwiftUI a narazili ste na problémy s tokom povolení pre Fotky, nie ste sami. Je to bežná prekážka pre vývojárov, najmä pri nastavovaní požadovaných konfigurácií nastavení ochrany osobných údajov systému. 😅

V systéme MacOS vyžaduje vyžiadanie prístupu k citlivým zdrojom, ako je knižnica fotografií, niekoľko zásadných krokov. Typický postup zahŕňa aktualizáciu súboru `Info.plist`, konfiguráciu nastavení karantény a používanie správnych rozhraní API, ako je `PHPhotoLibrary`. Aj keď sa zdá, že všetky správne prvky sú na svojom mieste, veci nie vždy fungujú podľa očakávania – napríklad keď sa aplikácia nezobrazuje v Predvoľbách systému na karte Ochrana osobných údajov. 😕

Pri práci s rozhraním SwiftUI už možno máte svoje používateľské rozhranie nastavené na vyžiadanie povolení a zobrazovanie aktualizácií stavu, ale ak sa aplikácia nezobrazuje v sekcii Fotky v nastaveniach ochrany osobných údajov a zabezpečenia, môže vás poškriabať. tvoja hlava. Poďme rozobrať koreň tohto problému a preskúmať potenciálne opravy, aby ste zabezpečili, že vaša aplikácia získa potrebný prístup hladko.

V nasledujúcich častiach si prejdeme, ako zabezpečiť, aby bola vaša aplikácia správne nakonfigurovaná na vyžiadanie povolení k fotografiám v systéme MacOS. Pokryjeme potrebné úpravy kódu, prehľad toku povolení a dokonca sa podelíme o niektoré osvedčené postupy, ktoré pomôžu vašej aplikácii správať sa podľa očakávania. Tak si dajte kávu ☕ a poďme do toho!

Príkaz Príklad použitia
PHPhotoLibrary.authorizationStatus(for:) Používa sa na kontrolu aktuálneho stavu autorizácie pre prístup do knižnice fotografií. Vracia hodnotu typu PHAuthorizationStatus, ktorá môže byť .authorized, .denied, .restricted alebo .notDetermined.
PHPhotoLibrary.requestAuthorization(for:) Požaduje autorizáciu na prístup do knižnice fotografií. Táto metóda spúšťa systémovú výzvu pre používateľa na udelenie alebo odmietnutie prístupu. Je to nevyhnutné na spracovanie súhlasu používateľa s prístupom k súkromným údajom.
PHFetchOptions Používa sa na definovanie možností pre načítanie diel z knižnice fotografií, ako je napríklad obmedzenie počtu získaných diel. V príklade obmedzuje načítanie na 1 aktívum pomocou vlastnosti fetchLimit.
PHAsset.fetchAssets(with:options:) Načíta položky (napr. fotky alebo videá) z knižnice fotiek pomocou špecifikovaných možností načítania. Je to kľúčové pre interakciu s knižnicou fotografií a získavanie médií.
DispatchQueue.main.async Používa sa na aktualizáciu používateľského rozhrania v hlavnom vlákne. Keďže žiadosti o autorizáciu sú asynchrónne, je dôležité, aby ste to použili na aktualizáciu používateľského rozhrania po dokončení žiadosti o povolenie.
@State Používa sa v SwiftUI na vytvorenie stavovej premennej, ktorá môže uchovávať a sledovať meniteľné údaje v zobrazení. Je to nevyhnutné na správu stavu autorizácie a iných dynamických hodnôt v používateľskom rozhraní aplikácie.
.onAppear Modifikátor zobrazenia SwiftUI, ktorý spustí blok kódu, keď sa zobrazenie objaví na obrazovke. Je to užitočné na spustenie kontrol autorizácie a iných akcií pri načítaní zobrazenia.
Text() Zobrazí text v zobrazení SwiftUI. Používa sa na zobrazovanie správ používateľovi, ako je stav autorizácie knižnice fotografií alebo akákoľvek súvisiaca spätná väzba.
Button() Vytvorí klepnuteľné tlačidlo v SwiftUI, ktoré po kliknutí spustí blok kódu. V príklade sa používa na spustenie akcií, ako je vyžiadanie povolení alebo načítanie knižnice fotografií.
.foregroundColor() Používa sa na zmenu farby textu v SwiftUI. Používa sa tu na vizuálne označenie stavu povolenia Fotografie (zelená pre udelenie, červená pre odmietnutie atď.).

Pochopenie toku povolení pre fotografie v aplikácii MacOS SwiftUI

V poskytnutom kóde SwiftUI sa snažíme implementovať funkciu, kde aplikácia požaduje prístup do knižnice fotografií pomocou PHPphotoLibrary API. Zahŕňa to sériu krokov, počnúc kontrolou aktuálneho stavu autorizácie po vyžiadanie povolení a nakoniec pokus o načítanie prostriedkov z knižnice fotografií. Prvým zásadným krokom v skripte je volanie PHPhotoLibrary.authorizationStatus(for:) funkciu. Táto funkcia kontroluje aktuálny stav autorizácie aplikácie pre prístup do knižnice fotografií. Výsledkom tohto volania môže byť jedna zo štyroch hodnôt: .notDetermined, .authorized, .denied alebo .restricted. Aplikácia potom použije tieto informácie na určenie, aké akcie má vykonať – či sa má zobraziť tlačidlo žiadosti o povolenie alebo sa zobrazí správa vysvetľujúca, že prístup je odmietnutý. Napríklad, ak používateľ už zamietol povolenie, aplikácia zobrazí správu s výzvou, aby prešli do System Preferences a povolili prístup manuálne.

Ďalším kľúčovým príkazom je PHPhotoLibrary.requestAuthorization(for:), ktorý slúži na vyžiadanie prístupu do knižnice Fotky. Po zavolaní tohto príkazu systém vyzve používateľa dialógovým oknom žiadosti o povolenie. Ide o asynchrónnu operáciu a keď používateľ zareaguje, aplikácia musí odpoveď primerane spracovať. V skripte používame uzávierku DispatchQueue.main.async, aby sme zabezpečili, že všetky aktualizácie používateľského rozhrania sa vyskytnú v hlavnom vlákne po tom, čo používateľ urobí svoj výber. Napríklad, ak používateľ udelí povolenie, aplikácia pokračuje v načítavaní a zobrazovaní fotografií. Bez tohto správneho zaobchádzania by sa aplikácia mohla pokúsiť aktualizovať používateľské rozhranie z vlákna na pozadí, čo by spôsobilo potenciálne zlyhania alebo nesprávne správanie. Príklad zo skutočného života: predstavte si aplikáciu ako nástroj na úpravu fotografií, ktorý musí požiadať o prístup do knižnice fotografií používateľa. Ak aplikácia správne nespravuje tok, používateľ môže byť zmätený, keď po udelení povolenia nevidí očakávaný výsledok.

Ďalšou dôležitou súčasťou kódu je použitie Možnosti PHFetch a PHAsset.fetchAssets(with:options:). Tieto príkazy sa používajú na interakciu s knižnicou fotografií a na načítanie prostriedkov (ako sú obrázky alebo videá). The Možnosti PHFetch trieda sa používa na špecifikovanie akýchkoľvek filtrov alebo obmedzení operácie načítania. Napríklad útržok kódu obmedzuje načítanie na jedno dielo s fetchLimit vlastnosť, ktorá môže byť užitočná v situáciách, keď aplikácia potrebuje na zobrazenie alebo spracovanie len malý počet položiek. Po dokončení operácie načítania aplikácia zaznamená počet získaných aktív, čo je užitočné na ladenie a zabezpečenie správneho prístupu aplikácie ku knižnici. Predstavte si scenár, v ktorom chcete zobraziť iba najnovší obrázok v aplikácii na prehliadanie fotografií. Obmedzenie počtu načítaných aktív umožňuje efektívnejšie využitie pamäte a rýchlejšie spracovanie.

Komponenty špecifické pre SwiftUI v kóde, ako napr @Štát a .onZobraziť modifikátory, zohrávajú kľúčovú úlohu pri správe stavu a spúšťaní akcií v rámci používateľského rozhrania aplikácie. The @Štát property wrapper sa používa na sledovanie stavu autorizácie a správ protokolu, čo umožňuje, aby sa používateľské rozhranie dynamicky aktualizovalo v reakcii na zmeny. The .onZobraziť modifikátor zaisťuje, že aplikácia skontroluje stav autorizácie fotografií hneď, ako sa zobrazí zobrazenie, takže používateľ pri prvom otvorení aplikácie uvidí správne informácie. Ak napríklad aplikácia zistí, že používateľ ešte neudelil povolenie, zobrazí tlačidlo „Požiadať o prístup“. Tento prístup zlepšuje používateľskú skúsenosť tým, že zabezpečuje, aby bola aplikácia vždy synchronizovaná so stavom systému. Reálnym príkladom by bola aplikácia, ktorá vyžaduje povolenie na prístup k citlivým údajom, napríklad banková aplikácia, ktorá žiada biometrické overenie pri prvom otvorení aplikácie používateľom.

Pochopenie problému povolení pre fotografie v aplikáciách MacOS SwiftUI

Režim programovania: SwiftUI a MacOS Photos Framework

import SwiftUIimport Photosstruct PhotosPermissionView: View {    @State private var authorizationStatus: PHAuthorizationStatus = .notDetermined    @State private var logMessage: String = "Waiting for user action..."    var body: some View {        VStack(spacing: 20) {            Text("Photos Permission")                .font(.largeTitle)                .padding()            if authorizationStatus == .authorized || authorizationStatus == .limited {                Text("Access to Photos Library granted!")                    .foregroundColor(.green)                Text(logMessage)                    .font(.caption)                    .foregroundColor(.gray)                Button("Fetch Photos Library") {                    fetchPhotosLibrary()                }                .buttonStyle(.borderedProminent)            } else if authorizationStatus == .denied || authorizationStatus == .restricted {                Text("Access to Photos Library denied.")                    .foregroundColor(.red)                Text("You can enable access in System Preferences.")                    .font(.caption)                    .foregroundColor(.gray)            } else {                Text("Permission to access Photos is not yet determined.")                    .foregroundColor(.orange)                Button("Request Access") {                    requestPhotosPermissionAndTriggerUI()                }                .buttonStyle(.borderedProminent)            }        }        .padding()        .onAppear {            checkPhotosAuthorizationStatus()        }    }    private func checkPhotosAuthorizationStatus() {        authorizationStatus = PHPhotoLibrary.authorizationStatus(for: .readWrite)        logMessage = "Current Photos authorization status: \(authorizationStatus.rawValue)"        print(logMessage)    }    private func requestPhotosPermissionAndTriggerUI() {        print("Requesting Photos permission...")        PHPhotoLibrary.requestAuthorization(for: .readWrite) { status in            DispatchQueue.main.async {                authorizationStatus = status                logMessage = "Authorization status after request: \(status.rawValue)"                print(logMessage)                if status == .authorized || status == .limited {                    print("Access granted. Attempting to trigger Photos UI...")                    self.fetchPhotosLibrary()                }            }        }    }    private func fetchPhotosLibrary() {        let fetchOptions = PHFetchOptions()        fetchOptions.fetchLimit = 1        let fetchResult = PHAsset.fetchAssets(with: .image, options: fetchOptions)        logMessage = "Fetched \(fetchResult.count) assets from the Photos Library."        print(logMessage)    }}

Riešenie na zobrazenie aplikácie v sekcii povolení pre fotografie

Režim programovania: SwiftUI, konfigurácia aplikácie Sandbox

import SwiftUIimport Photos// This script will help in ensuring that the app appears in the Privacy section of System Preferencesstruct PhotosPermissionView: View {    @State private var authorizationStatus: PHAuthorizationStatus = .notDetermined    @State private var logMessage: String = "Waiting for user action..."    var body: some View {        VStack(spacing: 20) {            Text("Photos Permission")                .font(.largeTitle)                .padding()            if authorizationStatus == .authorized || authorizationStatus == .limited {                Text("Access to Photos Library granted!")                    .foregroundColor(.green)                Text(logMessage)                    .font(.caption)                    .foregroundColor(.gray)                Button("Fetch Photos Library") {                    fetchPhotosLibrary()                }                .buttonStyle(.borderedProminent)            } else if authorizationStatus == .denied || authorizationStatus == .restricted {                Text("Access to Photos Library denied.")                    .foregroundColor(.red)                Text("You can enable access in System Preferences.")                    .font(.caption)                    .foregroundColor(.gray)            } else {                Text("Permission to access Photos is not yet determined.")                    .foregroundColor(.orange)                Button("Request Access") {                    requestPhotosPermissionAndTriggerUI()                }                .buttonStyle(.borderedProminent)            }        }        .padding()        .onAppear {            checkPhotosAuthorizationStatus()        }    }    private func checkPhotosAuthorizationStatus() {        authorizationStatus = PHPhotoLibrary.authorizationStatus(for: .readWrite)        logMessage = "Current Photos authorization status: \(authorizationStatus.rawValue)"        print(logMessage)    }    private func requestPhotosPermissionAndTriggerUI() {        print("Requesting Photos permission...")        PHPhotoLibrary.requestAuthorization(for: .readWrite) { status in            DispatchQueue.main.async {                authorizationStatus = status                logMessage = "Authorization status after request: \(status.rawValue)"                print(logMessage)                if status == .authorized || status == .limited {                    print("Access granted. Attempting to trigger Photos UI...")                    self.fetchPhotosLibrary()                }            }        }    }    private func fetchPhotosLibrary() {        let fetchOptions = PHFetchOptions()        fetchOptions.fetchLimit = 1        let fetchResult = PHAsset.fetchAssets(with: .image, options: fetchOptions)        logMessage = "Fetched \(fetchResult.count) assets from the Photos Library."        print(logMessage)    }}// Make sure to configure your App's Sandbox settings:func enableAppSandbox() {    // Open your Info.plist file and ensure the following settings are set:    // <key>NSPhotoLibraryUsageDescription</key>    // <string>We need access to your Photos library to display images.</string>    // Enable 'Photos' access in the App Sandbox settings    // Also, ensure that the app is properly signed and sandboxed to request these permissions.}

Zlepšenie toku povolení pre fotografie v aplikáciách MacOS SwiftUI

Pri práci s aplikáciami MacOS SwiftUI je riadenie ochrany osobných údajov a žiadostí o povolenia kľúčové, najmä pri prístupe k citlivým informáciám, ako je knižnica fotografií. V uvedenom príklade sa aplikácia pokúša požiadať o prístup do knižnice fotografií, ale aplikácia sa nezobrazuje v Predvoľbách systému v časti Nastavenia ochrany osobných údajov, čo bráni používateľovi udeliť povolenie. Jedným z kľúčových aspektov, ktorý môže ovplyvniť toto správanie, je, či je aplikácia správne nakonfigurovaná v prostredí Sandbox. Pre aplikácie požadujúce prístup k systémovým prostriedkom, ako je knižnica fotografií, je potrebné správne oprávnenie v karanténe aplikácií. Musíte sa uistiť, že v nastaveniach karantény aplikácie v Xcode je začiarknuté políčko „Fotografie“. Toto nastavenie umožňuje vašej aplikácii požiadať o povolenie na prístup do knižnice fotiek používateľa. Ak toto nie je nastavené, aplikácia ticho zlyhá a používateľ neuvidí možnosť udeliť prístup na paneli Predvoľby systému.

Ďalším aspektom, ktorý treba zvážiť, je použitie NSPhotoLibraryUsageDescription kľúč v Info.plist súbor. Tento kľúč vyžaduje spoločnosť Apple, aby vysvetlila, prečo vaša aplikácia potrebuje prístup do knižnice fotografií. Popis, ktorý zadáte, sa zobrazí v dialógovom okne povolenia, ktoré sa zobrazí, keď aplikácia požiada o prístup. Bez tohto kľúča vaša aplikácia nebude môcť požiadať o prístup do knižnice fotografií a systém nezobrazí dialógové okno povolenia. Ide o zásadný krok v súlade s požiadavkami spoločnosti Apple na ochranu osobných údajov. Nezabudnite jasne popísať, prečo aplikácia potrebuje prístup, napríklad: „Táto aplikácia vyžaduje prístup do vašej knižnice fotiek, aby vám pomohla vybrať a upraviť obrázky.“ Bez toho môže byť aplikácia odmietnutá počas procesu kontroly aplikácie alebo nemusí fungovať podľa očakávania.

Ďalšou dôležitou súčasťou je testovanie toku povolení v rôznych scenároch. Niekedy žiadosti o povolenie zlyhajú kvôli predtým zamietnutej žiadosti alebo iným nastaveniam na úrovni systému. Môžete otestovať, ako sa vaša aplikácia správa v týchto rôznych stavoch, manuálnou úpravou nastavení povolení pre Fotky v Systémových predvoľbách. Napríklad, ak používateľ už zamietol prístup k fotografiám, aplikácia by mala zobraziť príslušnú správu, ktorá používateľovi povie, ako manuálne povoliť prístup prostredníctvom systémových nastavení. Okrem toho zvážte testovanie aplikácie s rôznymi nastaveniami ochrany osobných údajov, napríklad s čistým používateľským účtom alebo po resetovaní povolení na ochranu osobných údajov aplikácie. To zaisťuje, že tok aplikácie je konzistentný naprieč rôznymi zariadeniami a konfiguráciami.

Často kladené otázky o povoleniach pre fotografie v MacOS SwiftUI

  1. Ako nakonfigurujem svoju aplikáciu MacOS na prístup ku knižnici fotografií?
  2. Aplikácia potrebuje oprávnenie „Fotografie“ v nastaveniach karantény aplikácie a NSPhotoLibraryUsageDescription kľúč v Info.plist na vysvetlenie, prečo je potrebný prístup.
  3. Prečo sa moja aplikácia nezobrazuje v sekcii Fotky v Systémových predvoľbách?
  4. Ak sa vaša aplikácia nezobrazí, skontrolujte, či sú nastavené správne povolenia Info.plist a že v nastaveniach karantény vašej aplikácie v Xcode je povolená možnosť „Fotografie“.
  5. Čo mám robiť, ak moja aplikácia stále nežiada o povolenie Fotiek?
  6. Uistite sa, že aplikácia má potrebné oprávnenia a že kód aplikácie správne vyžaduje prístup pomocou PHPhotoLibrary.requestAuthorization(for:). Tiež sa uistite, že vaša aplikácia beží na verzii MacOS, ktorá podporuje tieto rozhrania API.
  7. Ako môžem ladiť problémy s povoleniami v mojej aplikácii MacOS?
  8. Skontrolujte systémové denníky, či neobsahujú chyby súvisiace s povoleniami na ochranu osobných údajov. Tiež manuálne upravte nastavenia povolení v System Preferences a overte správanie aplikácie s rôznymi konfiguráciami, aby ste videli, ako reaguje na jednotlivé stavy.
  9. Čo robí PHPhotoLibrary.authorizationStatus(for:) metóda robiť?
  10. Táto metóda kontroluje aktuálny stav autorizácie knižnice fotografií a vracia hodnoty ako .authorized, .denied, alebo .notDetermined na základe volieb používateľa.
  11. Prečo je NSPhotoLibraryUsageDescription kľúč potrebný?
  12. Tento kľúč vysvetľuje používateľovi, prečo aplikácia potrebuje prístup do knižnice fotografií. Bez nej aplikácia nepožiada o povolenie a bude zamietnutá procesom kontroly spoločnosti Apple.
  13. Čo sa stane, ak vo svojej aplikácii nespracúvam správne stavy autorizácie?
  14. Ak sa stavy autorizácie nespracujú správne, aplikácia môže zlyhať, zlyhať pri správnej aktualizácii používateľského rozhrania alebo môže používateľovi zobrazovať zavádzajúce správy, čo môže viesť k zlej používateľskej skúsenosti.
  15. Môžem požiadať o prístup do knižnice fotografií viackrát?
  16. Nie, keď používateľ udelí alebo zamietne prístup, aplikácia už žiadosť nespustí. Mali by ste zobraziť príslušné správy na základe aktuálneho stavu autorizácie.
  17. Ako môžem obmedziť počet diel, ktoré načítam z knižnice Fotiek?
  18. Môžete použiť PHFetchOptions.fetchLimit obmedziť počet vrátených aktív PHAsset.fetchAssets(with:options:) spôsob, ako zefektívniť vašu aplikáciu.
  19. Čo mám robiť, ak moja aplikácia zlyhá pri pokuse o načítanie prostriedkov?
  20. Uistite sa, že chyby riešite elegantne tak, že najskôr skontrolujete stav autorizácie a uistíte sa, že vaša aplikácia má správne oprávnenia a povolenia.
  21. Ako navediem používateľov na manuálne povolenie povolení Fotiek?
  22. Zobrazte v aplikácii správu vysvetľujúcu, ako môže používateľ povoliť prístup cez systémové predvoľby, čo je potrebné, ak používateľ zamietol prístup.

Oprava toku povolení pre fotografie v aplikáciách MacOS SwiftUI

Aby vaša aplikácia MacOS SwiftUI správne požadovala prístup ku knižnici fotografií, musíte zabezpečiť, aby bolo nainštalovaných niekoľko dôležitých konfigurácií. Po prvé, vo vašom Info.plist, zahŕňajú NSPhotoLibraryUsageDescription kľúč s jasnou správou vysvetľujúcou, prečo je potrebný prístup. Používatelia tak pochopia účel aplikácie na vyžiadanie povolenia. Bez tohto kľúča aplikácia nebude môcť zobraziť dialógové okno so žiadosťou o povolenie. Okrem toho sa uistite, že aplikácia má potrebné oprávnenia Sandbox aplikácie nastavenia v Xcode, konkrétne povolenie možnosti „Fotografie“ na vyžiadanie povolenia na čítanie a zápis do knižnice fotografií.

Ďalším dôležitým aspektom je kontrola aktuálneho stavu autorizácie pomocou PHPhotoLibrary.authorizationStatus(for:). Táto metóda vracia stav ako napr .oprávnený, .poprela, alebo .nie je určený, ktorá vám pomôže určiť tok vašej aplikácie. Keď je stav .nie je určený, vaša aplikácia by mala obsahovať tlačidlo na vyžiadanie povolenia. Ak je stav .poprela alebo .obmedzený, aplikácia by mala viesť používateľa k povoleniu prístupu v systémových nastaveniach. Pre bezproblémový zážitok je dôležité správne zvládnuť všetky stavy a jasne komunikovať s používateľom.

A napokon, testovanie vašej aplikácie s rôznymi konfiguráciami povolení je nevyhnutné, aby ste sa uistili, že na všetkých zariadeniach funguje podľa očakávania. Môžete testovať rôzne scenáre, napríklad keď používateľ už zamietol prístup alebo keď je knižnica fotografií nedostupná. Spustením týchto stavov a pozorovaním toho, ako vaša aplikácia reaguje, zaistíte, že aplikácia bude vždy poskytovať jasnú spätnú väzbu, ako napríklad informovať používateľa, aby navštívil Systémové predvoľby, aby povolil prístup k fotografiám. Tento testovací proces je nevyhnutný na zabezpečenie bezproblémového používateľského zážitku v rôznych nastaveniach ochrany osobných údajov a konfiguráciách zariadení. 🖼️

Záver:

Ak budete postupovať podľa vyššie uvedených krokov a uistíte sa, že je vaša aplikácia správne nakonfigurovaná, bude môcť požiadať o prístup do knižnice fotografií a získať ho a tiež sa bude zobrazovať v nastaveniach ochrany osobných údajov v systémových preferenciách. Zabezpečenie správnych oprávnení, konfigurácie a jasnej komunikácie s používateľom pomôže efektívne vyriešiť problémy s povoleniami.

Nezabudnite tiež otestovať aplikáciu v rôznych konfiguráciách, pretože rôzne nastavenia ochrany osobných údajov alebo predchádzajúce povolenia môžu ovplyvniť správanie aplikácie. Toto dôkladné testovanie poskytne používateľom bezproblémové používanie integrácie aplikácie Fotky. 📸

Zdroj a referencia
  1. Podrobnosti o potrebnej konfigurácii povolení pre fotografie v aplikáciách MacOS nájdete v dokumentácii Apple Developer Documentation. To zahŕňa požadované kľúče Info.plist a obsluhu rozhrania Photos API. Dokumentácia pre vývojárov spoločnosti Apple
  2. Ďalšie informácie o nastaveniach ochrany osobných údajov v systéme MacOS a o tom, ako požiadať o prístup k citlivým údajom, nájdete v tejto príručke o konfigurácii ochrany osobných údajov v aplikáciách systému MacOS: Prehľad ochrany osobných údajov aplikácie – Apple Developer