CocoaPods trunk is moving to be read-only. Read more on the blog, there are 18 months to go.

LaunchApplication 1.0.0

LaunchApplication 1.0.0

Maintained by jjfernandes87.



LaunchApplication

LaunchApplication é uma biblioteca para você criar um sequencia de inicailização de forma simples e rápida.

CI Status Version License Platform

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.