A collection of helper function / class to reuse in different projects while building iOS / macOS application.
Aibo is 相棒 in Japanese which means buddy. Aibo will always company with you, no matter which project you are working on.
Ainoaibo is maintained by ainopara and not supposed to fit everyone's need.
Even though this repo is generally a collection of codes which have many third party dependencies, I tried my best to devide them into different components.
Each component is represented in podspec as subspec. You can import component for your needs.
A shared defination which is used to help Applications / other frameworks create their own Logging
helper function to meet the need of OSLogger
.
A CocoaLumberjack
logger which can utilize information extracted from objects conforming to LoggingProtocol
.
let dependency = ["Ainoaibo/LoggingProtocol", "CocoaLumberjack"]
An internal component which offer helper function for logging which is supposed to be used by other components in this repo.
let dependency = ["Ainoaibo/LoggingProtocol", "CocoaLumberjack"]
A NSUserDefaults
backed Settings base class which offer methods to bind key stored in NSUserDefaults
to MutableProprty
.
let dependency = ["Ainoaibo/Logging", "ReactiveSwift"]
A collection of helper function and extension about types in Swift Standard Library.
let dependency = []
Save logs in memory and can be accessed inside application.
let dependency = ["CocoaLumberjack"]
Used to inspect logs inside application. It is specially useful when your application encouter a bug that hard to reproduce while debugger is not attaching to the process.
let dependency = ["Ainoaibo/InMemoryLogger", "SnapKit"]
InMemoryLogViewController
is expected to be embedded in a UINavigationController
.
let debugTab = UINavigationController(rootViewController:
InMemoryLogViewController()
)
let tabBarController = UITabBarController(nibName: nil, bundle: nil)
tabBarController.viewControllers = [
debugTab
]
or
self.navigationController?.pushViewController(InMemoryLogViewController(), animated: true)
DateLogFormatter
: Insert timestamp at the beginning of every log message.
DispatchQueueLogFormatter
: Insert dispatch queue at the beginning of every log message.
ErrorLevelLogFormatter
: Insert error level of the message at the beginning of every log message.
let dependency = ["CocoaLumberjack"]
BSD