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:
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]) |
I hereby claim:
To claim this, I am signing this object:
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) | |
} |