Peek:全新的设计
Peek 5 带有全新的设计和所有新功能。无论您是开发者、设计师还是 QA/测试人员,Peek 都可以在您开发过程的各个阶段帮助您。
观看预告片 以查看其工作情况。
统一检查器
所有检查器和属性现在都已统一到单个窗口中,使检查更加简单快捷。
可折叠组
感觉 Peek 提供的信息太多?只需轻点标题即可展开/折叠任何部分。Peek 还会在启动之间记住您的选择!
嵌套检查器
Peek 现在支持嵌套检查器。这个强大的功能允许 Peek 提供更多关于您应用的细节。事实上,Peek 5.0 将可检查的属性数量翻了一番多。
预览
视图、图像、颜色等现在可以提供快照预览,以帮助您更好地识别您正在检查的内容。
报告
全新的报告系统允许您通过 iOS 原生共享表单导出截图、元数据和甚至建议值。
无障碍性
Peek 本身现在更加易于访问,具有动态字体,但 Peek 还可以显示您应用的无障碍性细节。
搜索
您现在可以在 Peek 中进行搜索,这使得检查您的应用变得更加容易。
更少代码和依赖
得益于全新的架构,Peek 也变得更小。它以更少的代码提供更多功能,在您的应用上留下非常小的运行痕迹。
准备好开始了吗?
设计师与测试人员
- 只需按下您的某个音量键即可显示和隐藏Peek
- 现在,轻触或拖动您的手指穿过屏幕
- 轻触检查器按钮(或在屏幕上的任何位置进行双重轻触)以显示选定视图的检查器
没有比这更简单的方法了!
开发者
设备
将Peek集成到您的项目中最简单的方法是使用《Cocoapods》或《Carthage》
# Cocoapods
pod 'Peek', :configurations => ['Debug']
# Carthage
github "shaps80/Peek" ~> 5.1.0
您只需要一行代码就可以在应用中启用Peek
window?.peek.enabled = true
模拟器
在模拟器中运行时,您需要几行额外的代码
// Your AppDelegate
override func motionBegan(_ motion: UIEventSubtype, with event: UIEvent?) {
// iOS 8/9 requires device motion handlers to be on the AppDelegate
window?.peek.handleShake(motion)
}
或者
// Your ViewController
override var canBecomeFirstResponder: Bool {
return true
}
override func motionBegan(_ motion: UIEventSubtype, with event: UIEvent?) {
// iOS 10 now requires device motion handlers to be on a UIViewController
UIApplication.shared.keyWindow?.peek.handleShake(motion)
}
现在您可以通过按CMD+CTRL+Z
(或使用菜单选项)在模拟器中显示/隐藏Peek。
贡献
对Peek的贡献是受欢迎和鼓励的!
参与非常简单。请参阅贡献指南了解更多详情。
为了明确我们社区期望的准则,Peek采用了贡献者公约定义的行为准则。本文档被许多开源社区广泛使用,我认为它很好地阐述了我的价值观。更多信息,请查看行为准则。
Peek是什么?
Peek是一个开源框架,提供了对您设备(或模拟器)上运行的应用程序的运行时检查功能。
- 开发者可以使用Peek在运行时检查他们的用户界面。
- 设计师可以验证应用程序是否符合其设计规范。
- 测试人员和QA可以检查可访问性标识符,验证行为并报告问题。
Peek是辅助您在开发过程中的所有阶段的一个工具。
Peek是如何工作的?
Peek扫描屏幕上的整个用户界面,然后提供带有布局信息和属性检查器的叠加层。
Peek包括一个智能过滤系统,以确定哪个视图是您关注的,同时忽略那些您可能不感兴趣的内容。
例如,默认情况下,除非子类化,否则Peek不会显示许多Apple的系统组件。
Peek在自己窗口中出现,直接位于您自己应用的用户界面之上,以确保它不会干扰正常功能。
Peek还允许您在iPhone和iPad上测试所有支持的方向。
最重要的是,Peek不会以任何方式干扰您应用程序的逻辑或用户界面。它提供只读检查,以确保您只看到实时值!
演示
如果您还没有准备好将Peek集成到您的项目中,您只需下载此存储库并运行其中包含的示例项目即可:)
这是一个小型应用程序,完美展示了Peek的强大功能!
配置Peek
Peek允许配置许多选项,使您可以更多地控制Peek的配置以及报告选项
window?.peek.enableWithOptions { options in
options.theme = .black
options.activationMode = .auto
options.shouldIgnoreContainers = true
/*
Sometimes it can also be useful to include additional metadata with each report.
*/
options.metaData = [ "Environment": "UAT" ]
}
安全第一
Peek被设计为尽可能安全。Peek永远不会保留您应用中的对象。它永远不会使用后台线程。除非您明确启用,否则Peek甚至不会运行!
没问题,现在就看看您的应用吧 :)
支持的平台和版本
Peek官方支持(并已测试)以下配置
- iOS 9.0+(Swift和Objective-C)
注意:如果您在使用Cocoapods时遇到Swift版本的问题,请尝试在您的
Podfile
中添加以下内容:
post_install do |installer|
installer.pods_project.targets.each do |target|
if target.name == "Peek" then
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '4.0'
end
end
end
end
Swift版本
Swift 4.x
目前由Peek v4.0 - v5.0版本支持
Swift 3.x
非正式支持。建议您更新到Swift 4和Peek 5.0
Swift 2.3
如果您需要Swift 2.3支持,请按照以下方式更新您的Podfile:
pod 'Peek', '2.3'
Swift 2.2
如果您需要Swift 2.2支持,请按照以下方式更新您的Podfile:
pod 'Peek', '2.0'
归属
原始概念、代码和应用程序设计由@shaps创作
示例应用程序中的图标可在The Noun Project上找到。艺术作品由Vitaliy Gorbachev创作