Skip to content

Instantly share code, notes, and snippets.

@tiagomartinho
tiagomartinho / Add View
Created November 25, 2015 13:13
Swift Add View Extension
import UIKit
extension UIView {
func addView(viewToAdd:UIView){
viewToAdd.frame = self.bounds
viewToAdd.autoresizingMask = [UIViewAutoresizing.FlexibleWidth, UIViewAutoresizing.FlexibleHeight]
self.addSubview(viewToAdd)
}
}
Intro
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
instruments -s devices
xcodebuild -workspace $WORKSPACE.xcworkspace -scheme $SCHEME -destination 'platform=iOS,id=$AN_ID' clean test
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 (https://keybase.io/tiago32) on keybase.
  • I have a public key ASDsmbBpPeSZxQa7jRAyyTSZ4wk1DsQ73ECM72FAeiDEjgo

To claim this, I am signing this object:

@tiagomartinho
tiagomartinho / Fastfile
Last active May 2, 2018 08:57
Fastlane Configuration
fastlane_require ‘dotenv’
before_all do
cocoapods(clean: true, repo_update: true)
run_tests(workspace: ENV[‘WORKSPACE’], scheme: ENV[‘SCHEME’])
end
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)
WORKSPACE=MyWorkspace.xcworkspace
PROJECT=MyProject.xcodeproj
SCHEME=iOS
APP_VERSION=1.0
PLATFORM=ios
APP_IDENTIFIER=com.tm.app
enum ThemeName: String {
case light, dark, black
var theme: Theme {
switch self {
case .light:
return LightTheme()
case .dark:
return DarkTheme()
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 }
protocol ThemeRepository {
func load() -> Theme
func save(_ theme: Theme)
}