Linux、Windows、macOSでSwiftPMパッケージからiOSアプリをビルド・署名・インストールできる、クロスプラットフォームのXcode代替ツール。
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
リポジトリのURLを使い、Xcodeの「File」→「Add Package Dependencies」からパッケージを追加します
- 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 の数値は毎日更新されます。
関連プロジェクト
WeChat風のiOS向け写真ピッカー。写真、GIF、Live Photos、動画を選択でき、画像・動画編集機能も備えています。
AVCaptureMultiCamSessionを使って2台のカメラで同時に撮影できるiOSアプリ。分割画面またはピクチャ・イン・ピクチャのプレビューとLiquid Glass UIを備えています。
Reactを使って、JavaScriptのUIをネイティブのプラットフォームコンポーネントで描画するAndroid・iOSアプリを構築するフレームワーク。
コードを追加せずに、キーボードがUITextFieldやUITextViewにかぶるのを防ぐiOS用ライブラリ。
TelegramメッセンジャーのiOSアプリの公式ソースコードと、Xcodeで自分でビルドするためのビルドシステム。