check-permissions 是一个基于 Swift 的命令行应用程序,旨在扫描指定目录中的 Info.plist
文件,并报告每个文件请求的权限。对于使用 iOS 项目的开发者来说,这个工具特别有用,因为它有助于确保在项目目录中正确声明了必要的权限。
Info.plist
文件。Info.plist
文件中请求的各种权限,例如相机访问、定位服务等。Info.plist
文件提供清晰的权限报告。克隆仓库:
git clone https://github.com/ezefranca/check-permissions.git
cd check-permissions
运行安装脚本:
chmod +x install.sh
./setup.sh
安装脚本将编译该工具并将其安装到 /usr/local/bin
,使其作为 check-permissions
全局可用。
--path <路径>
: 指定目录的路径。这是一个必需参数。--output <文件>
: 指定将结果输出到的文件。(默认为控制台输出)--verbose
: 启用详细输出以获取更详细的信息。--help
: 显示帮助消息。扫描目录中的 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.
要在您的 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)")
}
}
我们欢迎贡献来增强此工具的功能。请按照以下步骤进行贡献:
本项目根据 MIT 许可证获得许可。