海军 v0.3.1

海军 v0.3.1

Chai 维护。



海军 v0.3.1

  • AppScaffold

海军

Version Liscence Platform Swift4.2

这是一个工具,可以轻松观察和可视化我们在实时跟踪的每个路由和流程。

如果您已配置要显示的信息,当您的鼠标指针悬停在每个节点文本上时,将显示一个提示视图。

意图

对于大型应用程序,有时很难检查和调试我们在使用的路由,一旦我们在某个地方点击,会发生什么反应。为了轻松检查这些场景是否满足预期,这个工具被创建出来以满足这一需求。

入门

这个 Navy 框架有一个demo应用程序,你可以按照以下步骤直接运行它,看看它的外观和运行方式。但是,如果你想要将其集成到你的项目中,你必须将 BundleId 替换为 你的项目 BundleId 中的 run-navy.sh 脚本,并将其移动到你的项目文件夹中。

先决条件

  1. 安装npm
brew install node
  1. 安装Browsersync
npm install -g browser-sync

运行示例应用

如果您想运行示例应用,只需将 cd 切换到 Navy 项目路径并执行 pod install,然后您需要首先运行示例应用,再执行下面的命令。

./run-navy.sh

集成

Cocoapods

Navy 已在 Cocoapods!在项目中设置 Cocoapods 后,只需在 Podfile 中添加以下内容

pod 'Navy'

然后在包含 Podfile 的目录中运行 pod install

在使用 Navy 时,别忘了导入它。

遵守 NaviProtocol

class Navigation: NaviProtocol {
    // Return root node name
    func rootNodeName() -> String {
        return "Navy"
    }
    
    // Return tabBar controllers 
    func tabBarViewControllers() -> [String] {
        return ["NavyDemo.FavoriteViewController", "NavyDemo.DownloadViewController", "NavyDemo.HistoryViewController"]
    }

    // Map the business logic document link to corresponding node
    func mapBusinessLogicDocument() -> [String: String] {
        return ["NavyDemo.FavoriteViewController": "https://en.wikipedia.org/wiki/Marie_Curie",
                "NavyDemo.ListViewController": "https://en.wikipedia.org/wiki/Albert_Einstein",
                "NavyDemo.DetailViewController": "https://en.wikipedia.org/wiki/Tu_Youyou",
                "NavyDemo.SettingViewController": "https://en.wikipedia.org/wiki/Alan_Turing",
                "NavyDemo.DownloadViewController": "https://en.wikipedia.org/wiki/Main_Page"]
    }
}

注意:如果您使用自定义导航,需要实现两个可选协议。

func currentController() -> UIViewController {
    // Return current controller
}

func previousController() -> UIViewController {
    // Return previous controller
}

最后,调用 setup(with:) 方法并传递实现了 NaviProtocol 的实例。

NaviHeader.shared.setup(with: Navigation())

运行您的项目

在执行下面的命令之前,请先运行您的项目。

⚠️别忘了替换 BundleId,并将脚本移入您的项目中。

./run-navy.sh

待办事项

  • 支持网页上动态显示调用堆栈
  • 支持通过单击节点上的文本进行页面跳转
  • 映射业务逻辑文档
  • 显示历史路径
  • 适应移动屏幕
  • 监控网络

需求

  • Swift 4.2+
  • iOS 11.0+

参与贡献

欢迎使用拉取请求、特性请求和错误报告🚀