check-permissions Swift

SPM compatible

概述

check-permissions 是一个基于 Swift 的命令行应用程序,旨在扫描指定目录中的 Info.plist 文件,并报告每个文件请求的权限。对于使用 iOS 项目的开发者来说,这个工具特别有用,因为它有助于确保在项目目录中正确声明了必要的权限。

功能特性

安装

前提条件

步骤

  1. 克隆仓库:

    git clone https://github.com/ezefranca/check-permissions.git
    cd check-permissions
  2. 运行安装脚本:

    chmod +x install.sh
    ./setup.sh

安装脚本将编译该工具并将其安装到 /usr/local/bin,使其作为 check-permissions 全局可用。

用法

命令行选项

使用示例

扫描目录中的 Info.plist 文件并报告权限:

check-permissions-cli --path <directory-path-to-scan>

输出到报告日志文件:

check-permissions-cli --path <directory-path-to-scan> --output report

启用详细输出:

check-permissions-cli --path <directory-path-to-scan> --verbose

显示帮助消息:

check-permissions-cli --help

示例输出

🚀 Starting the scanning process...
📂 Scanning directory: /Users/yourusername/Developer/YourProject
Found 3 Info.plist files.
File: /Users/yourusername/Developer/YourProject/ModuleA/Info.plist
 - NSCameraUsageDescription
 - NSLocationWhenInUseUsageDescription
File: /Users/yourusername/Developer/YourProject/ModuleB/Info.plist
 - NSMicrophoneUsageDescription
✅ Scanning process completed.

作为 Package 使用

要在您的 Swift 项目中使用 PermissionScan 包,请将其作为依赖项添加到您的 Package.swift

// swift-tools-version:5.4
import PackageDescription

let package = Package(
    name: "YourProject",
    platforms: [
        .iOS(.v15),
        .macOS(.v12),
        .watchOS(.v9),
        .tvOS(.v15),
        .visionOS(.v1)
    ],
    dependencies: [
        .package(url: "https://github.com/ezefranca/check-permissions", from: "0.0.4"),
    ],
    targets: [
        .target(
            name: "YourProject",
            dependencies: ["check-permissions-package"]),
    ]
)

然后导入并在您的代码中使用它

import check_permissions

let checker = PermissionChecker()
let report = checker.generateReport(for: URL(fileURLWithPath: "/path/to/your/project"))
for (plistPath, permissions) in report {
    print("File: \(plistPath)")
    for permission in permissions {
        print(" - \(permission)")
    }
}

贡献

我们欢迎贡献来增强此工具的功能。请按照以下步骤进行贡献:

  1. Fork 仓库。
  2. 为您的功能或错误修复创建一个新分支。
  3. 提交一个 pull request,其中包含对您更改的清晰描述。

许可证

本项目根据 MIT 许可证获得许可。