This is a collection of basic iOS examples created by Novoda. Most recent at the top.
Rick-and-Morty This is a project to be used for pairing sessions with potential new hires. The application is basically a
TabViewControllerwith 2 different tabs: "Rick" and "Morty". Each tab implements a
CollectionViewControllerwith 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 installfirst.
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 installbefore 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
.scnfiles 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
How to add a new project
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
.gitfolder inside of the project directory. Having a
.gitfolder in the project folder will create conflicts with the
.gitfolder 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 -laif there is a
.gitfolder. If XCode created a
.gitfolder at the root of the project, delete it by typing
rm -rf .gitin the Terminal while being inside your project folder.
Push your branch and make a PR. Your PR should have:
- Description of what the project is, or what changes you are making and why
- If you're adding a new project or making UI changes to an existing one, provide screenshots so the changes can be reviewed properly
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!