Skip to content

Instantly share code, notes, and snippets.

Tiago Martinho tiagomartinho

Block or report user

Report or block tiagomartinho

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
tiagomartinho / Add View
Created Nov 25, 2015
Swift Add View Extension
View Add View
import UIKit
extension UIView {
func addView(viewToAdd:UIView){
viewToAdd.frame = self.bounds
viewToAdd.autoresizingMask = [UIViewAutoresizing.FlexibleWidth, UIViewAutoresizing.FlexibleHeight]
View Apple TV Tech Talks Berlin
Mindset, best practices, etc.
The future of TV vs Mobile, different rates of innovation
Apps: Media (Netflix, youtube, HBO, etc.) -> optimised for the apple tv
Zoova, fitness
Gilt shopping
Games, disney infinity (like console gaming)
Does not commute
Alto adventure
Madeira , digital comic book
View XCTests on Device
instruments -s devices
xcodebuild -workspace $WORKSPACE.xcworkspace -scheme $SCHEME -destination 'platform=iOS,id=$AN_ID' clean test
View UIViewController+GATracker.swift
import UIKit
extension UIViewController {
func trackScreen(name: String) {
if let tracker = GAI.sharedInstance().defaultTracker {
tracker.set(kGAIScreenName, value: name)
let screenView = GAIDictionaryBuilder.createScreenView().build()
tracker.send(screenView as [NSObject : AnyObject])

Keybase proof

I hereby claim:

  • I am tiagomartinho on github.
  • I am tiago32 ( on keybase.
  • I have a public key ASDsmbBpPeSZxQa7jRAyyTSZ4wk1DsQ73ECM72FAeiDEjgo

To claim this, I am signing this object:

tiagomartinho / Fastfile
Last active May 2, 2018
Fastlane Configuration
View Fastfile
fastlane_require ‘dotenv’
before_all do
cocoapods(clean: true, repo_update: true)
run_tests(workspace: ENV[‘WORKSPACE’], scheme: ENV[‘SCHEME’])
desc “Push a new release build to the App Store”
lane :release do
increment_build_number(build_number: ENV[‘BITRISE_BUILD_NUMBER’], xcodeproj: ENV[‘PROJECT’])
build_app(workspace: ENV[‘WORKSPACE’], scheme: ENV[‘SCHEME’], configuration: “Release”, clean: true)
upload_to_app_store(skip_metadata: true, skip_screenshots: true, platform: ENV[‘PLATFORM’], app_identifier: ENV[‘APP_IDENTIFIER’], run_precheck_before_submit: false)
View .env.ios
View ThemeName.swift
enum ThemeName: String {
case light, dark, black
var theme: Theme {
switch self {
case .light:
return LightTheme()
case .dark:
return DarkTheme()
View Theme.swift
import UIKit
protocol Theme {
var name: ThemeName { get }
var tintColor: UIColor { get }
var barStyle: UIBarStyle { get }
var keyboardAppearance: UIKeyboardAppearance { get }
var backgroundColor: UIColor { get }
var secondaryBackgroundColor: UIColor { get }
var negativeBackgroundColor: UIColor { get }
View ThemeRepository.swift
protocol ThemeRepository {
func load() -> Theme
func save(_ theme: Theme)
You can’t perform that action at this time.