This is a collection of basic iOS examples created by Novoda. Most recent at the top.
This is a project to be used for pairing sessions with potential new hires. The application is basically a
TabViewController with 2 different tabs: "Rick" and "Morty". Each tab implements a
CollectionViewController with a hardcoded data source. The implementation is really basic so there is plenty of refactoring potential.
Adaptive iOS Design This demo is not a full application but simply shows different stages of getting a sample screen design to behave adaptively. It is part of a Hack & Tell I gave on adaptive iOS design. See linked pdf for the H&T slides.
Kaleidoscope (no tests) A simulated kaleidoscope. It follows the standard MVC pattern but uses no reactive programming. It also has no tests. I'm planning to rewrite it from scratch strictly following TDD to see what the differences are.
Calculator - Your First iOS App A very simple calculator app, with just enough interesting bits to give an idea of what an iOS app looks like from a developer's point of view. No, it has no error checking or unit tests, and doesn't follow the MVC pattern the way it should, but it's a start.
Earl Grey demo: A demo project showing how to use Earl Grey in an iOS project. Also includes our wrapper API which makes it easier to use (see the UITest file). Requires a
gem install earlgrey && pod install first.
Cucumberish - BDD testing framework + sample app: Sample iOS app with the Cucumberish - BDD testing framework. Includes implementation of the UI tests on MiraclePillUITests target. Requires
pod install before opening xcworkspace. It is part of the blog post.
CustomScheduler A custom scheduler to easily run tasks either in the back- or the foreground.
UIView+Autolayout extends UIView; Import this into your project to be able to use constraints programmatically in a straightforward way.
ARDemos: This repository is a basic iOS app using ARKit to allow adding of custom
.scn files so that they can be viewed through a device in augmented reality. No prior knowledge of any code is required.
MVVM Example : Sample app using MVVM architecture. Currently in progress
Pull from master and create a new branch with your project and/or changes
If you are creating a new project make sure that XCode did not create a
.git folder inside of the project directory.
.git folder in the project folder will create conflicts with the
.git folder that sits at the root of the repository — that is the correct place for it.
You can check that by going inside the project folder on terminal and entering
ls -la if there is a
.git folder. If XCode created a
.git folder at the root of the project, delete it by typing
rm -rf .git in the Terminal while being inside your project folder.
Push your branch and make a PR. Your PR should have:
Someone will code review your PR as soon as possible. From there, it could be approved right away and merged — great job! 🎉 — or it may require some more work. Don't worry if that's the case, the team will work with you to make the necessary changes and get your PR merged!