Permitted travel

The SwiftUI package to display and manage permissions in a nice way.

PermissionsSwiftUI displays and processes permissions in SwiftUI. The UI/UX interface is highly customizable and reminiscent of Apple’s style. If you like the project, don’t forget to add an asterisk ★ and follow me on GitHub.



  • iOS 13 or iPadOS 13
  • Xcode 12 and Swift 5.3
  • No support yet for tvOS, macOS and watchOS.


You can install PermissionsSwiftUI in your Xcode project via the Swift package manager. For more information on the Swift package manager, click here.

  1. In Xcode, open your project and go to File → Quick Packages → Add Package Dependencies…..
  2. Enter the URL of the repository ( and click Next.
  3. For version, choose Until next big.
  4. Click Next and then Finish.
  5. So have fun with PermissionsSwiftUI!

Quick start

Before you start, start ★. Your star is my biggest motivation for having sleepless nights and maintaining this open source project.

To use PermissionsSwiftUI, simply add a JMPermission modifier to a view.

Toggle the link to display the modal view and add the permissions you want to display.

ContentView Structure : View {
@State var showModal = false

var body: some View {
Button(action: {
}, label: {
Text(Ask user for permissions)
.JMPermissions(showModal: $showModal, for: [.locationAlways, .photo, .microphone])


Definition of resolution texts

Be aware of that. You’ll love the front panel features – the configuration is so advanced and yet so simple. Have fun!

To customize the permission text, use a modifier calledPermissionWith to customize the syntax. E.g. customizeCameraPermissionWith is for the camera, and customizeLocationPermissionWith is for the location.

You can change the title and description:

.JMPermissions (showModal: $showModal, for: [.camera])
.customizeCameraPermissionWith (name: Camcorder, description: Application should record video)

and the result:

Or just change a title and description:

.customizeCameraPermissionWith (Name: Camcorder)

which you do not specify, the default text will be displayed.

.customizeCameraPermissionWith (Description: the request should include a video)

You can use custom text for all supported resolutions with a single line of code.

Use the changeHeaderTo modifier to modify the header :

.JMPermissions(showModal: $showModal, for: [.camera, .location, .calendar])
.changeHeaderTo(App Permissions)

Use the modifier ChangeHeaderDescriptionTo to modify the header description :

.JMPermissions(showModal: $showModal, for: [.camera, .location, .photo])
.changeHeaderDescriptionTo(Instagram requires certain permissions for all features to work).

Use the modifyBottomDescriptionTo modifier to modify the background description :

.JMPermissions(showModal: $showModal, for: [.camera, .location, .photo])
.changeBottomDescriptionTo(If this is not allowed, you need to enable the permissions in the settings)

Additional information

Here is a list of all permissions PermissionsSwiftUI already supports/will support. With version 0.0.1 beta, PermissionsSwiftUI will have all 12 native authorizations of the iOS system. Yes, even the latest tracking resolution for iOS 14 to keep you updated. All permissions in PermissionsSwiftUI come with a default name, description and an impressive Apple SF icon. Stay informed!


Associated tags:

lenovo ideapad gaming 3i review, lenovo ideapad gaming 3 review, lenovo ideapad gaming 3 ryzen, lenovo ideapad gaming 3 release date, lenovo ideapad series 3 15.Overview of gaming laptops 6”, lenovo ideapad gaming 3 specifications, lenovo ideapad gaming 3 prices philippines, lenovo ideapad gaming 3 philippines

swift permissionsios permissionspapermissionsswift permission githubios location permissionpermissionscopelocation permission ios githubswift ui github

You May Also Like

🥇 Is EMUPARADISE closed?   Best Alternative Websites ▷ List ▷ 2021

EmuParadise is a site that specializes in the exchange of Roma. These…

Fix Not Getting Ultra HD 4K or Videos Not Showing on Netflix

Netflix offers Ultra HD (UHD) 4K games for your viewing pleasure. With…

How to Install and Watch Hulu on TCL Smart TV Models

If you are a TCL TV user looking for ways to install…

Fix: Instagram Videos Not Playing On Android

While Instagram rarely has stability issues, video playback can occasionally freeze. It…