Repolode
sparrowcode

sparrowcode/PermissionsKit

システム権限のリクエストと状態確認を統一したAPIで行える、iOS向けSwiftライブラリ。

スター
5,812
フォーク
479
未解決の Issue
4
最終コミット
2 か月前

これは何?

PermissionsKitを使うと、iOSアプリからカメラ、位置情報、通知、写真、連絡先などのシステム権限を単一のAPIでリクエストし、それぞれの状態が許可、拒否、未決定のどれかを確認できます。各権限は個別のSwift package productとして提供されるため、アプリは実際に使う権限だけをリンクできます。

権限まわりのセットアップもサポートします。各権限に必要なInfo.plistの使用目的説明キーを公開しており、xliffのエクスポートまたはInfoPlist.stringsファイルを使って説明文をローカライズできます。例外として、FaceIDでは許可済みと未決定を区別できないため、拒否状態のみを確実に判定できます。

主な機能

  • 01権限のリクエストと状態確認を、単一のAPIから行えます。
  • 02各権限が個別のSwift package productとして提供されるため、バイナリを小さく保てます。
  • 03Bluetooth、Calendar、Camera、Location、Notifications、Photos、Healthなどに対応しています。
  • 04各権限に必要なInfo.plistの使用目的説明キーを提供します。
  • 05xliffのエクスポートまたはInfoPlist.stringsを使った使用目的説明のローカライズに対応しています。

ユースケース

  • 権限の種類を問わず一貫した処理で、iOSアプリに権限リクエストのフローを追加する。
  • カメラや位置情報に依存する機能を表示する前に、現在の権限状態を確認する。
  • App Reviewに向けて、iOSアプリがリンクする権限APIを必要最小限に抑える。

クイックスタート

  1. 1

    リポジトリのURLを使い、Xcodeの「File」→「Add Package Dependencies」からパッケージを追加します

  2. 2

    アプリで使う権限のプロダクトだけを選択し、Swiftでimportします

使う前に知っておきたいこと

  • iOSのみを対象としています。
  • FaceIDでは.authorizedと.notDeterminedを区別できないため、.deniedのみが信頼できる状態です。

収録されている特集

トピック

よくある質問

PermissionsKit とは?
システム権限のリクエストと状態確認を統一したAPIで行える、iOS向けSwiftライブラリ。 PermissionsKitを使うと、iOSアプリからカメラ、位置情報、通知、写真、連絡先などのシステム権限を単一のAPIでリクエストし、それぞれの状態が許可、拒否、未決定のどれかを確認できます。各権限は個別のSwift package productとして提供されるため、アプリは実際に使う権限だけをリンクできます。
PermissionsKit は無料で使えますか?ライセンスは?
PermissionsKit は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
PermissionsKit は今もメンテナンスされていますか?
半年以内に更新あり。PermissionsKit の最終コミットは 2026年9月12日 です。
PermissionsKit は何に使えますか?
権限の種類を問わず一貫した処理で、iOSアプリに権限リクエストのフローを追加する。 カメラや位置情報に依存する機能を表示する前に、現在の権限状態を確認する。 App Reviewに向けて、iOSアプリがリンクする権限APIを必要最小限に抑える。
PermissionsKit のインストール方法は?
リポジトリのURLを使い、Xcodeの「File」→「Add Package Dependencies」からパッケージを追加します アプリで使う権限のプロダクトだけを選択し、Swiftでimportします
PermissionsKit はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/sparrowcode/PermissionsKit

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト