In the previous sections we built a rails server for Voicey. This API handles signing in, account creation and the ability to create voice memos.

In this next sections, we are going to create an iOS app that will consume our API.

Creating an iOS App for Voicey

Create a new Xcode project and give it a name.

Xcode New

Project breakdown

Lets breakdown the components of the app we have to build.

  • We need a way to handle account creation and login.
  • Display a list of users's memos
  • Preview a selected memo and play the associated voice file if there is any (Memos don't have to have a voice attachment).
  • A way to create a new memo
  • A way to edit an existing memo

Now that we have a game plan on what to build, lets get started by building views for our application.

Lets start by cloning the started project repo:

Voicey iOS Starter Project

Structure of the starter project

|-voicy-ios.xcodeproj
  |-voicy-ios
  |  |-UI
  |  |  |-Cells
  |  |  |-Scenes
  |  |  |  |-AppDelegateScene
  |  |  |  |-MemoScene
  |  |  |  |  |-ViewControllers
  |  |  |  |-AuthenticationScene
  |  |  |  |  |-ViewControllers
  |  |-Networking
  |  |  |-APIClients
  |  |  |-Models
  |  |-Assets.xcassets
  |  |  |-AppIcon.appiconset
  |  |-Extensions
  |  |-voicy_ios.xcdatamodeld
  |  |  |-voicy_ios.xcdatamodel
  |-voicy-iosTests

Creating models for our Memo and User objects

We will need JSON models for decoding our user and memo objects from our api.

Create JSON models for User and Memo under the Networking/Models folder.

Summary

Feedback

If you have feedback on this tutorial or find any mistakes, please open issues on the GitHub Repository or comment below.

Summer academy

An iOS Development Summer Course

Design, code and launch your own app. Locations in San Francisco and Asia

Find your location

Product College

A computer science college

Graduate into a successful career as a founder or software engineer.

Learn more

Cookies on Make School's website

We have placed cookies on your device to ensure that we give you the best experience on our website.

This site uses cookies to deliver our services. By using our site, you acknowledge that you have read and understand our Cookie Policy, Privacy Policy, and our Terms of Service. Your use of Make School’s Products and Services is subject to these policies and terms.

Please note that Make School no longer supports Internet Explorer

We recommend upgrading to a modern web browser. Learn more