The unofficial WWDC app for macOS
insidegui Merge pull request #506 from marcocapano/master
Removed the year from the label for non-WWDC events
Latest commit a0de0b7 Sep 14, 2018
Permalink
Failed to load latest commit information.
.github Updates ReadMe and Issue Template to include references to the code o… Jan 22, 2018
ConfCore Use IN predicate Aug 10, 2018
ConfCoreTests Refactor titlebar, stubs for many components of downloads window Jul 23, 2018
Crashlytics.framework Updates fabric frameworks Mar 9, 2018
Design Using icon in asset catalog from original images, potential fix for #311 Sep 12, 2017
Fabric.framework Updates fabric frameworks Mar 9, 2018
Fixtures Added layout fixture for playlists May 29, 2018
PlayerUI Improved annotation text fading in/out when scrubbing Aug 22, 2018
Releases Added release zip, updated appcast Jul 4, 2018
Resources Added interface icons to repo Feb 17, 2017
ThrowBack Unify asset retrieval Aug 10, 2018
TranscriptIndexingService Use https for asciiwwdc Jun 19, 2018
WWDC.xcodeproj Update dependencies Aug 10, 2018
WWDC Removing old comment + unnecessary strings altering Sep 14, 2018
screenshots Further contributing updates Jun 20, 2018
.gitignore The icon is now in the repo 🎉 May 31, 2017
.swiftlint.yml Update dependencies Aug 10, 2018
.travis.yml Update Travis configuration Aug 10, 2018
Brewfile Update Travis configuration Aug 10, 2018
CODE_OF_CONDUCT.md Adopt Contributor Covenant Jan 22, 2018
CONTRIBUTING.md Further contributing updates Jun 20, 2018
Cartfile Fixes #464 by updating Realm to 3.7.3 Jun 19, 2018
Cartfile.resolved Update dependencies Aug 10, 2018
Gemfile Adds missing gemfile May 15, 2018
Gemfile.lock Adds missing gemfile May 15, 2018
LICENSE Version 5 app skeleton Feb 5, 2017
README.md Added section to readme pointing to contribution guidelines Jun 19, 2018
bootstrap.sh Update dependencies Aug 10, 2018
cleardata.sh Two small fixes Mar 19, 2018
resetSync.sh Removed CommunitySupport May 29, 2018

README.md

The unofficial WWDC app for macOS

WWDC for macOS allows both attendees and non-attendees to access WWDC livestreams, videos and sessions during the conference and as a year-round resource.

⬇️ If you just want to download the latest release, go to the website.

Schedule

The schedule tab shows the schedule for the most recent WWDC, and allows you to watch live streams for the Keynote and other sessions throughout the week.

schedule

Videos

Watch this year's videos as they're released and access videos from previous years. With ASCIIWWDC integration, you can also read transcripts of sessions and easily jump to a specific point in the relevant video.

videos

Video features

  • Watch videos in 0.5x, 1x, 1.5x or 2x speeds
  • Fullscreen and native picture-in-picture support
  • Navigate video contents easily with the help of transcripts

Chromecast

You can watch WWDC videos (both live and on-demand) on your Chromecast. Just click the Chromecast button while playing a video, choose your device from the list and control playback using the Google Home app on your phone.

chromecast

Bookmarks

Have you ever found yourself watching a WWDC session and wishing you could take notes at a specific point in the video to refer back to later on? This is now possible with bookmarks.

With bookmarks, you can create a reference point within a video and add an annotation to it. Your bookmark annotations can also be considered while using the search, so it's easier than ever to find the content you've bookmarked before.

bookmarks

iCloud Sync

With version 6.0, you can try out our new iCloud sync feature. Enable the feature in preferences and your favorites, bookmarks and progress in sessions will be synced accross all your Macs.

Sharing

You can easily share links to sessions or videos by using the share button. The links shared are for Apple's developer website, but the app can open these links if you drag them into the icon (or if you use BrowserFreedom).

Nerdy bits 🤓

Code of Conduct

We expect all of our contributors to help uphold the values set out in our code of conduct. We fundamentally believe this will help us build a better community, and with it a better app.

Contributing

Please read the contribution guidelines before opening an issue or pull request.

External libraries

A number of third-party libraries are used by the app:

Internal libraries

  • ConfCore is the core of the app that deals with Apple's WWDC API, data storage, caching, syncing and transcripts (everything that has to do with data, basically)
  • PlayerUI contains the UI components for the video player and some general-purpose UI components used throughout the app
  • ThrowBack provides support for migration of user data and preferences from old versions of the app

Building the app

Building requires Xcode 9.3 or later.

Building the app requires Carthage to be installed.

Clone this branch and before opening the project, run ./bootstrap.sh to fetch the dependencies (this script can take a while to run, that's normal).

Since the app uses CloudKit, when you build it yourself, all of the CloudKit-dependant functionality will not be available. CloudKit requires a provisioning profile and a paid developer account.

To build the app yourself without the need for a developer account and a CloudKit container, always use the WWDC target when building. The WWDC with iCloud target requires a paid developer account and a CloudKit container, which you won't be able to create because of the app's bundle identifier.

schedule

Clearing app data during development

If you need to clear the app's preferences and stored data during development, you can run ./cleardata.sh in the project folder. This will delete all of your preferences and data like favorites, bookmarks and progress in videos, so be careful.