

Github GitHub - kean/Pulse: Network Inspector for Apple Platforms
source link: https://github.com/kean/Pulse
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Pulse is a powerful logging system for Apple Platforms. Native. Built with SwiftUI.
Record and inspect network requests and logs right from your iOS app using Pulse Console. Share and view logs in Pulse macOS app. Logs are recorded locally and never leave your device.
About
Pulse
is not a tool, it's a framework. It records events from URLSession
or from frameworks that use it, such as Alamofire
, and displays them using PulseUI
views that you integrate directly into your app.
Pulse is not a network debugging proxy tool like Proxyman, Charles, or Wireshark. It won't automatically intercept all network traffic coming from your app or device.
Pulse is integrated directly into your app and is always recording (when your code tells it to). Pulse console is available for everyone who has your test builds. You or your QA team can view the logs on the device and easily share them to attach to bug reports. That's powerful.
Installation
Pulse is available only for GitHub sponsors. Once the number of sponsors reaches a certain level, the project will become available to everyone.
The access to the private project manifest is provided manually, there might be a bit of a delay before you get access after sponsoring.
Pulse is distributed using Swift Package Manager as a binary framework. It is built using SwiftUI and includes no resources to ensure its tiny size. The thinned .ipa
with Pulse included takes <640 KB. You can simply leave it in your app store builds. And because it's a binary framework, it doesn't increase your compile time.
Please follow the Installation Guide.
Usage: Pulse
The primary class in Pulse is PersistentLogHandler
which can be used as a logging backend for SwiftLog.
Bootstrapping
LoggingSystem.bootstrap(PersistentLogHandler.init)
If you are not using SwiftLog in your project, you can use Pulse.PersistentLogHandler
directly without the need for bootstrapping.
Logging
Use SwiftLog as usual to start logging messages.
let logger = Logger(label: "com.yourcompany.yourapp") /// ... logger.info("This message will be stored persistently")
Logging Network Request
Pulse supports logging URLSession
tasks and offers a simple Alamofire integration.
For more information, please follow the dedicated guide.
Storage
All logged messages are stored persistently using Core Data, including metadata and other information. You get full access to all of the recorded messages at any time using LoggerMessageStore
.
let messages = try LoggerStore.default.allMessages() // NSPersistentContainer let container = LoggerStore.default.container
Usage: PulseUI
PulseUI framework provides all of the views that you saw on the screenshots.
Use MainView
(or MainViewController
for convenient UIKit integration) to display the root view with tabs. Use ConsoleView
, NetworkView
, and PinView
to display individual tabs.
let view = MainView()
Pulse views are built using SwiftUI and require iOS 13. But even if your app requires iOS 11, no need to worry. Pulse can still be easily integrated into your project. The framework itself requires iOS 11 and Pulse views can be easily added conditionally on iOS 13+. To show Pulse from UIKit, use convenience MainViewController
class.
Pulse macOS App
Pulse macOS Alpha is now available as early access. Requires Big Sur.
Demo store is attached to the latest release.
Pulse iOS App
Pulse is also available as an iOS app, which is a document-based app for viewing logs on iOS devices.
Status
Project Status Pulse Beta PulseUI (iOS) Beta PulseUI (watchOS) Beta Pulse (macOS app) Beta tvOS support BetaDependencies
- ZIPFoundation for archiving Pulse documents (currently sponsoring it on GitHub)
Minimum Requirements
PulseUI views are available only on indicated platforms, but the framework can be installed in the app targeting the PulseCore platforms – you just won't be able to use the views.
Pulse Swift Xcode Platforms PulseCore 0.14.0 Swift 5.3 Xcode 12.0 iOS 11.0 / watchOS 6.0 / tvOS 11.0 / macOS 11.0 PulseUI 0.14.0 Swift 5.3 Xcode 12.0 iOS 13.0 / watchOS 7.0 / tvOS 13.0 / macOS 11.0License
Pulse is available under the MIT license. See the LICENSE file for more info.
Recommend
-
132
Tool to check AWS S3 bucket permissions. Compatible with Linux, MacOS and Windows, python 2.7 and 3. May be used as AWS Lambda function. What it does Checks all your buckets for public access ...
-
91
vue-inspector 0.4.3 Vue.js Inspector for Mobile Devices
-
96
inspector - A drop-anywhere C++ REPL
-
71
README.md idbg the debugger you embed into your project with composer Inspector Debugger (idbg) is a debugger for PHP 7.1+ written in PHP. Alpha Software i...
-
74
README.md Princeton IoT Inspector IoT Inspector is a standalone desktop app that lets you analyze your home IoT devices. It allows you to determine...
-
4
Monday, 14 December 2020 11:34 SolarWinds NTA puts the network admin's finger on the networking pulse By ...
-
6
Discover Web Inspector improvements Web Inspector provides the tools for you to understand and debug your web pages on macOS, iOS, and iPadOS. We'll take you through the latest features and improvements to Web Inspector, inclu...
-
14
Home iOS & Swift Tutorials Pulse SDK Integration Tutorial fo...
-
9
Become a Prioritised member toaccess this video and much more...
-
6
Apple Watch Infringed Masimo's Pulse Oximetry Patent, US Judge Rules MacRumors macrumors...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK