Skip to content

Instantly share code, notes, and snippets.

View pepicrft's full-sized avatar
🌱
Open-sourcing

Pedro Piñera Buendía pepicrft

🌱
Open-sourcing
View GitHub Profile
sake generate-xcodeproj
sake init
brew tap xcodeswift/sake git@github.com:xcodeswift/sake.git
brew install sake
// Sakefile
import SakefileDescription
import SakefileUtils
enum Task: String, CustomStringConvertible {
case build
var description: String {
switch self {
case .build:
return "Builds the project"
public final class SearchBuilder {
private let dependenciesSolver: SearchDependencies
public init(dependenciesSolver: SearchDependencies) {
self.dependenciesSolver = dependenciesSolver
}
public func makeViewController() -> UIViewController {
let client = dependenciesSolver.makeClient()
public protocol SearchDependencies: BaseDependencies {
func makeAnalytics() -> Analytics
}
class AppDependencies: BaseDependencies {
func makeClient() -> Client {
return Services.client
}
func makeLogger() -> Logger {
return Services.logger
}
}
public protocol BaseDependencies {
func makeClient() -> Client
func makeLogger() -> Logger
}
// Home.swift in uHome
import UIKit
import uCore
public class Home {
let client: Client
public init(client: Client) {
self.client = client
}
public func makeViewController(delegate: HomeDelegate) -> UIViewController {
// AppDelegate.swift
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func applicationDidBecomeActive(_ application: UIApplication) {
Services.playback.restoreState()
}
}