Skip to content

conqtc/Caster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Caster

Meet Caster, a podcast app purely written in Swift running on iOS.

User Interface

  • Custom TableViewController for transparent navigation bar and sizable list view's header (bounce effect)
  • Different types of table cell for UITableView
  • CollectionView inside TableView
  • UIVisualEffectView over podcast artwork
  • Auto-layout using UIStackView, auto-height table view...
  • Custom presentation controller to display non-full menus and dialogs as well as slide in animations
  • Draggable “Now Playing Mini Bar” always resides at the bottom of the screen

Networking Handling and Concurrent Programming

  • Retrieve the top post cast list from iTunes (XML web service)
  • Lookup podcast information based on podcast id (JSON web service) to get particular feed URL
  • Retrieve feed URL to parse for detail podcast info and episodes list
  • Download all of those files and artwork images
  • Use "semaphore" to collaborate Operation and URLSession tasks
  • Load artworks asynchronously

Media Streaming

  • KVOs (key value observers) and the media states
  • KVOs progress and buffer duration
  • The difference between AVPlayer.rate (requested rate) and AVPlayerItem.timebase (actual rate)

Data Parsing (XML and JSON)

Caster has two parsers (based on NSXMLParser) to parse XML data from top podcast list (ATOM format) and podcast feed RSS (RSS format).

System Integration

  • Display the artwork and handle play/pause/skip forward/skip backward from system’s control center and lock screen
  • Enable background audio playing
  • Enable the app to continue to work in background mode for around 3 mins, so that media event will be received event when the app is in the background.
  • Handle remote events from control center and lock screen

Screenshots

Main

Main Main Main

Drawer

Drawer

Countries

Countries

Top podcasts

Top podcasts

Search

Search

Podcast details

Podcast details

Podcast Info

Podcast Info

Now Playing

Now Playing

Item Info

Item Info

Draggable Now Playing Mini Bar

Now Playing Mini Bar

Control Center

Control Center

Lockscreen

Lockscreen

Video Playing

Video Playing

About

Another Podcast discover and player app for iOS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages