WWDCScholars is a community of Apple WWDC Scholarship winners

Overview

WWDCScholars iOS App

WWDCScholars is a community of Apple WWDC Scholarship winners. Every year bright minds from all around the world compete against each other for a free ticket to Apple's yearly developers conference. The scholarship recipients share their winning projects in our iOS App and on our website (WWDCScholars.com).

We are currently building the next version of the app. Our previous app for Batch 2015 is located in this repository - https://github.com/WWDCScholars/WWDC-Scholars-iOS-2015

Getting Started

WWDCScholars is based on Apple's BaaS, CloudKit. To use this project you need to obtain credentials for CloudKit.

Contributing

We are always on the lookout for new ideas and improvements to the current version of this project. Do you want to help us shape the future of WWDCScholars? Check out what we are currently working on in the issues.

In case you have a technical question or need some guidance, don't hesitate to open a new issue yourself.

Social

Related Projects

License

The WWDCScholars iOS App is available under the MIT license. See the LICENSE file for more information.

Comments
  • Chat seems to be crashing when tab bar is clicked

    Chat seems to be crashing when tab bar is clicked

    This is the error I am having.

    2016-06-03 11:11:51.905 Scholars[7625:1338802] *** Assertion failure in -[Scholars.ChatViewController viewWillAppear:], /WWDCScholarsIOSLatest/JSQMessagesViewController/Controllers/JSQMessagesViewController.m:277 2016-06-03 11:11:51.917 Scholars[7625:1338802] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: self.senderId != nil' *** First throw call stack: ( 0 CoreFoundation 0x00000001030a1d85 __exceptionPreprocess + 165 1 libobjc.A.dylib 0x0000000102a44deb objc_exception_throw + 48 2 CoreFoundation 0x00000001030a1bea +[NSException raise:format:arguments:] + 106 3 Foundation 0x000000010268ed5a -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 198 4 Scholars 0x000000010034f386 -[JSQMessagesViewController viewWillAppear:] + 342 5 UIKit 0x00000001048482bd -[UIViewController _setViewAppearState:isAnimating:] + 710 6 UIKit 0x0000000104848958 -[UIViewController __viewWillAppear:] + 149 7 UIKit 0x0000000104887c83 -[UINavigationController _startTransition:fromViewController:toViewController:] + 781 8 UIKit 0x0000000104888c4d -[UINavigationController _startDeferredTransitionIfNeeded:] + 890 9 UIKit 0x0000000104889d0b -[UINavigationController __viewWillLayoutSubviews] + 57 10 UIKit 0x0000000104a38503 -[UILayoutContainerView layoutSubviews] + 248 11 UIKit 0x0000000104762980 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 703 12 QuartzCore 0x0000000100e7ac00 -[CALayer layoutSublayers] + 146 13 QuartzCore 0x0000000100e6f08e _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 366 14 QuartzCore 0x0000000100e6ef0c _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 24 15 QuartzCore 0x0000000100e633c9 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 277 16 QuartzCore 0x0000000100e91086 _ZN2CA11Transaction6commitEv + 486 17 UIKit 0x00000001046a272e _UIApplicationHandleEventQueue + 7135 18 CoreFoundation 0x0000000102fc7301 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 19 CoreFoundation 0x0000000102fbd22c __CFRunLoopDoSources0 + 556 20 CoreFoundation 0x0000000102fbc6e3 __CFRunLoopRun + 867 21 CoreFoundation 0x0000000102fbc0f8 CFRunLoopRunSpecific + 488 22 GraphicsServices 0x0000000106cd1ad2 GSEventRunModal + 161 23 UIKit 0x00000001046a7f09 UIApplicationMain + 171 24 Scholars 0x00000001004216a2 main + 114 25 libdyld.dylib 0x000000010692892d start + 1 26 ??? 0x0000000000000001 0x0 + 1 ) libc++abi.dylib: terminating with uncaught exception of type NSException (lldb)

    bug 
    opened by michieriffic 7
  • App crashes when trying to edit profile

    App crashes when trying to edit profile

    There's a bug that causes an app crash when I try to edit my profile. It happens indistinctly of the way I try to get into the EditProfileTableViewController: Using the profile icon, tapping the edit button when in my profile or through the home screen quick-action. The error stack:

    #1  0x000000010017b860 in URLRequest(Method, URLStringConvertible, headers : [String : String]?) -> NSMutableURLRequest at /Volumes/Transcend/XCode/WWDCScholars-iOS/WWDCScholars/Source/Alamofire.swift:92
    fatal error: unexpectedly found nil while unwrapping an Optional value
    
    

    To add more information, my profile was created for last year's scholars app, and I didn't create the account so I logged in using the default password.

    bug 
    opened by clasqui 2
  • Bump addressable from 2.7.0 to 2.8.0

    Bump addressable from 2.7.0 to 2.8.0

    Bumps addressable from 2.7.0 to 2.8.0.

    Changelog

    Sourced from addressable's changelog.

    Addressable 2.8.0

    • fixes ReDoS vulnerability in Addressable::Template#match
    • no longer replaces + with spaces in queries for non-http(s) schemes
    • fixed encoding ipv6 literals
    • the :compacted flag for normalized_query now dedupes parameters
    • fix broken escape_component alias
    • dropping support for Ruby 2.0 and 2.1
    • adding Ruby 3.0 compatibility for development tasks
    • drop support for rack-mount and remove Addressable::Template#generate
    • performance improvements
    • switch CI/CD to GitHub Actions
    Commits
    • 6469a23 Updating gemspec again
    • 2433638 Merge branch 'main' of github.com:sporkmonger/addressable into main
    • e9c76b8 Merge pull request #378 from ashmaroli/flat-map
    • 56c5cf7 Update the gemspec
    • c1fed1c Require a non-vulnerable rake
    • 0d8a312 Adding note about ReDoS vulnerability
    • 89c7613 Merge branch 'template-regexp' into main
    • cf8884f Note about alias fix
    • bb03f71 Merge pull request #371 from charleystran/add_missing_encode_component_doc_entry
    • 6d1d809 Adding note about :compacted normalization
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Bump excon from 0.66.0 to 0.71.0

    Bump excon from 0.66.0 to 0.71.0

    Bumps excon from 0.66.0 to 0.71.0.

    Changelog

    Sourced from excon's changelog.

    0.71.0 2019-12-12

    fix for leftover data with interrupted persistent connections

    0.70.0 2019-12-02

    Update bundled certificates

    0.69.1 2019-11-21

    Fix mistake in proxy connection error handling

    0.69.0 2019-11-21

    Raise better proxy connection errors

    0.68.0 2019-10-25

    Updated bundled certs

    0.67.0 2019-09-24

    Properly redact user/pass info from proxy credentials Update bundled certs

    Commits
    • 1149d44 v0.71.0
    • ccb57d7 fix for leftover data with interrupted persistent connections
    • f8de8cf v0.70.0
    • 93f4a21 v0.69.1
    • e89bbb7 Merge pull request #709 from jasquat/fix_response_status_check
    • 5647437 fixed response status check when making a request with a valid proxy is set
    • f769176 v0.69.0
    • 20c0748 define ProxyConnectionError
    • f44106a raise on failed proxy connect
    • d7ed5fe be thorough in unsubscribing to notifications in instrumentation tests
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot ignore this [patch|minor|major] version will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • make ActivityQueryItem & ActivityTimelineFilter indexable?

    make ActivityQueryItem & ActivityTimelineFilter indexable?

    "Type is not marked indexable" - error in ActivityViewControllerProxy.swift: loadActivityTimelineFilters() "Type is not marked indexable" - error in ActivityViewControllerProxy.swift: loadActivityQueryItems()

    Afaik there has to be at least one indexable attribute in order to perform a query on a "Type".

    question 
    opened by thisIsTheFoxe 1
  • To add ability to submit post directly from the iOS app instead of URL

    To add ability to submit post directly from the iOS app instead of URL

    @matthijs2704 @Sam0711er @Andrew-Walker

    I would like to try to add a WYSIWG editor directly to our app to be able to submit post. Are you cool with that or you guys prefer people to submit using the SafariViewController?

    suggestion 
    opened by michieriffic 1
  • Link of BlogPost

    Link of BlogPost

    Upon testing different html results for the blog. I noticed that if someone clicks on a link in the blogpost, the whole webview will be change to the specific website. Is there a work around here that if they clicked they'll will be transferred to a SafariViewController instead? Because there is no way to get back to the post once they click the link. Thanks.

    bug 
    opened by michieriffic 1
  • Make screens dark appearance compatible

    Make screens dark appearance compatible

    • Make screens dark appearance compatible
    • Update frameworks for iOS 13
    • Add frameworks to repo using LFS
    • Add signing using Fastlane match
    • Update fastlane lanes
    enhancement UI 
    opened by moritzsternemann 0
  • Bump addressable from 2.7.0 to 2.8.1

    Bump addressable from 2.7.0 to 2.8.1

    Bumps addressable from 2.7.0 to 2.8.1.

    Changelog

    Sourced from addressable's changelog.

    Addressable 2.8.1

    • refactor Addressable::URI.normalize_path to address linter offenses (#430)
    • remove redundant colon in Addressable::URI::CharacterClasses::AUTHORITY regex (#438)
    • update gemspec to reflect supported Ruby versions (#466, #464, #463)
    • compatibility w/ public_suffix 5.x (#466, #465, #460)
    • fixes "invalid byte sequence in UTF-8" exception when unencoding URLs containing non UTF-8 characters (#459)
    • Ractor compatibility (#449)
    • use the whole string instead of a single line for template match (#431)
    • force UTF-8 encoding only if needed (#341)

    #460: sporkmonger/addressable#460 #463: sporkmonger/addressable#463 #464: sporkmonger/addressable#464 #465: sporkmonger/addressable#465 #466: sporkmonger/addressable#466

    Addressable 2.8.0

    • fixes ReDoS vulnerability in Addressable::Template#match
    • no longer replaces + with spaces in queries for non-http(s) schemes
    • fixed encoding ipv6 literals
    • the :compacted flag for normalized_query now dedupes parameters
    • fix broken escape_component alias
    • dropping support for Ruby 2.0 and 2.1
    • adding Ruby 3.0 compatibility for development tasks
    • drop support for rack-mount and remove Addressable::Template#generate
    • performance improvements
    • switch CI/CD to GitHub Actions
    Commits
    • 8657465 Update version, gemspec, and CHANGELOG for 2.8.1 (#474)
    • 4fc5bb6 CI: remove Ubuntu 18.04 job (#473)
    • 860fede Force UTF-8 encoding only if needed (#341)
    • 99810af Merge pull request #431 from ojab/ct-_do_not_parse_multiline_strings
    • 7ce0f48 Merge branch 'main' into ct-_do_not_parse_multiline_strings
    • 7ecf751 Merge pull request #449 from okeeblow/freeze_concatenated_strings
    • 41f12dd Merge branch 'main' into freeze_concatenated_strings
    • 068f673 Merge pull request #459 from jarthod/iso-encoding-problem
    • b4c9882 Merge branch 'main' into iso-encoding-problem
    • 08d27e8 Merge pull request #471 from sporkmonger/sporkmonger-enable-codeql
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump jmespath from 1.4.0 to 1.6.1

    Bump jmespath from 1.4.0 to 1.6.1

    Bumps jmespath from 1.4.0 to 1.6.1.

    Release notes

    Sourced from jmespath's releases.

    Release v1.6.1 - 2022-03-07

    • Issue - Use JSON.parse instead of JSON.load.

    Release v1.6.0 - 2022-02-14

    • Feature - Add support for string comparissons.

    Release v1.5.0 - 2022-01-10

    • Support implicitly convertible objects/duck-type values responding to to_hash and to_ary.

      [See related GitHub pull request #51](jmespath/jmespath.rb#51).

    Changelog

    Sourced from jmespath's changelog.

    1.6.1 (2022-03-07)

    • Issue - Use JSON.parse instead of JSON.load.

    1.6.0 (2022-02-14)

    • Feature - Add support for string comparisons.

    1.5.0 (2022-01-10)

    • Support implicitly convertible objects/duck-type values responding to to_hash and to_ary.

      [See related GitHub pull request #51](jmespath/jmespath.rb#51).

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • No way to close an image from the activity feed

    No way to close an image from the activity feed

    if you open an image in the activity tab of the app, there is no way to exit that image, so you need to close the app to get back to the other screens

    Edit: There is an invisible close button in the top right corner.

    bug 
    opened by moritzsternemann 0
  • Change team page info

    Change team page info

    The information on the team page is too much focussed on what a certain member has done on the project. Wouldn't it be better if we changed it to be more focussed on the person instead of the work on a current version of the app?

    enhancement suggestion UI 
    opened by matthijs2704 0
  • Change the current implementation of the Activity

    Change the current implementation of the Activity

    I think we need to take a look at what else we can do with the activity pages. A plain twitter feed isn't good enough imhod. If anyone has ideas on what else to add, let me know.

    suggestion 
    opened by matthijs2704 4
Redux abstractions for BetterMe projects and iOS community

ReduxCore Redux abstractions on Swift for BetterMe projects and iOS community Installation CocoaPods You can install ReduxCore via CocoaPods by adding

BetterMe 15 Mar 24, 2022
An online community of professional chefs, home cooks, and food lovers worldwide

Yoke is an online community of professional chefs, home cooks, and food lovers worldwide. Whether you are looking for an expert or a home chef, a fanc

Laura Jelenich 3 Dec 8, 2021
My submission for WWDC'21 Swift Student Challenge which was selected.

Double Spending This is my submission for Swift Student Challenge - WWDC2021. This playgrounds aims to teach you basics of Double Spending Attack. Thi

Garima Bothra 18 Jul 7, 2022
Swift Playgrounds desenvolvido para o Swift Student Challenge da WWDC 21

Pile Up Swift Playgrounds desenvolvido para o Swift Student Challenge da WWDC 21 Descrição Pile Up é um quebra cabeça cujo objetivo é empilhar os bloc

Beatriz Sato 3 Jun 5, 2021
An experiment to use Firebase and React Native to build a wwdc.family app

wwdc.family This is an experiment to use Firebase and React Native to build a wwdc.family app. Don't use that source code as reference - I have no pri

WWDC Family 190 Feb 9, 2022
Open sourcing WWDC hit parties app.

Parties for WWDC Read the story behind Parties for WWDC Parties for iPhone: Info: Parties for WWDC is an aggregator of developers parties happening in

Genady Okrain 383 Nov 24, 2022
My WWDC 2022 swift student challenge submission - GradientDescend

GradientDescend Welcome to GradientDescend! This is my submission for the WWDC 2022 Swift Student Challenge. If you'd like, you can check out Gradient

Ryan Du 10 Oct 9, 2022
Completed Project for Authentication in SwiftUI using Firebase Auth SDK & Sign in with Apple

Completed Project for Authentication in SwiftUI using Firebase Auth SDK & Sign in with Apple Follow the tutorial at alfianlosari.com Features Uses Fir

Alfian Losari 43 Dec 22, 2022
A simple Apple Watch app to remind you to drink water!

Waterminder A simple Apple Watch app to remind you to drink water. Built with SwiftUI and Combine You can find an article explaining the implementatio

Carlos Corrêa da Silva 184 Dec 31, 2022
Weathy is an Open Source Song/Musician search for Apple Music

Weathy is an Open Source Apple Music Search App You can search for Musician or Songs to play it on Apple Music / Itunes You can find the main Source i

Marvin Hülsmann 4 Jul 12, 2021
EU Digital COVID Certificate Kit for the Apple Platform  (unofficial)

EU Digital COVID Certificate Kit A Swift Package to decode, verify and validate EU Digital COVID Certificates for iOS, tvOS, watchOS and macOS Disclai

Sven Tiigi 32 Oct 4, 2022
A customizable Snapping Drawer à la Apple Maps.

 100% in SwiftUI.

Snap A customizable Snapping Drawer à la Apple Maps, Apple Music, Stocks, Overcast, etc.. 100% in SwiftUI This is heavily inspired by Rideau and based

Mathias Quintero 632 Jan 4, 2023
Social Media platform build with swiftUI and Firebase with google and apple account integration for Signing In Users

Social Media platform build with swiftUI and Firebase with google and apple account integration for Signing In Users . Providing Users availability to upload posts and images add caption allowing other users to comment , with Find section to explore new people , new stories , User Profile section to allow the user to take control of his account .

Devang Papinwar 2 Jul 11, 2022
The missing Apple Weather App for Mac.

BetterWeather The missing Weather App for your Mac and iPad. Installation for mac. Download the notarized, universal binary from here Click the curren

Aayush 21 Jul 31, 2022
iCloud Drive is Apple's essential connection between all your devices, Mac, iPhone, iPad, even your Windows PC.

iCloud Drive is Apple's essential connection between all your devices, Mac, iPhone, iPad, even your Windows PC.While the cost of storage seems expensive in comparison to other online storage services, its advantage is that it works natively across all your devices.

MindInventory 12 Jul 29, 2022
Apple products application using SwiftUI

SwiftUI-Prototype In this project I built 2 interfaces for "Apple products" appl

Najla Alshehri 0 Jul 9, 2022
Apple Maps combined with the OpenWeather API written in SwiftUI

TempAtlas in SwiftUI TemperatureAtlas uses Apple Maps combined with the OpenWeather API written in SwiftUI. This project was built to explore SwiftUI

Justin Hatin 13 Apr 19, 2022
Apple Watch-style activity ring for SwiftUI.

WolfActivityRing Apple Watch-style activity ring for SwiftUI. Originally inspired by Eric Callanan's Create Activity Rings in SwiftUI with a number of

Wolf McNally 6 Sep 16, 2022
A SwiftUI component which handles logging in with Apple to Firebase

Login with Apple Firebase SwiftUI I made this SwiftUI component to handle logging in with Apple to Firebase. Demo Gif Usage in SwiftUI struct ContentV

Joe Hinkle 153 Dec 23, 2022