gitmyhub

Pulse

Swift ★ 7.1k updated 10d ago

Network logger for Apple platforms

Pulse is a logging and network inspection framework for Apple platforms, built with Swift and SwiftUI. It runs on iOS, macOS, tvOS, watchOS, and visionOS. The purpose is to let developers and QA testers see exactly what network requests an app is making, and what log messages it is producing, without needing to connect to a computer or use external proxy software.

Rather than being a standalone tool, Pulse is a framework you integrate directly into your app. Once added, it automatically captures activity from iOS's built-in networking system, along with any logs your code produces. It provides ready-made UI screens that you embed in your app, so testers on a device can open a debug menu and browse all captured requests and responses. Logs are stored entirely on the device and never sent anywhere automatically.

When a bug is found, the person testing can export the log archive and attach it to a bug report. This is useful for catching network errors, slow requests, or unexpected API responses that are hard to reproduce on a developer's machine.

For developers who want to monitor logs remotely in real time, there is a companion macOS app called Pulse Pro. It connects to devices over the network and shows incoming log data as it arrives. The macOS app includes table and text views, filters, and a network inspector designed for working through large volumes of log data.

Pulse is not a network proxy, meaning it does not intercept or modify traffic the way tools like Proxyman do. It only observes and records. The framework requires iOS 15 or later for the current major version. It is available under the MIT license.