LaunchApplication
LaunchApplication é uma biblioteca para você criar um sequencia de inicailização de forma simples e rápida.
Features
- Cria uma lista de etapas para serem executas de forma sincrona
- Cria uma lista "LaunchSequence"
- Cria uma lista "RelaunchSequence"
- Tenha o controle sobre os erros
Requirements
- iOS 9.3+
- Xcode 9.0+
- Swift 4.0+
Communication
- Se você encontrou um bug, abra uma issue.
- Se você tem uma nova feature, abra uma issue.
- Se você quer contribuir, envie uma pull request.
Example
Para rodar o projeto de exemplo, clone o repositório, e rode o comando pod install
no diretório Example primeiro.
Installation
LaunchApplication esta disponível através CocoaPods. Para instalar, basta adicionar a linha abaixo no seu Podfile:
pod 'LaunchApplication', :git => 'https://github.com/jjfernandes87/LaunchApplication.git'
Crie uma classe e extenda da LaunchApplication
class AppSequence: LaunchApplication {
...
}
Impemente o metodo launchAndRelaunchSequence, responsável por carregar a lista de launchSequence e relaunchSequence. Obs: No swift 4 é necessário informar @objc na frente do método.
class AppSequence: LaunchApplication {
/// Metodo responsável por carregar a lista de launch e relaunch
@objc func launchAndRelaunchSequence() {
launchSequence.append("LaunchStage_bootOne")
launchSequence.append("LaunchStage_bootTwo")
relaunchSequence.append("LaunchStage_bootOne")
relaunchSequence.append("LaunchStage_bootTwo")
}
}
Impemente os métodos que foram adicionar na lista de launchSequence e relaunchSequence. Obs: No swift 4 é necessário informar @objc na frente do método.
class AppSequence: LaunchApplication {
/// Metodo responsável por carregar a lista de launch e relaunch
@objc func launchAndRelaunchSequence() {
launchSequence.append("LaunchStage_bootOne")
launchSequence.append("LaunchStage_bootTwo")
relaunchSequence.append("LaunchStage_bootOne")
relaunchSequence.append("LaunchStage_bootTwo")
}
/// Metodo 1 para ser executado
@objc func bootOne() {
print("bootOne")
nextLaunchStage()
}
/// Metodo 2 para ser executado
@objc func bootTwo() {
print("bootTwo")
nextLaunchStage()
}
}
Agora que todos os métodos foram implementados, precisam chamar nossa classe no app delegate para que o processo de inicialização seja feito. Obs: Ao chamar o método launchWithDelegate(delegate: LaunchApplicationProtocol), lembre-se de implementar seu delegate.
class AppDelegate: UIResponder, UIApplicationDelegate, LaunchApplicationProtocol {
...
var launchSequence = AppSequence()
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
launchSequence.launchWithDelegate(delegate: self)
...
}
func didFinishLaunchSequence(application: LaunchApplication) {
print("Sucesso")
}
}
Author
jjfernandes87, [email protected]
License
LaunchApplication is available under the MIT license. See the LICENSE file for more info.