Nine41
自动化覆盖所有正在运行的 iOS 模拟器的状态栏
关于
博客文章
Xcode 11 随 simctl status_bar
工具一起发布,可用以覆盖模拟器中的状态栏值,从而使您能够获取完美的截图。
但它有一些问题
- 这些覆盖在模拟器启动之间不会保持
- 众多的覆盖选项难以记住
- 没有合适的默认值
此脚本修复了这些问题中的大多数。它使用 "Apple's defaults" 覆盖当前所有正在运行的模拟器的状态栏:完全的移动信号、完全的无线网络信号、满电量、无 "运营商" 名称,时间为 9:41
。
要求
- Swift 5.7+
- Xcode 14.0+
- SwiftLint
安装
Swift 包管理器
将 Nine41
添加到您的 Package.swift
文件的 dependencies
值中。
dependencies: [
.package(url: "https://github.com/jessesquires/Nine41.git", from: "2.0.0")
]
或者,您可以直接通过 Xcode 添加此包(查看文档)。
CocoaPods
pod 'Nine41'
用法
在克隆仓库后,您可以创建一个自定义的 bash 命令
function nine41() {
swift run --package-path /PATH/TO/Nine41/
}
然后您可以从命令行运行这个命令。
使用 2 个模拟器时的运行示例
$ nine41
Fixing status bars...
✅ iPhone 8, 65A6C323-E74D-452C-B85E-7F576259E022
✅ iPhone 11, 52E8FAD0-7743-4F85-AA2E-26E4C1275F38
在没有打开模拟器时的运行示例
$ nine41
Fixing status bars...
❌ No simulators are running. Launch the iOS simulator first.
Xcode 构建阶段自动化
如这篇博客中所述,您可以使用 Xcode 构建阶段来自动化完美的状态栏。
- 将 Swift 包添加到您的 Xcode 项目中
- 添加一个“运行脚本”构建阶段,以下为
对于 Swift 包管理器安装
/usr/bin/xcrun --sdk macosx swift run --package-path "${BUILD_ROOT}/../../SourcePackages/checkouts/Nine41"
对于 CocoaPods 安装
/usr/bin/xcrun --sdk macosx swift "${PODS_ROOT}/Nine41/Sources/main.swift"
- 构建并运行。请注意,模拟器必须启动才能运行此脚本,这意味着第一次运行可能不会产生结果,但后续的运行会。
贡献
想为这个项目贡献力量?请查阅以下指南。
许可协议
许可协议为MIT License。详细信息请参阅 LICENSE
文件。
版权所有 © 2019-至今 Jesse Squires。