30 mini Swift Apps for self-study

Overview

Swift 30 Projects

Cover

Contents

This repo is updated with Swift 5 and compatible with iPhone X:

  • Simple UIKit components
  • UIScrollView, UITableView, UICollectionView
  • CAAnimations and UIView Animations
  • Local Notification in iOS 11
  • MapKit, Contact, and Core ML frameworks
  • Core Data, Today Extension, and 3D touch
  • Popular Open Source Frameworks
  • Design Patterns
  • Test Driven Development, XCTest

Swift30Projects

By developers and for developers

I am an iOS developer and currently using Swift.

This repo does not merely follow tutorials, I re-build them with better code style and architecture design.

For code style, I strictly follow raywenderlich.com Swift Style Guide;

For developers, I have a README file and screenshots for every single app in this repo, all details could be found there.

What's next?

I will maintain the project with latest syntax and most advanced code style. More code comments are going to be covered as well.

Also, unit tests will be added to ensure the quality of the codebase.

Contributors

chenluffy, LargeShrimp and azureland, thank you for your assistance in optimizing the repo.

Reach me

Twitter: @guyindaozhang
Weibo: @故胤道长

Comments
  • modify straight logic and keyboard behavior

    modify straight logic and keyboard behavior

    It seems that there is a typo in straight logic when gender is female and straight is on, the interest should be men, right? And also modify the keyboard behavior to dismiss the keyboard when tapping anywhere on view controller and auto move up textField when keyboard is present.

    opened by SilkSong 4
  • fixed some Optional String display & tap to dismiss the Keyboard

    fixed some Optional String display & tap to dismiss the Keyboard

    35eb1e9 d075fcf

    • tweet String will display with Optional() which we don't want.
    • tap to dismiss the Keyboard will allow you click the buttons in view's bottom.
    • fixed the only Warning in Project_04.

    3167ab7

    • Fixed my mistake.

    73a8ddd

    • Fixed a crash when the image cannot be downloaded.

    8e48fcb

    • Add access request to photo alblum.
    opened by ChengLuffy 4
  • Updated All the Projects to support Swift 5, also fixed issues with pod versioning and Xcode warnings.

    Updated All the Projects to support Swift 5, also fixed issues with pod versioning and Xcode warnings.

    Added Swift 5 support for all the projects

    1. Updated the project code to Swift 5
    2. Replaced deprecated APIs
    3. Fixed version of pods, 'IGListKit and others like RxSwift and RxCocoa'
    4. Fixed warning with @objc inference of swift 3
    opened by Ibrahimhass 2
  • Class 'InterestCollectionViewCell' has no initializers

    Class 'InterestCollectionViewCell' has no initializers

    道长,接触Swift时间不长,参考你的第十个项目Interests, InterestCollectionViewCell文件一直报:Class 'InterestCollectionViewCell' has no initializers错误,网上查阅了一些资料始终没有解决,Xcode 9.4.1,Swift4.1

    opened by Flum-X 2
  • Project 07 - PokedexGo tableView:didSelectRowAt: doesn't get called

    Project 07 - PokedexGo tableView:didSelectRowAt: doesn't get called

    Hi, Your project is really awesome. I'm investigating each of it, now on Project 07. When I run the project on Xcode 8.3, it seems the function MasterViewController.tableView:didSelectRowAt: doesn't get called on both iPhone and iPad. Could you take a look? Then I can try to fix if you need my effort. Thank you.

    bug 
    opened by vietstone-ng 1
  • Readme Typo

    Readme Typo

    Hi Yi! I know this is minor but I thought I might as well point it out: This title has an extra 's' (Should be "What's Next"). No PR because this is so tiny 😛

    Thanks for making this project, it's been very nice to read through!

    opened by NicoHinderling 1
  • Kodyn Ishlanok!!! birinji papkada ikinji strokan ishlanok bud dobr pochini!!!

    Kodyn Ishlanok!!! birinji papkada ikinji strokan ishlanok bud dobr pochini!!!

    use_display_name=True)
      File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/object_detection-0.1-py3.6.egg/object_detection/utils/label_map_util.py", line 315, in create_category_index_from_labelmap
        categories = create_categories_from_labelmap(label_map_path, use_display_name)
      File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/object_detection-0.1-py3.6.egg/object_detection/utils/label_map_util.py", line 295, in create_categories_from_labelmap
        label_map = load_labelmap(label_map_path)
      File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/object_detection-0.1-py3.6.egg/object_detection/utils/label_map_util.py", line 156, in load_labelmap
        label_map_string = fid.read()
      File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/tensorflow/python/lib/io/file_io.py", line 116, in read
        self._preread_check()
      File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/tensorflow/python/lib/io/file_io.py", line 79, in _preread_check
        self.__name, 1024 * 512)
    tensorflow.python.framework.errors_impl.NotFoundError: ./label_map
    
    opened by jenapss 0
  • FlickrSearch URL失效了

    FlickrSearch URL失效了

    搜索之后控制台输出 Error searching : Error Domain=FlickrSearch Code=0 "Invalid API Key (Key not found)" UserInfo={NSLocalizedFailureReason=Invalid API Key (Key not found)} Error searching : Error Domain=FlickrSearch Code=0 "(null)"

    opened by MetaBBLv 0
Owner
Soap
Always a learner
Soap
SharedImages Screen grabs Main Features Private & self-owned social media Users store their images in their own cloud storage (Dropbox or Google Drive

SharedImages Screen grabs Main Features Private & self-owned social media Users store their images in their own cloud storage (Dropbox or Google Drive

Christopher Prince 12 Feb 10, 2022
ADA Mini challenge 2 team 14 OXY's repository in morning session

OXY 누구나 쉬는 시간이 필요하니까!! ?? Features recording the degree of stress Playing with Donggle managing and relieving your stress by yourself comparing helpfu

개발자아카데미_포스텍 5 Jun 18, 2022
Apps for translating Braille document captured by iPhone camera, then send translation result to ITS's Braille printer for duplicating purpose (re-printing, copying braille document with no original text)

SCANDO iOS On my Final Project (Thesis) for my Bachelor degree, I made an apps that translate Braille Document, and send the translation result to the

Ricki Bin Yamin 21 Aug 10, 2021
PlayCover is a project that allows you to sideload iOS apps on macOS( currently arm, Intel support will be tested.

PlayCover is a project that allows you to sideload iOS apps on macOS( currently arm, Intel support will be tested.

Alexandr 4k Jul 8, 2022
Identify Intel-Only Apps on your Mac with ease:

Silicon About Identify Intel-Only Apps on your Mac with ease: License Project is released under the terms of the MIT License. Repository Infos Owner:

DigiDNA 650 Jan 2, 2023
Collaborative List of Open-Source iOS Apps

Open-Source iOS Apps A collaborative list of open-source iOS, iPadOS, watchOS and tvOS apps, your contribution is welcome ?? Jump to Apple TV Apple Wa

null 33k Dec 30, 2022
Tutorials from sparrowcode.io website. You can add new, translate or fix typos. Also you can add your apps from App Store for free.

Tutorials from sparrowcode.io website. You can add new, translate or fix typos. Also you can add your apps from App Store for free.

Sparrow Code 31 Jan 3, 2023
Vapor-telemetrydeck - Vapor client for posting signals to TelemetryDeck, a privacy-conscious analytics service for apps and websites

Vapor-telemetrydeck - Vapor client for posting signals to TelemetryDeck, a privacy-conscious analytics service for apps and websites

Sidetrack 7 Jun 16, 2022
Tutorials from sparrowcode.io website. You can add new, translate or fix typos. Also you can add your apps from App Store for free.

Страницы доступны на sparrowcode.io/en & sparrowcode.io/ru Как добавить свое приложение Добавьте элемент в json /ru/apps/apps.json. Если ваше приложен

Sparrow Code 30 Nov 25, 2022
PlayCover - a project that allows you to sideload iOS apps on macOS

PlayCover - a project that allows you to sideload iOS apps on macOS

Alexandr 3.9k Jul 7, 2022
Runtime Mobile Security (RMS) 📱🔥 - is a powerful web interface that helps you to manipulate Android and iOS Apps at Runtime

Runtime Mobile Security (RMS) ?? ?? by @mobilesecurity_ Runtime Mobile Security (RMS), powered by FRIDA, is a powerful web interface that helps you to

Mobile Security 2k Dec 29, 2022
TagKit makes it easy to create tag-based apps in SwiftUI.

About TagKit TagKit makes it easy to work with tags in Swift and SwiftUI. The result can look like this or completely different: Tags and tag views ca

Daniel Saidi 18 Dec 23, 2022
A Swift package for encoding and decoding Swift Symbol Graph files.

SymbolKit The specification and reference model for the Symbol Graph File Format. A Symbol Graph models a module, also known in various programming la

Apple 141 Dec 9, 2022
Delightful code generation for OpenAPI specs for Swift written in Swift

Create API Delightful code generation for OpenAPI specs for Swift written in Swi

Alexander Grebenyuk 286 Dec 23, 2022
WebDomHandling - A Swift Package for handling JavaScript code between WebKit and Swift implemented by WebKit

WebDomHandling A Swift Package for handling JavaScript code between WebKit and S

null 0 Jan 23, 2022
A very simplistic state machine system for Swift while mainly used with Raylib on Swift

A very simplistic state machine system for Swift while mainly used with Raylib on Swift

Conifer Coniferoslav 2 Dec 12, 2022
A Swift SPM framework for running and managing Lua code from Swift

LuaKit A Swift Package for running and managing Lua code from Swift. Documentation For documentation, add this package as Swift Package Dependency, an

GGorAA 5 Nov 24, 2022
This is a Swift Package bundling different Train APIs into one simple Swift interface.

This is a Swift Package bundling different Train APIs into one simple Swift interface.

ICE Buddy 8 Jul 5, 2022
Beak 🐦 Peck into your Swift files from the command line

Beak ?? Peck into your Swift files from the command line Beak can take a standard Swift file and then list and run any public global functions in it v

Yonas Kolb 566 Dec 6, 2022