iOS Development Help Site
By Nancy Liu
Dept. of Computer Science
iOS Help Site Navigation
iOS Help Site Home
Swift: Basics and Intros
Swift vs. Other Languages
Language Basics
Setup: Getting Started in Xcode
Playgrounds
Projects
Playground vs. Project
Stuck?
Projects: Basics in Xcode
The Interface Builder
Controllers
Views
Additional Features
Projects: Not as Basic
Segues
Delegating Protocols
Core Data and User Defaults
Multithreading
KVO
Extras
Introduced in Class
Others

Other useful links
Key Dates 2016-17
Final Exam Schedule
Register your i>clicker
Unicode
ASCII (Wikipedia)

Extras

This section is dedicated to some EXTRA COOL THINGS that are related to iOS and app-building in any fashion - and open source for the most part, except for the ones that offer a trial period before payment. Here, I'll give you links to libraries that allow you to app-build with more ease, or tools that let you do cool things faster, or platforms that add to the infrastructure of your app in some way.

In addition, this place will be a compilation of outside examples for the features that were introduced in class (some given demos), if you need them or would like examples on how to implement them in your app.

NOTE: At the time of referencing these websites or resources, they are free (or at least provide a trial period). This may change from when I initially encountered them. I also will not go into detail in how to implement any of the resources; this is only a place of reference if you're not sure what you want to use for your app (you might get inspiration from this list and then go off to find your own libraries!).

 

Things introduced in class

This section will just have references to outside tutorials of frameworks that have already been introduced in class - where most of these you've seen a demo for. Just in case you want to see another demo.

As always, don't take these tutorials word for word when it comes to code - versions of Xcode and Swift are always bound to change. These tutorials should help get you on the right track for implementation, not exact coding.

 

Animation

• Jayven N on Medium: UIView Animation in Swift 3

• Marin Todorov on raywenderlich: iOS Animation Tutorial: Getting Started 

• Abdul Karim on Codementor: Swift Beginner's Guide to View Animations 

 

Audio

• Colin Eberhardt on raywenderlich: AudioKit Tutorial: Getting Started 

• Chris Liscio on objc:  Functional Signal Processing Using Swift 

 

MapKit + Location

• Lyndsey Scott on raywenderlich:  Routing with MapKit and Core Location

• Swift Developer Blog:  MapView – Display User’s Current Location and Drop a Pin

 

Gestures + Motion

• @klaaspeiter on that thing in swift: Gesture Recognizers

• Caroline Begbie on (guess what) raywenderlich:  UIGestureRecognizer Tutorial: Getting Started

 

Camera + Photo Library

• FV iMAGINATION on TurboFuture: How to Access Photo Camera and Library in Swift

• Steven Lipton on Making App Pie: How to Use UIImagePickerController for a Camera and Photo Library in Swift 3.0

• Apple Developer's Guide: About the Camera and Photo Library 

 

Core Graphics

• Caroline Begbie on raywenderlich: Core Graphics Tutorial Part 1: Getting Started (Part 2 here)

• Hacking with Swift: Drawing into a Core Graphics context with UIGraphicsImageRenderer

• Arthur Knopper on iOScreator: Drawing Shapes with Core Graphics Tutorial

 

EventKit + Calendar

• Andrew Bancroft: Listing Calendar Events with Event Kit and Swift (he has many more tutorials in this series, this is just one of many)

• Apple Developer's Guide: Introduction to Calendars and Reminders

• Malek on SweetTutos: EventKit reminders manager : How to retrieve, create, and edit reminders from within your app in Swift

 

Core Location

• Andy Pereira on raywenderlich: Geofencing Tutorial with Core Location

• Hacking with Swift: Requesting location: Core Location

 

Cool Neato Things

Here is the section for neat things that might not be covered in class (though someone might mention them), but might prove useful to you. The below ranges from implemented libraries to simple websites and tools that will make your life a little easier.

 

Firebase : Firebase!! You may be familiar with Firebase because of its Cloud-related functions and infrastructure add-ons. This library provides many features, such as Cloud messaging and storage, but also authentication and realtime database syncing for all your login and data-storing needs. If you think you need more optimization and space than Core Data will allow, Firebase is a good.

CocoaPods : CocoaPods lets you implement other libraries and manage dependencies via Podfiles, and hosts its own large base of libraries. If you want customization or can't find the exact CocoaPod-compatible library, you can design and implement your own Podfiles that will do exactly what you need.

• Facebook iOS SDK  : If you want to implement Facebook in your app, this is the official Software Development Kit (SDK). With this, you can to login authentication, sharing content, setup and log events, and use the Graph API.

• RestKit : RestKit is a library that focuses on implementing RESTful web services clients, that also provides object mapping and integrates with Core Data. 

• Lottie : This library allows you to render animations (made with After Effects) in real time and add them to your app. There are multiple parts to Lottie; Bodymovin is the plugin that allows you to go from After Effects to .json so that Lottie can use it. The website gives you a rundown on how to get started, from setting up Bodymovin to integrating Lottie to the iOS platform.

Mapbox : If you're not entirely happy with how MapKit works or what it provides, Mapbox has put together many tools and features that might have what you want. They feature many APIs that you can call or pull from, depending on what navigation tool you want, and a drop-in SDK.

• App Iconizer : This simple website allows you to take an image and turn it into the app icons that you need for your app, as well as the icon set that the app store requires.

 

Cool neato lists

If the above list doesn't work for you, I have a short list of lists! For if, you know, you'd rather not Google and sift through all the generic titles yourself. In these compilation articles, many libraries will be similar, but just specific and different enough that one of them may suit your needs. (In other words, I didn't want to sift through a bunch of lists myself.)

39 Open Source Swift UI Libraries For iOS App Development

27 iOS open source libraries to skyrocket your development.