LittleBirdie is a minimalist Twitter client app for iOS written in Swift. I wrote this app to explore the usage of OAuth 1.0 and also to experiment with writing a modern networking stack for iOS. The accompanying blog post explains the OAuth 1.0 flow in detail.
- OAuth 1.0: No third-party libraries; implemented OAuth 1.0 from scratch, including the functions required to compute HMAC-SHA1 hash and derive OAuth signature etc.
- Modern Networking Stack: A neteworking stack based on generics. The usage of
APIRequest
,APIResponse
andRequestAdapter
makes the networking stack flexible and extensible. - MVVM Design Pattern: Shows how to use MVVM the right way by using data binding so that any change in model automatically triggers the view refresh.
- Insightful: Copious amount of comments and an accompanying blog post describe the thought process behind the design choices.
- Register your app on the Twitter Developer Portal.
- Obtain the
Consumer_Key
and theConsumer_Secret
for that app. - Decide on a callback scheme. LittleBirdie uses
muskitwitter
but you can use your own. - Update these values in the
TwitterAPIKeys.swift
file.