PLOP 1.2.0

PLOP 1.2.0

Jake Prickett 维护。



PLOP 1.2.0

  • 作者
  • Jake Prickett



可编程实时对象面板📱
Jake Prickett


Build Status Swift 5 CocoaPods Carthage Swift Package Manager Platform LICENSE LICENSE LICENSE



简介

可编程实时对象面板,简称 PLOP,是您应用中的一个隐藏屏幕,可以用来使 Xcode 模拟器和 iOS 设备上的开发和测试变得更简单。这是通过添加各种与生产就绪或开发特定的代码不匹配的代码交互组件来实现的,从而提高生产力。PLOP 面板仅在 DEBUG 构建期间存在,使其成为完美的开发者工具!

特性🎁

  • 隐藏的开发者屏幕
  • 能够添加工具/特性以加快开发进程
  • 预构建组件,以方便进行常见交互

示例使用案例📱

  • 启用/禁用特性标志🚩
  • 直达您正在工作的功能或屏幕的快捷方式
  • 位置模拟(在设备或模拟器上)
  • 配置测试数据
  • 清除设置/首选项
  • 在不同环境之间切换(Dev、Prod 等)
  • 调试日志

还有更多!🤓可能性无限。

基本用法

调试面板是一个隐藏的屏幕,可以通过定义的入口点(仅在 DEBUG 构建中可见的按钮)或摇动手势(在模拟器中使用 CMD+CTRL+Z)访问。

在调试面板内,您可以添加功能并连接尚不适合生产的代码。

注意:只有在设置了 DEBUG 预处理器标志为 1 时,调试面板才可访问


您的大部分设置可以在您的 AppDelegate.swift 中完成,您可以将设置代码设置为如下所示

    ...
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        #if DEBUG
	setupPLOPComponents() // Where you add sections, components, switches, etc.
	PLOP.enableShakeToLaunchPanel() // Enables Shake gesture presentation
	#endif
        return true
    }
    ...

或者,如果您更愿意在按钮点击时显示面板

   class ViewController: UIViewController {

      override func viewDidLoad() {
          super.viewDidLoad()

          let button = UIButton(type: .system)
          button.setTitle("Show Panel", for: .normal)
          button.addTarget(self, action: #selector(togglePLOP), for: .touchUpInside)

          ... 

          configurePLOP()
      }

      private func configurePLOP() {
          /*
    	     Where you add sections, components, switches, etc.
  	   */

          PLOP.reloadPanel()
      }

      @objc func togglePLOP() {
          PLOP.showPanel()
      }
   }  

注意:请确保按钮仅在 DEBUG 构建中可见,否则您可能会遇到一些问题,如这在 RELEASE 架构中可见的问题!!

如何将组件添加到 PLOP

按钮组件

    let component = ButtonPLOPComponent(title: "Example Component", 
                                        buttonTitle: "Go!", 
                                        action: { _ in /* Execute whatever you want here! */})

开关组件

    let component = SwitchPLOPComponent(title: "Switch 2", 
                                        action: { component in /* Execute whatever you want here! */ })

如何将部分添加到 PLOP

    let section = SectionPLOPComponent(
        title: "Feature Flags",
        components: [ /* Insert Components Here */],
        sectionType: .featureFlag
    )
    PLOP.add(section: section)

安装📦

请参考以下说明来安装 PLOP。

要求📝

  • iOS 9.0+
  • Xcode 11.1+
  • Swift 5.0+

CocoaPods

PLOP可通过CocoaPods获得。要安装它,只需将以下行添加到您的Podfile

pod 'PLOP'

Carthage

PLOP可通过Carthage获得。要安装它,只需将以下行添加到您的Cartfile中

github "Jake-Prickett/plop-ios"

Swift Package Manager

PLOP可通过Swift PM获得。要安装它,只需将包作为依赖项添加到Package.swift

dependencies: [
  .package(url: "https://github.com/Jake-Prickett/plop-ios.git", from: "1.0.0"),
]

手动

下载并将PLOP目录拖放到您的项目中。


如果您发现问题或有任何功能请求,请随时创建一个使用相应模板的问题。

如果您想做出贡献 - 欢迎加入!