Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tadija/AEConsole
Customizable Console UI overlay with debug log on top of your iOS App
https://github.com/tadija/AEConsole
Last synced: 3 days ago
JSON representation
Customizable Console UI overlay with debug log on top of your iOS App
- Host: GitHub
- URL: https://github.com/tadija/AEConsole
- Owner: tadija
- License: mit
- Created: 2016-03-30T00:02:05.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2022-03-30T11:13:13.000Z (over 2 years ago)
- Last Synced: 2024-11-30T21:42:57.000Z (12 days ago)
- Language: Swift
- Homepage:
- Size: 253 KB
- Stars: 148
- Watchers: 7
- Forks: 21
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ios - AEConsole - Customizable Console UI overlay with debug log on top of your iOS App. (Debugging / Getting Started)
- awesome-swift - AEConsole - Customizable Console UI overlay with debug log on top of your iOS App. (Libs / Logging)
- awesome-swift - AEConsole - Customizable Console UI overlay with debug log on top of your iOS App. (Libs / Logging)
- awesome-ios-star - AEConsole - Customizable Console UI overlay with debug log on top of your iOS App. (Debugging / Getting Started)
- fucking-awesome-swift - AEConsole - Customizable Console UI overlay with debug log on top of your iOS App. (Libs / Logging)
- fucking-awesome-ios - AEConsole - Customizable Console UI overlay with debug log on top of your iOS App. (Debugging / Getting Started)
- fucking-awesome-ios - AEConsole - Customizable Console UI overlay with debug log on top of your iOS App. (Debugging / Getting Started)
- awesome-swift - AEConsole - Customizable Console UI overlay with debug log on top of your iOS App ` 📝 a year ago ` (Logging [🔝](#readme))
README
[![Swift 5.5](https://img.shields.io/badge/Swift-5.5-orange.svg?style=flat)](https://swift.org)
[![Platforms iOS](https://img.shields.io/badge/Platforms-iOS-lightgray.svg?style=flat)](http://www.apple.com)
[![CocoaPods](https://img.shields.io/cocoapods/v/AEConsole.svg?style=flat)](https://cocoapods.org/pods/AEConsole)
[![Carthage](https://img.shields.io/badge/Carthage-compatible-brightgreen.svg?style=flat)](https://github.com/Carthage/Carthage)
[![Swift Package Manager](https://img.shields.io/badge/SPM-compatible-brightgreen.svg)](https://github.com/apple/swift-package-manager)
[![License MIT](https://img.shields.io/badge/License-MIT-lightgrey.svg?style=flat)](https://github.com/tadija/AELog/blob/master/LICENSE)# AEConsole
**Customizable Console UI overlay with debug log on top of your iOS App**
**AEConsole** is built on top of [AELog](https://github.com/tadija/AELog), so you should probably see that first.
> I wanted to see what's happening 'under the hood' while testing some app AFK (ex. outside).
> Then I made it possible. Hope you'll like it too, happy coding!![AEConsole](http://tadija.net/projects/AEConsole/AEConsole.png)
## Index
- [Features](#features)
- [Usage](#usage)
- [Quick Help](#quick-help)
- [Installation](#installation)
- [License](#license)## Features
- **All the things** from [AELog](https://github.com/tadija/AELog) plus:
- Console UI overlay **on top of your App**
- **Debug log on device** in real time
- **Automatic row height** for all log lines
- **Forward touches** to your App
- **Shake to toggle** Console UI
- **Filter log** to find exactly what you need
- **Export log** to file if you need it for later
- **Share log file** easily via system sharing sheet
- **Customize look** as you like it## Usage
Calling `Console.shared.configure(in: window)` will add `Console.View` as a subview to your App's window and make it hidden by default.
Whenever you need Console UI, you just make a shake gesture and it's there! When you no longer need it, shake again and it's gone.The rest is up to [AELog's](https://github.com/tadija/AELog) logging functionality. Whatever is logged with it, will show up in `Console.View`.
```swift
// MARK: - Console configurationfunc application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool
{
/// - Note: Access Console settings
let settings = Console.shared.settings/// - Note: Customize Console settings like this, these are defaults:
settings.isShakeGestureEnabled = true
settings.backColor = UIColor.black
settings.textColor = UIColor.white
settings.fontSize = 12.0
settings.rowSpacing = 4.0
settings.opacity = 0.7/// - Note: Configure Console in app window (it's recommended to skip this for public release)
Console.shared.configure(in: window)/// - Note: Log something with AELog
aelog()return true
}
``````swift
// MARK: - Additional Console API/// - Note: Check if Console is hidden
Console.shared.isHidden/// - Note: Toggle Console visibility
Console.shared.toggle()/// - Note: Add any log line manually
Console.shared.addLogLine(line: "Hello!")/// - Note: Export log file manually
Console.shared.exportLogFile { (fileURL) in
do {
let url = try fileURL()
/// - Note: do something with a log file at given file URL...
} catch {
print(error)
}
}
```## Quick Help
This should explain all the features of Console UI:
![AEConsole](http://tadija.net/projects/AEConsole/AEConsole-QuickHelp.png)
Feature | Description
------------ | -------------
Export Log | will make `AELog_{timestamp}.txt` file in Application Documents directory and present sharing sheet.
Filter Log | filter is not case sensitive.
Toggle Toolbar | works for both filter and menu toolbars simultaneously.
Toggle Forward Touches | when active you can interact with your App, otherwise you can interact with the log.
Toggle Auto Follow | when active it will automatically scroll to the new log lines, otherwise it will stay put.
Clear Log | you can't undo this.
Pan Gesture over Menu Toolbar | left is more transparent, right is more opaque.## Installation
- [Swift Package Manager](https://swift.org/package-manager/):
```swift
.package(url: "https://github.com/tadija/AEConsole.git", from: "0.7.2")
```
- [Carthage](https://github.com/Carthage/Carthage):```ogdl
github "tadija/AEConsole"
```
- [CocoaPods](http://cocoapods.org/):```ruby
pod 'AEConsole'
```## License
AEConsole is released under the MIT license. See [LICENSE](LICENSE) for details.