{"id":1796,"url":"https://github.com/pascalbros/PAPermissions","last_synced_at":"2025-08-02T04:32:41.263Z","repository":{"id":62449786,"uuid":"67553543","full_name":"pascalbros/PAPermissions","owner":"pascalbros","description":"A unified API to ask for permissions on iOS","archived":false,"fork":false,"pushed_at":"2020-10-13T21:09:08.000Z","size":6406,"stargazers_count":684,"open_issues_count":2,"forks_count":67,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-05-22T00:47:44.583Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pascalbros.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-09-06T23:10:37.000Z","updated_at":"2025-03-11T10:41:37.000Z","dependencies_parsed_at":"2022-11-01T23:18:04.251Z","dependency_job_id":null,"html_url":"https://github.com/pascalbros/PAPermissions","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/pascalbros/PAPermissions","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pascalbros%2FPAPermissions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pascalbros%2FPAPermissions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pascalbros%2FPAPermissions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pascalbros%2FPAPermissions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pascalbros","download_url":"https://codeload.github.com/pascalbros/PAPermissions/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pascalbros%2FPAPermissions/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268334618,"owners_count":24233793,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-01-05T20:15:56.005Z","updated_at":"2025-08-02T04:32:40.385Z","avatar_url":"https://github.com/pascalbros.png","language":"Swift","funding_links":[],"categories":["Permissions"],"sub_categories":["Other Parsing","Other free courses"],"readme":"# PAPermissions\n\nPAPermissions is a fully customizable and ready-to-run library to handle permissions through a ViewController\n\nRight now it supports out of the box permissions for:\n\n- Address Book\n- Bluetooth\n- Calendar\n- Camera\n- Contacts\n- Events\n- Location\n- Microphone\n- Motion Fitness\n- Notifications\n- Reminders\n- Custom\n\n![](./ReadmeResources/PAPermissions1.gif)\n![](./ReadmeResources/PAPermissions2.gif)\n![](./ReadmeResources/PAPermissions3.gif)\n## Compatibility\n\nPAPermissions requires iOS8+, compatible with both Swift 4 and Objective-C based projects\n\nIf you are looking for the Swift 2 version of it, please check out the [legacy branch](https://github.com/pascalbros/PAPermissions/tree/legacy)\nIf you are looking for the Swift 3 version of it, please check out the [legacy branch](https://github.com/pascalbros/PAPermissions/tree/swift3)\n## Installation\n\n\n### CocoaPods\n\n[CocoaPods](http://cocoapods.org) is a dependency manager for Cocoa projects.\n\nTo integrate PAPermissions into your Xcode project using CocoaPods, specify it in your `Podfile`:\n\n```ruby\npod 'PAPermissions'\n```\n\nThen, run the following command:\n\n```bash\n$ pod install\n```\n\n### Manual Installation\n\nJust copy the PAPermissions folder in your project\n\n## Run the Example\n\nClone the repo, cd into `Example`:\n\n```bash\n$ pod install\n```\n\nOr open the project (the blue icon) and copy the PAPermissions folder inside.\n\n## Screenshots\n\nIt can be used with a plain background color\n![](./ReadmeResources/Screen1.png)\n\nOr with a background image\n![](./ReadmeResources/Screen2.png)\n\n## How it works\n\nCreate a new UIViewController, inherit from *PAPermissionsViewController* and write:\n\n```\n\tlet microphoneCheck = PAMicrophonePermissionsCheck()\n\tlet cameraCheck = PACameraPermissionsCheck()\n\n\toverride func viewDidLoad() {\n\t\tsuper.viewDidLoad()\n\n\t\t//Custom settings\n\t\tself.locationCheck.requestAlwaysAuthorization = true\n\n\n\t\tlet permissions = [\n\t          PAPermissionsItem.itemForType(.microphone, reason: \"Required to hear your beautiful voice\")!,\n\t\t\t\t\t  PAPermissionsItem.itemForType(.camera, reason: \"Required to shoot awesome photos\")!]\n\n\t\tlet handlers = [\n\t\t\t\t\t\tPAPermissionsType.microphone.rawValue: self.microphoneCheck,\n\t\t\t\t\t\tPAPermissionsType.camera.rawValue: self.cameraCheck]\n\t\tself.setupData(permissions, handlers: handlers)\n\n\t\tself.titleText = \"My Awesome App\"\n\t\tself.detailsText = \"Please enable the following\"\n\t}\n\n```\n\nThat's it!\n\nAnyway you no need to import everything, just remove the unnecessary \"check\" classes and keep the ones you want to use, you will find them in \"Checks\" folder.\n\n\n## Contacts\n\nWe would love to know if you are using PAPermissions in your app, send an email to \u003cpasquale.ambrosini@gmail.com\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpascalbros%2FPAPermissions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpascalbros%2FPAPermissions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpascalbros%2FPAPermissions/lists"}