In 2014 Tyree Apps took on a project that forbade the use of 3rd party libraries. This seemed like a managable thing and the project began. However, when we realized this constraint applied to the build system, we cried a little. This talk outlines the build system we constructed with Xcode server, bots, and as little shell scripting as possible. If you are planning to leave Jenkins, Hockey, TestFlight or GitHub perhaps you want evidence that you should never leave them) then this talk is for you. Detailed scripts and code will be provided for download, but the talk will be more high-level than how-to.
This fast-paced day highlights concepts, syntax, and the latest best practices for the most recent version of Swift. If you are an experienced developer who hasn't had a chance to look at the new Swift Programming Language, this workshop is for you.
We'll look at language fundamentals: functions, variables and constants, collections, control-flow, optionals, generics, and closures. We'll look at Swift classes, objects, protocols, structs, and enumerations.
We’ll use the new Swift 2.0/ Xcode 7 Playgrounds to explore and experiment with Swift code.
There will be several hands-on portions of this workshop. To fully participate in those, you must have the Xcode 7 beta installed on your Mac.
New to iOS programming? This full day, hands-on tutorial focuses on the fundamentals to get you up and running. Over the course of the day, you’ll build two iOS apps while learning about the core tools, frameworks and concepts you need to start building apps of your own.
A look at the evolution of App Camp For Girls, from original idea in 2011 to App Camp 3.0 coming in Summer 2015. The process has been a continual learning experience and the lessons are applicable to any big endeavor, including your next app.
Jean will talk about where big ideas come from and what to do with them; how and when to start something new; building an audience for your idea; listening to feedback; iterating the execution; when to be flexible and when to be resolute.
When asked what UICollectionView is for, most iOS developers respond with some variation of "It's like UITableView, but with a grid." While this statement is mostly true, it greatly underestimates the utility of this powerful piece of UIKit. UICollectionView is actually a generic API for dynamically laying out a collection of views in an infinite scrollable canvas. The built in UICollectionViewFlowLayout implementation works very well for laying out a mostly uniform collection of views in a grid, but it only scratches the surface of UICollectionView.
To go beyond the grid, developers can implement custom layouts dynamically driven by app data. Changes to the data can instantly affect the layouts. These changes can be automatically animated and even imbued with physical properties via UIKitDynamics. With a little math and a lot of creativity, UICollectionView can be used to render timelines, charts and graphs, parallax scrolling landscapes and more. The aim of this session is to show, through working examples, how flexible and powerful UICollectionView really is.
Dropbox for iPhone was released in 2009, and since then, we've seen major changes to iOS. This talk will provide an inside look at how a mature app like Dropbox has been re-architected over time to keep up with the latest improvements in iOS. Ashley will also explore how the app is produced, from the APIs and technical architecture, to the practices followed that ensure consistent and quality code. Testing is crucial to keep the app reliable, so Ashley will speak about how Dropbox implements functional testing on iOS.
In this workshop we will be walking through the various myths and facts that surround Core Data. This workshop is designed to be a Q&A session with Marcus S. Zarra, author of Core Data for The Pragmatic Programmers. Marcus will take questions from the attendees and use those questions to shape the workshop to provide the most benefit and provide the most pertinent information needed. Instead of being a fixed format workshop, the workshop's content will flow in the directions that the attendees are most interested in.
Never used Core Data? We will walk through the steps to get started. Have an advanced question? We will dissect it and expose the answer. Something in between? Lets walk through it together and clear up the misconceptions.
The only minimum requirement for this workshop is a basic understanding of Objective-C and an interest in participating.
In this talk Marcus Zarra will be clarifying the *best* approach to using Core Data in a multi-threaded environment. He will break down when you should be using Core Data on multiple threads, why you should be doing it and when you should not.
By the end of this talk you will have a firm grasp of how Core Data is meant to be used in a multi-threaded environment and with that knowledge you will be able to utilize Core Data properly whether you are using one thread or many.
Whether we work a normal job and have side projects for the nights and weekends, or whether we’re independent developers who have both indie apps and client work, as programmers we often code on more than one project throughout the week. In this talk, Manton will present a list of 10 things to think about when juggling multiple projects. We’ll discuss tips for being productive and making the most of the valuable but limited time we have to ship something great.
Recent iOS releases have added a lot to this key UI element. Give the table views in your app a modern makeover by taking advantage of features and adjusting to subtle changes in appearance and behavior. We'll do a live makeover—add Dynamic Type and dynamic row sizes, modernize the selection appearance, update Storyboard settings and other bits of polish needed to make a table view shine. We’ll also take a look at adding search to your table view using the new UISearchController.
The rules we agree on define the games we play. We see this in methodologies we adopt for software development, in the mathematics we were forced to learn in high school, and in the syntax and grammar of the languages we choose to use.
During this talk we'll explore cases in which the implication of axioms are clear and cases in which they are far from clear.
There will be a quiz.
You've seen the Red-Green-Refactor demo a hundred times. But how can you take basic testing knowledge and apply it to day-to-day Mac and iOS development? This session includes a more practical look at testing, and how it can save you a great deal of pain over the long run. Learn how to test your networking stack against both local and remote data, how to quickly and easily make sure your CoreData stack can open up your database after changing your model, the basics of UI testing, and some tools to help you figure out what it is that you're testing - and what it is that you're not.
We all know that writing automated tests for your projects is an excellent practice. Most of us who have done so also know that creating and keeping up a test suite is often a lot of work and, though we are loathe to admit it in polite company, sometimes we don’t do it.
But what if we could get value out of automated tests without having to actually write all of those tests manually (like some kind of caveman)? In this talk, we’ll discuss a number of tools that help us do just that. By generating random UI events, comparing screenshots from different versions of our code, and setting properties to random values, we can catch a lot of errors while spending comparatively little time maintaining out test suite.
The speakers here at CocoaConf can talk for an hour or more on a variety of prepared topics --- but we bet they can't talk for an entire minute on topics we spring on them. Based on the long-running BBC game show "Just a minute", our panelists need to speak for a minute on topics suggested by our host and by the audience without hesitation, repetition, or deviation.
Apple introduced WatchKit in November and developers have been abuzz building the first versions of their apps for the Apple Watch. WatchKit supports building interactive notifications, glances, extensions. WatchKit extensions are not as powerful as fully native apps can be on the Apple Watch, but they are still flexible enough to keep developers busy for the initial launch.
This talk will recap what we’ve been able to build using WatchKit and also take a look forward to what we hope to see in the native Apple Watch SDK expected to be introduced at WWDC. By now we’ve seen many examples of excellent WatchKit extensions. We’ll discuss some of the innovative techniques developers have found to build amazing experiences using this initial toolset, and how things may change with access to a native SDK.
The Apple Watch is the most personal computer that Apple has ever made and it’s going to require a change in our thinking about how we approach building personal software. We’ll be thinking about how to tailor our approach to software design towards these new devices and how we hope to build great experiences with access to things like the accelerometer, heart rate sensor, taptic engine, and digital crown.