Pulse it not just a tool, it’s a framework. PulseUI.framework contains all the UI components you see on the screenshots.
MainView #
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.
Custom Views #
Pulse gives you complete access to the underlying data and its model. You can easily create custom views into your log data by using affordances provided by SwiftUI:
struct AnalyticsLogsView: View {
@FetchRequest(
sortDescriptors: [NSSortDescriptor(keyPath: \LoggerMessageEntity.createdAt, ascending: true)],
predicate: NSPredicate(format: "label == %@", "analyics")
) var messages: FetchedResults<LoggerMessageEntity>
var body: some View {
List(messages, id: \.objectID) { message in
VStack(alignment: .leading) {
Text(timeFormatter.string(from: message.createdAt))
.font(.footnote)
.foregroundColor(.secondary)
Text(message.text)
.lineLimit(2)
}
}
}
}
let timeFormatter = DateFormatter(format: "HH:mm:ss.SSS")
Screenshots #
iOS #














watchOS #




tvOS #