├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── Lists ├── ARKit.md ├── AVFoundation.md ├── Accessibility.md ├── AlgorithmsAndDataStructures.md ├── AmazingMaterials.md ├── AppDistribution.md ├── AppExtensions.md ├── AppKit.md ├── AppSubmission.md ├── ArchitectureAndDesignPatterns.md ├── AssetCatalog.md ├── AsynchronousProgramming.md ├── AuthenticationServices.md ├── AutoFill.md ├── AutoLayout.md ├── Business.md ├── CallKit.md ├── CleanCode.md ├── CloudKit.md ├── Combine.md ├── ComputerGraphics.md ├── ContinuousIntegration.md ├── CoreAnimation.md ├── CoreData.md ├── CoreGraphics.md ├── CoreImage.md ├── CoreLocation.md ├── CoreML.md ├── CoreMotion.md ├── CoreNFC.md ├── CreateML.md ├── Debugging.md ├── DependencyManagement.md ├── Design.md ├── Development.md ├── DocC.md ├── DocumentBasedApps.md ├── Foundation.md ├── FrameworksDevelopment.md ├── FrameworksLibrariesPlatforms.md ├── FunctionalProgramming.md ├── GameplayKit.md ├── Git.md ├── HealthKit.md ├── InAppPurchase.md ├── InternationalizationAndLocalization.md ├── Interview.md ├── MachineLearning.md ├── MapKit.md ├── MessageUI.md ├── Metal.md ├── MetricKit.md ├── NLP.md ├── Networking.md ├── Payments.md ├── Persistence.md ├── PhotoKit.md ├── PhysicsEngines.md ├── Playgrounds.md ├── Product.md ├── ProjectCatalyst.md ├── ProjectManagement.md ├── ProtocolOrientedProgramming.md ├── PushKit.md ├── ReplayKit.md ├── SceneKit.md ├── SearchKit.md ├── Security.md ├── SiriKit.md ├── SpriteKit.md ├── StoreKit.md ├── Swift.md ├── SwiftPackageManager.md ├── SwiftSyntax.md ├── SwiftUI.md ├── TestDrivenDevelopment.md ├── Testing.md ├── TextKit.md ├── UIKit.md ├── UX.md ├── Vision.md ├── WWDC.md └── Xcode.md ├── README.md ├── _config.yml ├── eleev-midjourney-infinite-library.jpeg └── helloworld.swift /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | \.DS_Store 3 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. 6 | 7 | ## Our Standards 8 | 9 | Examples of behavior that contributes to creating a positive environment include: 10 | 11 | * Using welcoming and inclusive language 12 | * Being respectful of differing viewpoints and experiences 13 | * Gracefully accepting constructive criticism 14 | * Focusing on what is best for the community 15 | * Showing empathy towards other community members 16 | 17 | Examples of unacceptable behavior by participants include: 18 | 19 | * The use of sexualized language or imagery and unwelcome sexual attention or advances 20 | * Trolling, insulting/derogatory comments, and personal or political attacks 21 | * Public or private harassment 22 | * Publishing others' private information, such as a physical or electronic address, without explicit permission 23 | * Other conduct which could reasonably be considered inappropriate in a professional setting 24 | 25 | ## Our Responsibilities 26 | 27 | Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. 28 | 29 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. 30 | 31 | ## Scope 32 | 33 | This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. 34 | 35 | ## Enforcement 36 | 37 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at astemireleev@gmail.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. 38 | 39 | Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. 40 | 41 | ## Attribution 42 | 43 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] 44 | 45 | [homepage]: http://contributor-covenant.org 46 | [version]: http://contributor-covenant.org/version/1/4/ 47 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | When contributing to this repository, please first discuss the change you wish to make via issue, 4 | email, or any other method with the owners of this repository before making a change. 5 | 6 | Please note we have a code of conduct, please follow it in all your interactions with the project. 7 | 8 | ## Pull Request Process 9 | 10 | 1. Ensure any install or build dependencies are removed before the end of the layer when doing a 11 | build. 12 | 2. Update the README.md with details of changes to the interface, this includes new environment 13 | variables, exposed ports, useful file locations and container parameters. 14 | 3. Increase the version numbers in any examples files and the README.md to the new version that this 15 | Pull Request would represent. The versioning scheme we use is [SemVer](http://semver.org/). 16 | 4. You may merge the Pull Request in once you have the sign-off of two other developers, or if you 17 | do not have permission to do that, you may request the second reviewer to merge it for you. 18 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Astemir Eleev 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Lists/ARKit.md: -------------------------------------------------------------------------------- 1 | # ARKit 2 | 3 | ## Reading 📖 4 | - [ARKit by example](https://blog.markdaws.net/apple-arkit-by-example-ef1c8578fb59) 5 | - [ARKit getting started](https://medium.com/@hilmarbirgir/getting-started-with-arkit-fd44fa4eecec) 6 | - [ARKit with multiple users](https://stackoverflow.com/questions/44529350/arkit-with-multiple-users) 7 | - [ARKit hide objects behind walls](https://stackoverflow.com/questions/44893320/arkit-hide-objects-behind-walls) 8 | - [ARKit introduction](https://www.whitesmith.co/blog/arkit-introduction/) 9 | - [How do you attach an object to your camera position with ARKit Swift?](https://stackoverflow.com/questions/44531963/how-do-you-attach-an-object-to-your-camera-position-with-arkit-swift) 10 | - [The Essential Guide To UX For AR](https://www.webdesignerdepot.com/2017/07/the-essential-guide-to-ux-for-ar/) 11 | - [How I'm Learning ARKit](https://hackernoon.com/how-im-learning-arkit-baee5376a6a2) 12 | - [ARKit + Vision: An intriguing combination](https://dev.to/osterbergjordan/arkit--vision-an-intriguing-combination) 13 | - [Using ARKit with Metal](http://metalkit.org/2017/07/29/using-arkit-with-metal.html) 14 | - [Bike ride with ARKit: How I built it](https://blog.mapbox.com/bike-ride-with-arkit-mapbox-unity-9a66f91d91b2) 15 | - [iOS ARKit Tutorial: Drawing in the Air with Bare Fingers](https://www.toptal.com/swift/ios-arkit-tutorial-drawing-in-air-with-fingers) 16 | - [Augmented Reality With ARKit For IOS](https://digitalleaves.com/blog/2017/08/augmented-reality-arkit/) 17 | - [ARKit Super Mario Brothers](https://github.com/bjarnel/arkit-smb-homage) 18 | - [ARKit and CoreLocation: Part One](https://medium.com/journey-of-one-thousand-apps/arkit-and-corelocation-part-one-fc7cb2fa0150) 19 | - [ARKit and CoreLocation: Part Two - 20 | Navigation With Linear Algebra and Trig](https://medium.com/journey-of-one-thousand-apps/arkit-and-corelocation-part-two-7b045fb1d7a1) 21 | - [ARKit Adventures Making A Remote Control Drone](https://medium.com/journey-of-one-thousand-apps/aarkit-adventures-697dfbe7779e) 22 | - [Augmented Reality and ARKit Tutorial](https://www.raywenderlich.com/172543/augmented-reality-and-arkit-tutorial) 23 | - [Why I Love ARKit for Apple iOS 11](https://www.raywenderlich.com/171726/why-i-love-arkit-apple-ios-11) 24 | - [Building a Simple ARKit Demo with SceneKit in Swift 4 and Xcode 9](https://www.appcoda.com/arkit-introduction-scenekit/) 25 | - [Building an AR app with ARKit and Scenekit](https://blog.pusher.com/building-an-ar-app-with-arkit-and-scenekit/) 26 | - [Build ARKit Application with Unity](https://medium.com/@davidguandev/build-arkit-application-with-unity-10af4a5e3b05) 27 | - [Augmented Reality With ARKit: Detecting Planes](https://digitalleaves.com/blog/2017/10/augmented-reality-with-arkit-detecting-planes/) 28 | - [ARKit Tutorial: Understanding and Implementing 3D Objects](https://www.appcoda.com/arkit-3d-object/) 29 | - [Animating a 3D model in AR with ARKit and Mixamo](https://blog.pusher.com/animating-3d-model-ar-arkit-mixamo/) 30 | - [Importing 3D Models for ARKit](https://medium.com/bpxl-craft/importing-3d-models-for-arkit-aa1728697e2) 31 | - [ARKit Tutorial: Detecting Horizontal Planes and Adding 3D Objects with SceneKit](https://www.appcoda.com/arkit-horizontal-plane/) 32 | - [ARKit Tutorial: Understanding Physics by Launching a Rocketship](https://www.appcoda.com/arkit-physics-scenekit/) 33 | - [ARKit Tutorial: Light Estimation with Ambient Intensity and Color Temperature](https://www.appcoda.com/arkit-light-estimation/) 34 | - [ARKit Tutorial: Working with 2D Image Recognition](https://www.appcoda.com/arkit-image-recognition/) 35 | - [Behind The Magic: How We Built The ARKit Sudoku Solver](https://blog.prototypr.io/behind-the-magic-how-we-built-the-arkit-sudoku-solver-e586e5b685b0) 36 | - [Exploring ARKit: ARSCNPlaneGeometry](https://medium.com/@chris.webb5249/exploring-arkit-f188eb7a0152) 37 | - [An Introduction to AR Quick Look in iOS 12](https://www.appcoda.com/arkit-quick-look/) 38 | - [AR Face Tracking Tutorial for iOS: Getting Started](https://www.raywenderlich.com/5491-ar-face-tracking-tutorial-for-ios-getting-started) 39 | - [BUILDING VOICE RESPONSIVE AR APPS](https://martinmitrevski.com/2018/12/16/building-voice-responsive-ar-apps/) 40 | - [AUGMENTED REALITY ON IOS WITH ARKIT](https://martinmitrevski.com/2017/11/22/augmented-reality-on-ios-with-arkit/) 41 | - [Getting Started with ARKit](https://blog.novoda.com/getting-started-with-arkit/) 42 | - [Creating the First Affordable AR Headset Experience](https://philipturner.github.io/first-affordable-ar-headset) 43 | 44 | ## Resources 45 | - [Hand-picked curation of the coolest stuff made with Apple's ARKit](http://www.madewitharkit.com) 46 | - [ARHeadsetKit: Using $5 Google Cardboard to replicate Hololens](https://github.com/philipturner/ARHeadsetKit) 47 | 48 | ## Documentation 📃 49 | - [ARKit Official Documentation](https://developer.apple.com/documentation/arkit) 50 | - [Understanding augmented reality](https://developer.apple.com/documentation/arkit/understanding_augmented_reality) 51 | - [Building a Basic AR Experience](https://developer.apple.com/documentation/arkit/building_a_basic_ar_experience) 52 | - [Displaying an AR experience with Metal](https://developer.apple.com/documentation/arkit/displaying_an_ar_experience_with_metal) 53 | - [Official Human Interface Design Guidelines For Augmented Reality](https://developer.apple.com/ios/human-interface-guidelines/technologies/augmented-reality/) 54 | - [ARHeadsetKit Tutorials: Guide to a high-level framework for experimenting with AR](https://github.com/philipturner/arheadsetkit#tutorial-series) 55 | 56 | ## Code 💻 57 | - [Lava Project](https://github.com/arirawr/ARKit-FloorIsLava) 58 | - [Example App with horizontal planes and physics cubes](https://github.com/markdaws/arkit-by-example) 59 | - [Example App that allows to draw in 3D space](https://github.com/laanlabs/ARBrush) 60 | - [Shooter App](https://github.com/farice/ARShooter) 61 | - [Fully interactable Tic Tac Toe App](https://github.com/bjarnel/arkit-tictactoe) 62 | - [Line drawing App](https://github.com/lapfelix/ARKit-line-drawing) 63 | - [Example by Apple that demostrates how to place virtual objects in augmented reality](https://github.com/gao0122/ARKit-Example-by-Apple) 64 | - [Classic Tetris App](https://github.com/exyte/ARTetris) 65 | - [Cubes in Space](https://github.com/RPasecky/CubesInSpace) 66 | - [AR Trees](https://github.com/jquave/ARTrees) 67 | - [Create an anchor on the QR marker plane](https://github.com/eugenebokhan/ARKit-QRMarker) 68 | - [This is an ARKit project that demonstrates drawing out a 3-dimensional box in the world, which can be rotated and resized from each of its faces](https://github.com/alunbestor/Boxify) 69 | - [Demo project demostrating how to build a AR measurment instrument](https://github.com/whitesmith/MeasureThings) 70 | - [Simple AR game made with ARKit and SpriteKit. Follow the tutorial at the Pusher blog](https://github.com/eh3rrera/ARKitGameSpriteKit) 71 | - [MeasureThings](https://github.com/whitesmith/MeasureThings) 72 | - [Combines the high accuracy of AR with the scale of GPS data.](https://github.com/ProjectDent/ARKit-CoreLocation) 73 | - [ARPaint](https://github.com/oabdelkarim/ARPaint) 74 | - [ARKit Occlusion](https://github.com/bjarnel/arkit-occlusion) 75 | - [Shell Game built with ARKit and SceneKit](https://github.com/handsomecode/arkit-shell-game) 76 | - [Lovely Augmented Reality Charts for iOS](https://github.com/Boris-Em/ARCharts) 77 | - [ARKit Graffity](https://github.com/bjarnel/arkit-graffiti.git) 78 | - [FaceRecognition in ARKit](https://github.com/NovaTecConsulting/FaceRecognition-in-ARKit) 79 | - [CoreML in ARKit](https://github.com/hanleyweng/CoreML-in-ARKit) 80 | - [SceneKitVideoRecorder](https://github.com/svtek/SceneKitVideoRecorder) 81 | - [ARKit Navigation Demo](https://github.com/chriswebb09/ARKitNavigationDemo) 82 | - [ARKit-Sampler](https://github.com/shu223/ARKit-Sampler) 83 | - [Measure](https://github.com/levantAJ/Measure) 84 | - [Ruler](https://github.com/TBXark/Ruler) 85 | - [Twilio Video chat w/ AR](https://github.com/twilio/video-quickstart-swift/tree/master/ARKitExample) 86 | - [ARPlayer](https://github.com/MaximAlien/ARPlayer) 87 | - [ARVoxelKit](https://github.com/VoxxxelAR/ARVoxelKit) 88 | - [ARKitSpitfire](https://github.com/chriswebb09/ARKitSpitfire) 89 | - [ARInvaders](https://github.com/aivantg/ar-invaders) 90 | - [ARKitAirport](https://github.com/chriswebb09/ARKitAirport) 91 | - [AR-FlatWeatherDiplay](https://github.com/nagam11/ARKit-Projects/tree/master/Project%2002%20-%20ARFlatWeather) 92 | - [AR-Planes](https://github.com/Hack-the-North-2017/AR-Planes) 93 | - [Solar System with ARKit on Swift](https://github.com/emadhegab/ARSolar) 94 | - [This library uses ARKit Face Tracking in order to catch a user's smile.](https://github.com/rsrbk/SmileToUnlock) 95 | - [Make your ARKit experiment compatible with mobile VR/AR headsets*. An example setup using SceneKit](https://github.com/hanleyweng/iOS-ARKit-Headset-View) 96 | - [Findme. Using ARKit to find me](https://github.com/mmoaay/Findme) 97 | - [ARBottleJump](https://github.com/songkuixi/ARBottleJump) 98 | - [Superimposes your image into a 3D world using Metal+Arkit](https://github.com/montaguegabe/arkit-virtual-backdrop) 99 | - [An ARKit App that can help your friends to find you](https://github.com/mmoaay/Findme) 100 | - [Reimagining the power of Xcode's View Debugger for live debugging of AR or SceneKit apps](https://github.com/p-sun/ARPowerPanels) 101 | - [Building a Museum App with ARKit 2](https://www.raywenderlich.com/6957-building-a-museum-app-with-arkit-2) 102 | - [A crash course in Augmented Reality on iOS with ARKit](https://infinum.co/the-capsized-eight/crash-course-in-augmented-reality-on-ios-with-arkit) 103 | - [AR MultiPendulum](https://github.com/philipturner/ar-multipendulum) 104 | 105 | ## Video 📹 106 | - [Learn how to place objects in the world such as a cube and cup using ARKit, we go over the basics of ARKit](https://www.youtube.com/watch?v=tgPV_cRf2hA) 107 | - [Swift ARKit (Augmented Reality) Tutorial](https://www.youtube.com/watch?v=tgPV_cRf2hA) 108 | -------------------------------------------------------------------------------- /Lists/AVFoundation.md: -------------------------------------------------------------------------------- 1 | # AVFoundation 2 | - [Building a Full Screen Camera App Using AVFoundation](http://www.appcoda.com/avfoundation-swift-guide/) 3 | - [AVAudioEngine Tutorial for iOS: Getting Started](https://www.raywenderlich.com/185090/avaudioengine-tutorial-for-ios-getting-started) 4 | - [iOS — Camera Frames Extraction](https://medium.com/ios-os-x-development/ios-camera-frames-extraction-d2c0f80ed05a) 5 | - [Working With Video in iOS: AVFoundation and CoreMedia](https://medium.com/swift2go/working-with-video-in-ios-avfoundation-and-coremedia-10bdd71f6a6e) 6 | - [Controlling Background Audio](https://developer.apple.com/documentation/avfoundation/media_assets_playback_and_editing/creating_a_basic_video_player_ios_and_tvos/controlling_background_audio) 7 | - [Reading Barcodes And QR Codes With AVFoundation](https://agostini.tech/2019/02/18/reading-barcodes-and-qr-codes-with-avfoundation/) 8 | - [SWIFT — Access iOS Camera and Photo Library](https://medium.com/hackernoon/swift-access-ios-camera-and-photo-library-dc1dbe0cdd76) 9 | -------------------------------------------------------------------------------- /Lists/Accessibility.md: -------------------------------------------------------------------------------- 1 | # Accessibility 2 | - [Is your iOS app accessible? Probably not, here’s how to find out](https://medium.com/@nickbona/is-your-ios-app-accessible-probably-not-heres-how-to-tell-for-sure-2950feee9165) 3 | -------------------------------------------------------------------------------- /Lists/AlgorithmsAndDataStructures.md: -------------------------------------------------------------------------------- 1 | # Algorithms and Data Structures 2 | 3 | ## Data Structures 4 | - [Swift Algorithm Club: Swift Linked List Data Structure](https://www.raywenderlich.com/144083/swift-algorithm-club-swift-linked-list-data-structure) 5 | - [Swift Algorithm Club: Swift Queue Data Structure](https://www.raywenderlich.com/148141/swift-algorithm-club-swift-queue-data-structure) 6 | - [Swift Algorithm Club: Swift Trie Data Structure](https://www.raywenderlich.com/139410/swift-algorithm-club-swift-trie-data-structure) 7 | - [Swift Algorithm Club: Swift Stack Data Structure](https://www.raywenderlich.com/149213/swift-algorithm-club-swift-stack-data-structure) 8 | - [Swift Algorithm Club: Swift Binary Search Tree Data Structure](https://www.raywenderlich.com/139821/swift-algorithm-club-swift-binary-search-tree-data-structure) 9 | - [Swift Algorithm Club: Heap and Priority Queue Data Structure](https://www.raywenderlich.com/160631/swift-algorithm-club-heap-and-priority-queue-data-structure) 10 | - [Swift Algorithm Club: Graphs with Adjacency List](https://www.raywenderlich.com/152046/swift-algorithm-club-graphs-adjacency-list) 11 | - [Implementing a Heap Based Priority Queue Using Swift](https://www.appcoda.com/swift-algorithm/) 12 | 13 | ## Algorithms 14 | 15 | ### Sorting 16 | - [Swift Algorithm Club: Swift Merge Sort](https://www.raywenderlich.com/154256/swift-algorithm-club-swift-merge-sort) 17 | - [Algorithms for Beginners — Bubble Sort, Insertion Sort, Merge Sort](https://medium.com/yay-its-erica/algorithms-for-beginners-bubble-sort-insertion-sort-merge-sort-29bd5506cc48) 18 | 19 | ### Searching 20 | - [Swift Algorithm Club: Boyer Moore String Search Algorithm](https://www.raywenderlich.com/163964/swift-algorithm-club-booyer-moore-string-search-algorithm) 21 | - [Swift Algorithm Club: Swift Breadth First Search](https://www.raywenderlich.com/155801/swift-algorithm-club-swift-breadth-first-search) 22 | 23 | ### Graph 24 | - [Swift Algorithm Club: Minimum Spanning Tree with Prim’s Algorithm](https://www.raywenderlich.com/169392/swift-algorithm-club-minimum-spanning-tree-with-prims-algorithm) 25 | - [Swift Algorithm Club: Swift Dijkstra’s Algorithm](https://www.raywenderlich.com/178761/swift-algorithm-club-siwft-dijkstras-algorithm) 26 | 27 | ### Time Complexity, Big O Notation 28 | - [Know Thy Complexities!](http://bigocheatsheet.com) 29 | - [Algorithms in plain English: time complexity and Big-O notation](https://medium.freecodecamp.org/time-is-complex-but-priceless-f0abd015063c) 30 | - [Complexity and Big-O Notation In Swift](https://medium.com/journey-of-one-thousand-apps/complexity-and-big-o-notation-in-swift-478a67ba20e7) 31 | - [Algorithms and Data Structures](http://cooervo.github.io/Algorithms-DataStructures-BigONotation/) 32 | - [Big O Notation](https://agostini.tech/2018/10/21/big-o-notation/) 33 | - [Analyzing Complexity](http://khanlou.com/2018/12/analyzing-complexity/) 34 | -------------------------------------------------------------------------------- /Lists/AmazingMaterials.md: -------------------------------------------------------------------------------- 1 | # Amazing Materials 2 | 3 | ## Websites and Blogs 4 | 5 | - [Apple Developer](https://developer.apple.com) - Centralized resource that makes available various materials related to software development for Apple Ecosystem. 6 | - [GitHub](https://github.com/) - Yes, that is right! `GitHub` is one of your best friends. Here you can find a ton of examples, projects and learn from them. 7 | - [The Clean Code Blog](http://blog.cleancoder.com) - Not directly related, The Clean Code Blog by Robert C. Martin aka Uncle Bob is a must have resource for Apply Ecosystem developer. 8 | - [Ray Wenderlich](https://www.raywenderlich.com/) - Is one of the most trusted and well known resources for iOS, macOS, Android, Game Development (and the list goes on). 9 | - [AppCoda](https://www.appcoda.com/) 10 | - [objc io](https://www.objc.io) 11 | - [NSHipster](http://nshipster.com) 12 | - [Natasha The Robot](https://www.natashatherobot.com) - [Natasha Murashev](https://github.com/NatashaTheRobot)'s iOS development blog. 13 | - [iOS Goodies](http://ios-goodies.com) - Curated weekly iOS newsletter. 14 | - [We ❤️ Swift](https://www.weheartswift.com) - Swift and iOS tutorials, articles, books and more. 15 | - [Hacking with Swift](https://www.hackingwithswift.com/) - Maintained by [Paul Hudson](https://github.com/twostraws), `Hacking with Swift` is a regularly updated resource for learning all kinds of amazing things. 16 | - [Swift Forward](https://swiftforward.wordpress.com) - Blog by Lammert Westerhoff about Swift and iOS. 17 | - [Medium: iOS and OSX Development](https://medium.com/ios-os-x-development) 18 | - [Swift by Sundell](https://www.swiftbysundell.com/) - Swift By Sundell is a weekly blog about Swift development. 19 | - [Sound of Silence](http://sound-of-silence.com) - iOS/macOS blog by Matt Reagan. 20 | - [Khanlou](http://khanlou.com) - Swift and Objective C blog bt Soroush Khanlou. 21 | - [Swift Weekly](https://swiftweekly.github.io) - A community-driven weekly newsletter about what's happening in the Swift open source projects at Swift.org 22 | - [Swift Org](https://swift.org) 23 | - [The Swift Dev](https://theswiftdev.com) - Learn all about the Swift programming language. 24 | - [INVASIVECODE](https://www.invasivecode.com/weblog/?doing_wp_cron=1525779118.2550129890441894531250) 25 | - [What's new in Swift?](https://www.whatsnewinswift.com) - Learn what's new in Swift with hands-on code examples, all in one place and with no clutter. 26 | - [Marco Santa Developer](https://marcosantadev.com) - Personal blog about programming by Marco Santarossa. 27 | - [Yet another Swift blog](http://www.vadimbulavin.com) - Personal blog about Swift by Vadim Bulavin. 28 | - [Brian Advent](https://www.brianadvent.com) - Tutorials For iOS Developers. 29 | - [Let's Build App](https://www.letsbuildthatapp.com) - High quality iOS tutorials and traning. 30 | - [Ole Begemann](https://oleb.net/blog/) - Personal blog and website about Swift and iOS by Ole Begemann. 31 | - [Big Nerd Ranch](https://www.bignerdranch.com/blog/categories/ios/) - iOS Blog from Big Nerd Ranch. 32 | - [Swift Unboxed](https://swiftunboxed.com) - Blog about Swift programming language by Greg Heo. 33 | - [NSBlog](https://www.mikeash.com/pyblog/) - Personal blog about Mac development by Mike Ash. 34 | - [Srdan Rasic](http://rasic.info) - Personal blog about iOS development by Srđan Rašić. 35 | - [Cocoa with Love](https://www.cocoawithlove.com) - Personal blog about ObjC and Swift development by Matt Gallagher. 36 | - [iOS Brain](http://iosbrain.com) - Personal blog about iOS development by Andrew L. Jaffee. 37 | - [Clean Swift](https://clean-swift.com) - Clean Architecture + TDD. Code less. Test more. Author: Raymond Law. 38 | - [Crunchy Development](http://alisoftware.github.io) - Crunchy Development is a Blog about Apple’s Swift programming language. Author: Olivier Halligon. 39 | - [SwiftLee](https://www.avanderlee.com) - A weekly blog about Swift, iOS and Xcode Tips and Tricks. 40 | - [MAKING APP PIE](https://makeapppie.com) - Adventures in Swift and iOS App Development. 41 | - [AGOSTINI.TECH](https://agostini.tech) - THE RAVINGS OF AN IOS CROWD. 42 | - [The Swift Post](https://theswiftpost.co) - A blog about software development using Swift by Candost Dagdeviren, Göksel Köksal, Alp Avanoğlu. 43 | - [iOS Dev Recipes](https://www.iosdev.recipes) - 44 | iOS Dev Recipes is a starting point for developers working on iOS apps. Built and maintained by Dave Lyon and Traboule Software. 45 | - [mokacoding](https://www.mokacoding.com) - A blog by Giovanni Lodi where he writes at least once a month, on software testing, productivity, and iOS development. 46 | - [paul-samuels.com](https://paul-samuels.com) - A blog by Paul Samuels about software development languages, tools and techniques. 47 | - [Use Your Loaf](https://useyourloaf.com) - A blog by K. Harrison, software development veteran, about developing for iOS. 48 | - [Rambo.codes](https://rambo.codes) - Guilherme Rambo writes about his coding and reverse engineering adventures. 49 | - [SwiftRocks: NSReverseEngineering()](https://swiftrocks.com) - A blog by Bruno Rocha, Senior iOS Developer about reverse engineering and spelunking Swift and iOS. 50 | - [Igor Kulman](https://blog.kulman.sk) - Adventures in the world of Swift and iOS, reminiscing about the days of C#, F# and Windows development. Personal blog by Igor Kulman. 51 | - [Eon's swift blog](http://eon.codes) - A personal blog about Swift development by André J. 52 | - [PSPDFKit - iOS Blog](https://pspdfkit.com/blog/categories/ios/) - A blog about iOS development by PSPDFKit team. 53 | - [PSPDFKit - macOS Blog](https://pspdfkit.com/blog/categories/macos/) - A blog about macOS development by PSPDFKit team. 54 | - [MARTINMITREVSKI](https://martinmitrevski.com) - A blog about iOS/ARKit development by Martin Mitrevski. 55 | - [KHAWER KHALIQ](https://khawerkhaliq.com) - A Swift-related blog by Khawer Khaliq. 56 | - [Swiftjective-C](https://www.swiftjectivec.com) - A periodical on the art of modern iOS software engineering. 57 | - [Medium: Swift Algorithms & Data Structures](https://medium.com/swift-algorithms-data-structures) - A book on modern code, illustrations & computer science by Wayne Bishop. 58 | - [Joachim Complains About Things 😤](https://blog.cocoafrog.de) - A blog about bad software and how not to write bad software. Occasionally, about good software. Author Joachim Kurz. 59 | - [FlexMonkey](http://flexmonkey.blogspot.com) - Creative coding in Swift. A blog by Simon Gladman. 60 | - [QuickBird Studios: Blog](https://quickbirdstudios.com/blog/) - Mobile App Development Blog by QuickBird Studios. 61 | - [WILLIAM BOLES - Blog](https://williamboles.me/) - A blog about iOS development by William Boles. 62 | - [Fluffy](https://fluffy.es) - Mostly iOS fun stuff. 63 | - [Swift in Depth](https://swiftindepth.com) - Swift in Depth is all about sharing practical tips and filling knowledge-gaps for the (fairly) experienced Swift developer so that you can level-up your Swift skills. 64 | - [SOUNDCLOUD - iOS Blog](https://developers.soundcloud.com/blog/category/ios) - A blog about iOS development. 65 | - [BENJAMIN SANDOFSKY](https://sandofsky.com) - Ben Sandofsky Builds Apps. Benjamin used to lead Twitter for iPhone. 66 | - [Simon's Sanitarium](http://simonfairbairn.com) - A blog about game/graphics development. Among another things, there you can find materials about SpriteKit, GameplayKit and other Apple related technologies. 67 | - [Pierre Felgines](https://felginep.github.io) - A blog about iOS development. 68 | - [CODEA & SHADE - Blog](https://codea.io/blog/) - Creators of Codea and Shade apps share their ideas, insights and sources for amazing developments. 69 | - [Majid's Blog](https://mecid.github.io) - A blog about Swift development by Majid. 70 | - [The Always Right Institute. Almost always sometimes definitely right.](http://www.alwaysrightinstitute.com) - A blog about Swift development by the former Apple engineer with over 25 years of experience - Helge Heß. 71 | - [Late Night Swift](https://www.latenightswift.com) - A Swift and iOS Development Blog. 72 | - [Kyle Bashour](https://kylebashour.com) - A blog about Swift and iOS development by Kyle Bashour - who works at Lyft. 73 | - [iOS Creator](https://www.ioscreator.com) - iOS tutorials. 74 | - [Liss is More](https://www.caseyliss.com) - A blog by By Casey Liss. 75 | - [ruiper.es](https://ruiper.es) - Ramblings about code. 76 | - [aplus.rs](http://aplus.rs/categories/iosdev/) - Personal blog about iOS development from Aleksandar Vacić. 77 | - [sarunw.com](https://sarunw.com) - An iOS development blog. 78 | 79 | ### Machine Learning Blogs 80 | 81 | - [Apple Machine Learning Journal](https://machinelearning.apple.com) 82 | - [MATTHIJS HOLLEMANS - Machine Learning](http://machinethink.net/blog/) 83 | - [Pete Warden's blog](https://petewarden.com) 84 | - [HeartBeat - Medium Publication on Mobile Machine Learning](https://heartbeat.fritz.ai/) 85 | 86 | ### Metal Blogs 87 | - [MetalKit](http://metalkit.org/) - Graphics programming using Metal API. 88 | - [Metal by Example](http://metalbyexample.com) - High-performance graphics and compute programming for iOS. 89 | - [Image Metalling](https://imagemetalling.wordpress.com) - (The blog is in Russian language) High-performance programming for iOS and OSX. 90 | 91 | ## Swift Tips & Tricks 92 | - [SwiftTips](https://github.com/vincent-pradeilles/swift-tips) 93 | - [Swift tips and tricks](https://github.com/Luur/SwiftTips) 94 | - [Swift tips & tricks by John Sundell](https://github.com/JohnSundell/SwiftTips) 95 | - [Swift-Daily-Tips](https://github.com/MobileTipsters/Swift-Daily-Tips) 96 | 97 | ## GitHub Organizations 98 | Unfortunately `GitHub` does not allow to follow orginizations, so we need to store them manually somehow. Here is the list of amazing `GitHub` organizations where a lof of useful and quality stuff can be found: 99 | 100 | - [Apple](https://github.com/apple) 101 | - [attaswift](https://github.com/attaswift) - A collection of useful Swift packages. 102 | - [SwiftJava](https://github.com/SwiftJava) - A Swift to Java Bridge. 103 | - [AudioKit](https://github.com/AudioKit) - Swift audio synthesis, processing, & analysis platform for iOS, macOS and tvOS. 104 | - [Moya](https://github.com/Moya) - Network abstraction layer written in Swift. 105 | - [ReactiveX](https://github.com/ReactiveX) - Reactive Extensions for Async Programming. 106 | - [Firebase](https://github.com/firebase) - A comprehensive mobile development platform. 107 | - [Alamofire](https://github.com/Alamofire) - Elegant Networking in Swift. 108 | - [Realm](https://github.com/realm) - Persistence framework. 109 | - [Mapbox](https://github.com/mapbox) - Mapbox is the location data platform for mobile and web applications. We're changing the way people move around cities and explore our world. 110 | 111 | ## iTunes Podcasts 112 | 113 | - [Swift by Sundell](https://itunes.apple.com/ru/podcast/swift-by-sundell/id1267161825?l=en&mt=2) 114 | - [Swift Unwrapped](https://itunes.apple.com/ru/podcast/swift-unwrapped/id1209817203?l=en&mt=2) 115 | - [Inside iOS dev is a weekly show about real world iOS development by Alex Bush, Andrew Rohn](https://itunes.apple.com/ru/podcast/inside-ios-dev/id1231805301?mt=2) 116 | - [John Sundell and Gui Rambo discuss Apple news and rumors from a developer's perspective](https://itunes.apple.com/us/podcast/stacktrace/id1359435443?mt=2) 117 | - [SwiftCoders: Interviews with Swift Developers](https://itunes.apple.com/ru/podcast/swiftcoders-interviews-with-swift-developers/id1082937962?l=en&mt=2) 118 | - [Fireside Swift is a popular Swift programming podcast where two buddies, Zack and Steve, discuss a new Swift topic each week](https://itunes.apple.com/us/podcast/fireside-swift/id1269435221?mt=2) 119 | - [From development and design to marketing and support, Under the Radar is all about independent app development](https://itunes.apple.com/us/podcast/under-the-radar/id1055685246?mt=2) 120 | - [CartoonSmart Tutorials](https://itunes.apple.com/ru/podcast/cartoonsmart-tutorials/id1108725455?l=en&mt=2) 121 | - [The Swift Community Podcast](https://itunes.apple.com/ru/podcast/the-swift-community-podcast/id1449664346?l=en&mt=2) 122 | 123 | ## Anchor Podcasts 124 | - [Swift over Coffee is a podcast that helps you keep your Swift skills up to date the easy way, hosted by Paul Hudson and Sean Allen](https://anchor.fm/swiftovercoffee) 125 | - [iOS Dev Discussions - Discussing the world of iOS Development and the latest news in Swift by Sean Allen](https://anchor.fm/seanallen) 126 | 127 | ## Youtube Channels 128 | 129 | - [Sean Allen](https://www.youtube.com/channel/UCbTw29mcP12YlTt1EpUaVJw) 130 | - [Lets Build That App](https://www.youtube.com/channel/UCuP2vJ6kRutQBfRmdcI92mA) 131 | - [Brian Advent](https://www.youtube.com/channel/UCysEngjfeIYapEER9K8aikw) 132 | - [Jared Davidson](https://www.youtube.com/user/Archetapp) 133 | - [Mark Moeykens](https://www.youtube.com/channel/UChH6WbyYeX0INJjrK2-6WSg/featured) 134 | - [David Tran](https://www.youtube.com/channel/UCvPFGq6luCqAVGiFpzTvkIA) 135 | - [Devslopes](https://www.youtube.com/channel/UClLXKYEEM8OBBx85DOa6-cg) 136 | - [CodeWithChris](https://www.youtube.com/user/CodeWithChris/featured) 137 | - [Essential Developer](https://www.youtube.com/c/EssentialDeveloper) 138 | 139 | ## Assets 140 | 141 | - [Game Art 2D](https://www.gameart2d.com/) 142 | - [Kenney](https://kenney.nl/) 143 | - [Icons8](https://icons8.com) 144 | - [Open Game Art](https://opengameart.org) 145 | - [Background Ninja Design](http://www.dumbmanex.com/bynd_freestuff.html) 146 | - [Keenan's 3D Model Repository](https://www.cs.cmu.edu/~kmcrane/Projects/ModelRepository/) 147 | -------------------------------------------------------------------------------- /Lists/AppDistribution.md: -------------------------------------------------------------------------------- 1 | # App Distribution 2 | - [Cannot generate iOS App archive in xcode](https://stackoverflow.com/questions/10715211/cannot-generate-ios-app-archive-in-xcode) 3 | -------------------------------------------------------------------------------- /Lists/AppExtensions.md: -------------------------------------------------------------------------------- 1 | # App Extensions 2 | 3 | - [IOS APP EXTENSIONS: DATA SHARING](https://dmtopolog.com/ios-app-extensions-data-sharing/) 4 | - [Today Extension Tutorial: Getting Started](https://www.raywenderlich.com/697-today-extension-tutorial-getting-started) 5 | - [Creating an App Extension](https://developer.apple.com/library/archive/documentation/General/Conceptual/ExtensibilityPG/ExtensionCreation.html) 6 | - [App Extensions](https://developer.apple.com/app-extensions/) 7 | -------------------------------------------------------------------------------- /Lists/AppKit.md: -------------------------------------------------------------------------------- 1 | # AppKit 2 | 3 | - [Appreciating AppKit, Part 1](https://pilky.me/appreciating-appkit-part-1/) 4 | - [Appreciating AppKit, Part 2](https://pilky.me/appreciating-appkit-part-2/) 5 | -------------------------------------------------------------------------------- /Lists/AppSubmission.md: -------------------------------------------------------------------------------- 1 | # App Submission 2 | - [How to Submit An App to Apple: From No Account to App Store – Part 1](https://www.raywenderlich.com/184709/submit-app-apple-no-account-app-store-part-1) 3 | - [How to Submit An App to Apple: From No Account to App Store – Part 2](https://www.raywenderlich.com/184825/submit-app-apple-no-account-app-store-part-2) 4 | - [THE TOP REASONS APPS GET REJECTED ON THE APP STORE](https://martiancraft.com/blog/2017/12/app-rejection/) 5 | -------------------------------------------------------------------------------- /Lists/ArchitectureAndDesignPatterns.md: -------------------------------------------------------------------------------- 1 | # Architecture & Design Patterns 2 | 3 | ## Other 4 | - [Design Patterns on iOS using Swift – Part 1/2](https://www.raywenderlich.com/160651/design-patterns-ios-using-swift-part-12) 5 | - [Design Patterns on iOS using Swift – Part 2/2](https://www.raywenderlich.com/160653/design-patterns-ios-using-swift-part-22) 6 | - [Using child view controllers as plugins in Swift](https://www.swiftbysundell.com/posts/using-child-view-controllers-as-plugins-in-swift) 7 | - [Design Patterns in Swift #1: Factory Method and Singleton](https://www.appcoda.com/design-pattern-creational/) 8 | - [Krush iOS Architecture](https://www.teehanlax.com/blog/krush-ios-architecture/) 9 | - [Encapsulating Domain Data, Logic and Business Rules With Value Types in Swift](https://khawerkhaliq.com/blog/swift-domain-logic-business-rules-value-types/) 10 | - [Hiding third-party dependencies with protocols and extensions](https://mecid.github.io/2019/02/13/hiding-third-party-dependencies-with-protocols-and-extensions/) 11 | - [Passive View](https://martinfowler.com/eaaDev/PassiveScreen.html) 12 | - [Presentation Model](https://martinfowler.com/eaaDev/PresentationModel.html) 13 | - [ARCHITECTING AN ANALYTICS SERVICE FOR IOS APPS](https://andreaslydemann.com/architecting-an-analytics-service-for-ios-apps/) 14 | 15 | ## Designing APIs 16 | - [Designing Swift APIs](https://www.swiftbysundell.com/posts/designing-swift-apis) 17 | 18 | ### Naming 19 | - [Function Naming in Swift](https://www.appcoda.com/function-naming/) 20 | 21 | ## Navigation 22 | - [Navigation in Swift](https://www.swiftbysundell.com/posts/navigation-in-swift) 23 | 24 | ## Rule-Based Logic 25 | - [Rule-based logic in Swift](https://www.swiftbysundell.com/posts/rule-based-logic-in-swift) 26 | 27 | ## Refactoring 28 | 29 | ### Decoupling / Segregation 30 | - [Preventing views from being model aware in Swift](https://www.swiftbysundell.com/posts/preventing-views-from-being-model-aware-in-swift) 31 | - [How to move view code out of your view controllers](https://www.hackingwithswift.com/articles/89/how-to-move-view-code-out-of-your-view-controllers) 32 | - [Cleaner Classes with Structs and Tuples](http://appventure.me/2019/02/24/anonymous-tuple-structs/) 33 | - [Extracting view controller actions in Swift](https://www.swiftbysundell.com/posts/extracting-view-controller-actions-in-swift) 34 | - [Configurable types in Swift](https://www.swiftbysundell.com/posts/configurable-types-in-swift) 35 | - [Layered Architecture to Design iOS Apps](https://www.vadimbulavin.com/layered-architecture-ios/) 36 | - [Splitting up Swift types](https://www.swiftbysundell.com/articles/splitting-up-swift-types/) 37 | 38 | ## Massive View Controller 39 | - [How to refactor massive view controllers](https://www.hackingwithswift.com/articles/159/how-to-refactor-massive-view-controllers) 40 | 41 | ## Containment & Child View Controller 42 | - [Avoiding Massive View Controller using Containment & Child View Controller](https://www.appcoda.com/container-view-controller/) 43 | - [Building complex screens with Child ViewControllers](https://mecid.github.io/2019/02/27/building-complex-screens-with-child-viewcontrollers/) 44 | 45 | ## OOP / Object Oriented Paradigm 46 | - [Styling by subclassing](https://theswiftdev.com/2019/02/19/styling-by-subclassing/) 47 | 48 | ## Data Driven Development 49 | - [Data-Driven Table Views](http://www.vadimbulavin.com/data-drive-table-views/) 50 | 51 | ## State Modeling 52 | - [Enum-Driven TableView Development](https://www.raywenderlich.com/5542-enum-driven-tableview-development) 53 | - [Maintaining State in Your ViewControllers](https://mecid.github.io/2019/01/23/maintaining-state-in-view-controllers/) 54 | - [Modeling State In Swift](https://www.swiftbysundell.com/posts/modelling-state-in-swift) 55 | - [The Comprehensive Guide to the State Management in iOS](https://www.appcoda.com/state-management-ios/) 56 | - [The easiest State Machine in Swift](https://albertodebortoli.com/2018/12/16/the-easiest-state-machine-in-swift/) 57 | - [State Machines in Swift using enums](http://www.splinter.com.au/2019/04/10/swift-state-machines-with-enums/) 58 | - [Modelling state in Swift](https://www.swiftbysundell.com/articles/modelling-state-in-swift/) 59 | - [Maintaining State in Your Apps](https://developer.apple.com/documentation/swift/maintaining_state_in_your_apps) 60 | 61 | ## Legacy Code / Backward Compatability 62 | - [Writing backward compatible Swift code](https://www.swiftbysundell.com/posts/writing-backward-compatible-swift-code) 63 | 64 | ## Model Layer 65 | - [Structuring model data in Swift](https://www.swiftbysundell.com/posts/structuring-model-data-in-swift) 66 | 67 | ## Promise 68 | - [Promises in Swift: Asynchronous Promises: Proof of Concept in Swift](https://medium.com/@robringham/promises-in-swift-66f377c3e403) 69 | - [Promise Pattern on Swift with PromiseKit And why you should migrate your async calls to them](https://hackernoon.com/promise-pattern-on-swift-with-promisekit-620efad7a5bd) 70 | - [Under The Hood Of Futures And Promises In Swift](https://www.swiftbysundell.com/posts/under-the-hood-of-futures-and-promises-in-swift) 71 | - [Implementing Promises in Swift](https://felginep.github.io/2019-01-06/implementing-promises-in-swift) 72 | 73 | ## SOLID 74 | - [SOLID Principles Applied To Swift](https://marcosantadev.com/solid-principles-applied-swift/) 75 | - [SOLID Principles for Becoming a Better iOS/Swift Developer](https://www.scaledrone.com/blog/solid-principles-for-becoming-a-better-ios-swift-developer/) 76 | - [iOSModulesArchitecture](https://github.com/JeanLebrument/iOSModulesArchitecture) 77 | - [S.O.L.I.D: The First 5 Principles of Object Oriented Design](https://scotch.io/bar-talk/s-o-l-i-d-the-first-five-principles-of-object-oriented-design#toc-interface-segregation-principle) 78 | 79 | ## Composition 80 | - [Reusability and Composition in Swift](https://theswiftpost.co/reusability-composition-swift/) 81 | - [Using Composition in iOS Architecture](https://medium.com/@dkw5877/using-composition-in-ios-development-a457a37db0bd) 82 | 83 | ## Coroutines 84 | - [Expressive Coroutines](http://www.figure.ink/blog/2017/9/4/expressive-coroutines) 85 | 86 | ## Data Flow between View Controllers 87 | - [Passing Data Between View Controllers in iOS: The Definitive Guide](https://matteomanferdini.com/how-ios-view-controllers-communicate-with-each-other/) 88 | 89 | ## Modular Architecture 90 | - [How to build a modular architecture in iOS](https://benoitpasquier.com/how-build-modular-architecture-ios/) 91 | 92 | # Design Patterns 93 | 94 | ## Type Erasure 95 | - [Learn & Master ⚔️ Type Erasure in 6 Minutes](https://medium.com/swlh/learn-master-%EF%B8%8F-type-erasure-in-6-minutes-f04d7535fb82) 96 | 97 | ## Multicast Delegate 98 | - [Multicast Delegates in Swift](http://www.gregread.com/2016/02/23/multicast-delegates-in-swift/) 99 | - [Multicast on Swift 3 and MVVM-C](https://medium.com/@ivan_m/multicast-on-swift-3-and-mvvm-c-ff74ce802bcc) 100 | - [Multicast Delegate and Delegates Composition](http://www.vadimbulavin.com/multicast-delegate/) 101 | 102 | ### Code 103 | - [GitHub Code Example](https://gist.github.com/shaulhameed/c9c512a3eed4b4776bb3a209fccd339e) 104 | - [MulticastDelegate - An elegant multicast delegate written in swift](https://github.com/jonasman/MulticastDelegate) 105 | 106 | ## Singleton 107 | - [Avoiding singletons in Swift](https://www.swiftbysundell.com/posts/avoiding-singletons-in-swift) 108 | 109 | ## Factory Method 110 | - [Using The Factory Method Pattern To Avoid Shaded State In Swift](https://www.swiftbysundell.com/posts/using-the-factory-pattern-to-avoid-shared-state-in-swift) 111 | - [Static factory methods in Swift](https://www.swiftbysundell.com/posts/static-factory-methods-in-swift) 112 | 113 | ## Facade 114 | - [Design Patterns with Swift: Facade pattern](https://wysockikamil.com/swift-facade-pattern/) 115 | - [Swift World: Design Patterns — Facade](https://medium.com/swiftworld/swift-world-design-patterns-facade-579ef4b3319f) 116 | 117 | ## Command 118 | - [Rethinking Design Patterns in Swift: The Command Pattern](https://khawerkhaliq.com/blog/swift-design-patterns-command-pattern/) 119 | 120 | ## State 121 | - [Rethinking Design Patterns in Swift: State Pattern](https://khawerkhaliq.com/blog/swift-design-patterns-state-pattern/) 122 | - [Design Patterns in Swift: State Pattern](https://agostini.tech/2018/05/13/design-patterns-in-swift-state/) 123 | - [Applying the State Pattern in Swift](https://medium.com/@vel.is.lava/applying-the-state-pattern-in-swift-5fed17751239) 124 | - [How use State Design Pattern to create a Stateful ViewController?](https://medium.com/cocoaacademymag/how-use-state-design-pattern-to-create-a-stateful-viewcontroller-78c224781918) 125 | 126 | ## Mediator 127 | - [Design Patterns in Swift: Mediator](https://github.com/kingreza/Swift-Mediator) 128 | - [Swift World: Design Patterns — Mediator](https://medium.com/swiftworld/swift-world-design-patterns-mediator-e6b3c35d68b0) 129 | 130 | ## Coordinator 131 | - [An iOS Coordinator Pattern](https://will.townsend.io/2016/an-ios-coordinator-pattern) 132 | - [Coordinator Tutorial for iOS: Getting Started](https://www.raywenderlich.com/177538/coordinator-tutorial-ios-getting-started) 133 | - [Coordinators Redux](http://khanlou.com/2015/10/coordinators-redux/) 134 | - [MVVM and Coordinator pattern together](https://medium.com/@giovannyorozco24/mvvm-and-coordinator-pattern-together-8920fc0f1f55) 135 | - [How to use the coordinator pattern in iOS apps](https://www.hackingwithswift.com/articles/71/how-to-use-the-coordinator-pattern-in-ios-apps) 136 | - [Coordinator and FlowController](https://github.com/onmyway133/blog/issues/106) 137 | - [Coordinators with Storyboards](http://www.apokrupto.com/blog-1/2016/3/17/coordinators-with) 138 | - [Using closures with the coordinator pattern](https://www.hackingwithswift.com/articles/132/using-closures-with-the-coordinator-pattern) 139 | - [Introducing an iOS navigation library based on the coordinator pattern](https://quickbirdstudios.com/blog/ios-navigation-library-based-on-the-coordinator-pattern/) 140 | - [Coordinators Essential tutorial. Part I](https://medium.com/blacklane-engineering/coordinators-essential-tutorial-part-i-376c836e9ba7) 141 | - [Coordinators Essential tutorial. Part II](https://medium.com/blacklane-engineering/coordinators-essential-tutorial-part-ii-b5ab3eb4a74) 142 | - [Coordinator: the missing pattern in UIKit](http://aplus.rs/2018/coordinator-missing-pattern-uikit/) 143 | - [Controller Hierarchies](https://sandofsky.com/blog/controller-hierarchies.html) 144 | - [Advanced coordinators in iOS](https://www.hackingwithswift.com/articles/175/advanced-coordinator-pattern-tutorial-ios) 145 | - [Introduction to Coordinator pattern in Swift](https://benoitpasquier.com/coordinator-pattern-swift/) 146 | 147 | ### Videos 148 | - [SwiftConf '16: Niels @nvh van Hoorn — Protocol Oriented ViewController Coordinators](https://www.youtube.com/watch?v=KDl7Czw63mM) 149 | 150 | ## Strategy 151 | - [The Strategy Pattern in iOS Apps](https://medium.com/@volbap/the-strategy-pattern-in-ios-apps-346abc9e86a6) 152 | - [Strategy pattern in Swift](https://medium.com/flawless-app-stories/strategy-pattern-in-swift-1462dbddd9fe) 153 | 154 | ## Flow 155 | - [[iOS] Flow: Make your logic flow and data flow clean and human readable](https://medium.com/ios-os-x-development/ios-flow-make-your-logic-flow-and-data-flow-clean-and-human-readable-ca9cd2718980) 156 | - [Navigation with Flow Controllers](https://mecid.github.io/2019/02/20/navigation-with-flow-controllers/) 157 | 158 | ## Monad 159 | - [Monad Functional Programming](https://en.wikipedia.org/wiki/Monad_(functional_programming)) 160 | - [Monads in Swift](http://chris.eidhof.nl/post/monads-in-swift/) 161 | - [Functor and Monad in Swift](http://www.javiersoto.me/post/106875422394) 162 | 163 | ## Proxy 164 | - [Swift World: Design Patterns — Proxy](https://medium.com/@NilStack/swift-world-design-patterns-proxy-6e2239532a88) 165 | - [A Design Pattern Story in Swift – Chapter 12: Proxy](http://audreyli.me/2015/07/07/a-design-pattern-story-in-swift-chapter-12-proxy/) 166 | - [Protection Proxy](https://github.com/ochococo/Design-Patterns-In-Swift#-protection-proxy) 167 | - [Virtual Proxy](https://github.com/ochococo/Design-Patterns-In-Swift#-virtual-proxy) 168 | 169 | ## Observer 170 | - [Observers in Swift - Part 1](https://www.swiftbysundell.com/posts/observers-in-swift-part-1) 171 | - [Observers in Swift - Part 2](https://www.swiftbysundell.com/posts/observers-in-swift-part-2) 172 | - [Notification in Swift (NSNotification)](https://medium.com/@dmytro.anokhin/notification-in-swift-d47f641282fa) 173 | - [Using NSNotificationCenter in Swift](https://medium.com/@JoyceMatos/using-nsnotificationcenter-in-swift-eb70cf0b60fc) 174 | - [NSNotificationCenter addObserver in Swift](https://stackoverflow.com/questions/24049020/nsnotificationcenter-addobserver-in-swift) 175 | 176 | ## Delegation 177 | - [Lightweight iOS View Controllers](https://yalantis.com/blog/lightweight-ios-view-controllers-separate-data-sources-guided-mvc/) 178 | - [Apple’s Take on App Architecture](http://oleb.net/blog/2014/06/apples-take-on-app-architecture/) 179 | - [Fluent Pagination - no more jumpy scrolling](http://www.iosnomad.com/blog/2014/4/21/fluent-pagination) 180 | - [AdvancedCollectionView](https://github.com/zwaldowski/AdvancedCollectionView) 181 | - [iOS: UITableView controller](http://gosuwachu.io/2014/01/12/uitableview-controller/) 182 | - [Nestable](http://khanlou.com/2015/04/nestable/) 183 | - [Advanced UITableViews Made Simple: YLTableView](http://engineeringblog.yelp.com/2015/06/advanced-uitableviews-made-simple-yltableview.html) 184 | - [Typed, yet Flexible Table View Controller](http://holko.pl/2016/01/05/typed-table-view-controller/) 185 | - [Complex table view state changes made easy](https://engineering.kitchenstories.io/this-simple-trick-will-change-how-you-think-about-table-views-706193654974#.raaqvz1yi) 186 | - [Why you shouldn’t use delegates in Swift](https://medium.cobeisfresh.com/why-you-shouldn-t-use-delegates-in-swift-7ef808a7f16b) 187 | - [Understanding Delegates and Delegation in Swift 4](https://www.appcoda.com/swift-delegate/) 188 | 189 | ## Dependency Injection 190 | - [Dependency Injection Demystified](https://www.jamesshore.com/Blog/Dependency-Injection-Demystified.html) 191 | - [Dependency injection](https://en.wikipedia.org/wiki/Dependency_injection) 192 | - [Dependency injection using factories in Swift](https://www.swiftbysundell.com/posts/dependency-injection-using-factories-in-swift) 193 | - [Dependency Injection / Objective C](https://www.objc.io/issues/15-testing/dependency-injection/) 194 | - [Dependency Injection in Swift](https://medium.com/ios-os-x-development/dependency-injection-in-swift-a959c6eee0ab) 195 | - [Dependency Injection in View Controllers](https://medium.com/ios-os-x-development/dependency-injection-in-view-controllers-9fd7d2c77e55) 196 | - [Safer UIViewController Creation When Using Storyboards](https://medium.com/ios-os-x-development/safer-uiviewcontroller-creation-when-using-storyboards-1915ac2b2c80) 197 | - [Faux Dependency Injection for Storyboards](https://thatthinginswift.com/dependency-injection-storyboards-swift/) 198 | - [Advanced Dependency Injection](https://clean-swift.com/advanced-dependency-injection/) 199 | - [Dependency Injection on iOS — part 1/4](https://medium.com/@fernandodelrio/dependency-injection-on-ios-part-1-4-8847f302b3d9) 200 | - [Dependency Injection on iOS — part 2/4](https://medium.com/@fernandodelrio/dependency-injection-on-ios-part-2-4-359fe6800e90) 201 | - [Dependency Injection on iOS — part 3/4](https://medium.com/@fernandodelrio/dependency-injection-on-ios-part-3-4-e85fe7e20de6) 202 | - [Dependency Injection on iOS — part 3/4](https://medium.com/@fernandodelrio/dependency-injection-on-ios-part-4-4-ce3723d819d) 203 | - [Dependency Injection in Swift with Protocols](https://mecid.github.io/2019/03/06/dependency-injection-in-swift-with-protocols/) 204 | - [Looser dependencies with Swift](https://juripakaste.fi/dependency_protocols_structs.html) 205 | - [A Swift-y Approach to Dependency Injection](https://danielhall.io/a-swift-y-approach-to-dependency-injection) 206 | - [Swift-y Dependency Injection, Part Two](https://www.danielhall.io/swift-y-dependency-injection-part-two) 207 | 208 | ## Iterator 209 | - [Design Patterns in Swift: Iterator Pattern](https://agostini.tech/2018/06/10/design-patterns-in-swift-iterator-pattern/) 210 | 211 | ## Observer 212 | - [Implementing the observer pattern in Swift](https://www.behindmedia.com/2017/12/23/implementing-the-observer-pattern-in-swift/) 213 | 214 | ## Object Pool 215 | - [Swift object pool design pattern](https://theswiftdev.com/2018/12/09/swift-object-pool-design-pattern/) 216 | 217 | ## Null Object 218 | - [Null Object Pattern in Swift](https://medium.com/swift-programming/null-object-pattern-in-swift-1b96e03b2756) 219 | - [Null Object Design Pattern](https://gist.github.com/suprie/992ff8737eedd724e4f6) 220 | - [Swift Optionals and the Null Object Design Pattern](https://m.smartcloud.io/swift-optionals-and-the-null-object-design-pattern-7578b7448edf) 221 | 222 | ## Builder 223 | - [Using the builder pattern in Swift](https://www.swiftbysundell.com/posts/using-the-builder-pattern-in-swift) 224 | 225 | ## Container View Controller 226 | - [Custom container view controllers in Swift](https://www.swiftbysundell.com/posts/custom-container-view-controllers-in-swift) 227 | - [Managing View Controllers With Container View Controllers](https://cocoacasts.com/managing-view-controllers-with-container-view-controllers/) 228 | - [Container View Controllers](https://useyourloaf.com/blog/container-view-controllers/) 229 | - [Container View Controllers Redux](https://medium.com/flawless-app-stories/container-view-controllers-revisited-e076ef38853f) 230 | 231 | ## Binding 232 | - [Bindable values in Swift](https://www.swiftbysundell.com/posts/bindable-values-in-swift) 233 | 234 | ## DTO (Data Transfer Object) 235 | - [What is Data Transfer Object?](https://stackoverflow.com/questions/1051182/what-is-data-transfer-object) 236 | - [LocalDTO](https://martinfowler.com/bliki/LocalDTO.html) 237 | - [Why Model Objects Shouldn’t Implement Swift’s Decodable or Encodable Protocols](https://medium.com/better-programming/why-model-objects-shouldnt-implement-swift-s-decodable-or-encodable-protocols-1249cb44d4b3) 238 | 239 | # Architectural Patterns 240 | - [iOS Architecture Patterns. Demystifying MVC, MVP, MVVM and VIPER](https://medium.com/ios-os-x-development/ios-architecture-patterns-ecba4c38de52) 241 | - [The best architecture for the iOS app, does it even exist?](https://medium.com/flawless-app-stories/the-best-architecture-for-ios-app-does-it-even-exist-3af357ac62e7) 242 | 243 | ## MVC 244 | Model View Controller 245 | - [Looking at Model-View-Controller in Cocoa](https://www.cocoawithlove.com/blog/mvc-and-cocoa.html) 246 | - [MVC](http://codeplease.io/2017/11/19/mvc/) 247 | - [Model-View-Controller, Apple Docs](https://developer.apple.com/library/content/documentation/General/Conceptual/CocoaEncyclopedia/Model-View-Controller/Model-View-Controller.html) 248 | - [Do MVC like it’s 1979](https://badootech.badoo.com/do-mvc-like-its-1979-da62304f6568) 249 | - [A Better MVC, Part 1: The Problems](https://davedelong.com/blog/2017/11/06/a-better-mvc-part-1-the-problems/) 250 | - [A Better MVC, Part 2: Fixing Encapsulation](https://davedelong.com/blog/2017/11/06/a-better-mvc-part-2-fixing-encapsulation/) 251 | - [A Better MVC, Part 3: Fixing Massive View Controller](https://davedelong.com/blog/2017/11/06/a-better-mvc-part-3-fixing-massive-view-controller/) 252 | - [A Better MVC, Part 4: Future Directions](https://davedelong.com/blog/2017/11/06/a-better-mvc-part-4-future-directions/) 253 | - [A Better MVC, Part 5: An Evolution](https://davedelong.com/blog/2018/04/24/a-better-mvc-part-5-an-evolution/) 254 | - [Just Controllers](http://khanlou.com/2018/02/just-controllers/) 255 | - [Model-View-Controller without the Controller](https://www.cocoawithlove.com/blog/mvc-without-the-c.html) 256 | - [Using child view controllers as plugins in Swift](https://www.swiftbysundell.com/posts/using-child-view-controllers-as-) 257 | - [Model View Whatever](http://khanlou.com/2014/03/model-view-whatever/) 258 | - [Model-View-Controller (MVC) in iOS: A Modern Approach](https://www.raywenderlich.com/sessions/new?return_path=%2F1073-model-view-controller-mvc-in-ios-a-modern-approach) 259 | - [MVC: Many View Controllers](https://rambo.codes/posts/2020-02-20-mvc-with-sugar) 260 | - [Model-View-Controller (MVC) in iOS – A Modern Approach](https://www.raywenderlich.com/1000705-model-view-controller-mvc-in-ios-a-modern-approach) 261 | 262 | ### Video 263 | - [A Better MVC](https://www.youtube.com/watch?v=YWVzCd5FYbs) 264 | - [UIKonf18 – Day 1 – Joachim Kurz – MVC is Not Your Problem](https://www.youtube.com/watch?v=A1vzcxR-Ss0&feature=youtu.be&t=1665) 265 | 266 | ## MVC-N 267 | Model View Controller - Network 268 | - [MVC-N why did use it instead of MVC traditional](https://medium.com/@tuyenbq/mvc-n-why-did-use-it-instead-mvc-traditional-34e8363f5c9d) 269 | - [MVC-N: Isolating network calls from View Controllers](https://academy.realm.io/posts/slug-marcus-zarra-exploring-mvcn-swift/) 270 | 271 | ### Video 272 | - [Beginning iOS Design Patterns - MVC N](https://www.youtube.com/watch?v=KxNWvW1lcHo) 273 | 274 | ## MVP 275 | Model View Presenter 276 | - [Going from MVC to MVP on iOS](https://blog.moove-it.com/going-from-mvc-to-mvp-on-ios/) 277 | - [A dumb UI is a good UI: Using MVP in iOS with swift](http://iyadagha.com/using-mvp-ios-swift/) 278 | 279 | ## MVVM 280 | Model View View-Movel 281 | - [MVVM in Swift](http://artsy.github.io/blog/2015/09/24/mvvm-in-swift/) 282 | - [An Introduction to the MVVM Design Pattern](https://www.toptal.com/ios/swift-tutorial-introduction-to-mvvm) 283 | - [Swift and ModelView-View-Model in Practive](https://cocoacasts.com/swift-and-model-view-viewmodel-in-practice/) 284 | - [MVVM in Swift](https://medium.com/@shenghuawu/mvvm-in-swift-bfe2b7c1d7a4) 285 | - [Introduction to MVVM](https://www.objc.io/issues/13-architecture/mvvm/) 286 | - [MVVM is Not Very Good](http://khanlou.com/2015/12/mvvm-is-not-very-good/) 287 | - [Simplification Of IOS View Controllers: MVVM Or Presentation Controls?](http://blog.xebia.com/simplification-of-ios-view-controllers-mvvm-or-presentation-controls/) 288 | - [On MVVM, and Architecture Questions](http://twocentstudios.com/2014/06/08/on-mvvm-and-architecture-questions/) 289 | - [MVVM and Coordinator Patterns Together](https://medium.com/@giovannyorozco24/mvvm-and-coordinator-pattern-together-8920fc0f1f55) 290 | - [Design Patterns by Tutorials: MVVM](https://www.raywenderlich.com/192471/design-patterns-by-tutorials-mvvm) 291 | - [MVVM Pattern Sample in Swift/iOS](https://dev.to/eleazar0425/mvvm-pattern-sample-in-swiftios--58aj) 292 | - [From MVC to MVVM in Swift](http://rasic.info/from-mvc-to-mvvm-in-swift/) 293 | - [MVVM Is Quite Okay at What It Is Supposed to Do](https://christiantietze.de/posts/2016/08/mvvm-is-okay-for-what-it-does/) 294 | - [MVVM-C In Practice](https://www.youtube.com/watch?v=9VojuJpUuE8) 295 | - [MVVM in Practice - RWDevCon Session](https://www.youtube.com/watch?v=sWx8TtRBOfk) 296 | - [View Models at Kickstarter ](https://talk.objc.io/episodes/S01E47-view-models-at-kickstarter) 297 | - [How not to get desperate with MVVM implementation](https://medium.com/flawless-app-stories/how-to-use-a-model-view-viewmodel-architecture-for-ios-46963c67be1b) 298 | - [iOS Architecture: A State Container based approach](https://jobandtalent.engineering/ios-architecture-an-state-container-based-approach-4f1a9b00b82e) 299 | - [MVVM: A non-reactive introduction](https://medium.com/@IanKeen/mvvm-a-non-reactive-introduction-5a1f33402a32) 300 | - [Working With Static Patterns: A Swift MVVM Tutorial](https://www.toptal.com/swift/static-patterns-swift-mvvm-tutorial) 301 | - [Model-View-ViewModel for iOS](https://www.teehanlax.com/blog/model-view-viewmodel-for-ios/) 302 | - [Basic MVVM with ReactiveCocoa](https://cocoasamurai.blogspot.com/2013/03/basic-mvvm-with-reactivecocoa.html) 303 | - [Mastering MVVM on iOS](https://mecid.github.io/2018/01/11/mastering-mvvm-on-ios/) 304 | - [Practical MVVM + RxSwift](https://medium.com/flawless-app-stories/practical-mvvm-rxswift-a330db6aa693) 305 | - [MVVM with Combine Tutorial for iOS](https://www.raywenderlich.com/4161005-mvvm-with-combine-tutorial-for-ios) 306 | 307 | ### Video 308 | - [Swift: How to Migrate MVC to MVVM & Intro Unit Testing](https://www.youtube.com/watch?v=n06RE9A_8Ks) 309 | 310 | ### Code 311 | - [Sample application using MVVM in Swift](https://github.com/jalehman/todolist-mvvm) 312 | 313 | ## MVVM-C 314 | Model View View-Model Coordinator 315 | - [MVVM-C with Swift](https://marcosantadev.com/mvvmc-with-swift/) 316 | - [MVVM-C A simple way to navigate](http://tech.trivago.com/2016/08/26/mvvm-c-a-simple-way-to-navigate/) 317 | - [UIKonf 2016 – Day 1– Steve "Scotty" Scott – MVVM-C In Practice](https://www.youtube.com/watch?v=9VojuJpUuE8) 318 | 319 | ## VIP 320 | View Interactor Presenter 321 | - [Architecture Wars – A New Hope](https://swifting.io/blog/2016/09/07/architecture-wars-a-new-hope/) 322 | - [Introducing Clean Swift Architecture (VIP)](https://hackernoon.com/introducing-clean-swift-architecture-vip-770a639ad7bf) 323 | 324 | ## VIPER 325 | View Interactor Presenter Entity Router 326 | - [Introduction to VIPER](http://mutualmobile.github.io/blog/2013/12/04/viper-introduction/) 327 | - [iOS Project Architecture: Using VIPER](https://www.ckl.io/blog/ios-project-architecture-using-viper/) 328 | - [ARCHITECTING MOBILE APPS WITH (B)VIPER MODULES - A STRUCTURED ENGINEERING APPROACH FOR BIG MOBILE APPS](http://www.mttnow.com/blog/architecting-mobile-apps-with-bviper-modules) 329 | - [Clean Architecture - VIPER at Redbooth](https://speakerdeck.com/sergigracia/clean-architecture-viper) by [@sergigracia](https://twitter.com/sergigracia) 330 | - [VIPER to be or not to be](https://swifting.io/blog/2016/03/07/8-viper-to-be-or-not-to-be/) 331 | - [Clean Architecture - VIPER by Redbooth](https://www.youtube.com/watch?v=OX4rLAJC7lw) 332 | - [250 Days Shipping With Swift and VIPER](https://realm.io/news/altconf-brice-pollock-250-days-shipping-with-swift-and-viper/) 333 | - [IOS ARCHITECTURE: REAL LIFE VIPER](http://www.outware.com.au/insights/ios-architecture-real-life-viper/) 334 | - [Humble Object Pattern in Swift](https://medium.com/ios-os-x-development/humble-object-pattern-in-swift-de5efe8fe05a#.dmkvdbjoy) 335 | - [VIPER-S: WRITING YOUR OWN ARCHITECTURE AND UNDERSTAND ITS IMPORTANCE (PART 3)](http://www.thinkandbuild.it/viper-s-writing-your-own-architecture-and-understand-its-importance-part-3/) 336 | - [Facing the VIPER](https://vimeo.com/album/4786409/video/235312913) 337 | - [Building a Framework with VIPER](https://academy.realm.io/posts/try-swift-nyc-sonam-dhingra-building-viper-framework/) 338 | - [Should I use Viper architecture for my next iOS application, or it is still very new to use?](https://www.quora.com/Should-I-use-Viper-architecture-for-my-next-iOS-application-or-it-is-still-very-new-to-use) 339 | - [VIPER to be or not to be?](https://swifting.io/blog/2016/03/07/8-viper-to-be-or-not-to-be/) 340 | - [Brigade’s Experience Using an MVC Alternative](https://medium.com/brigade-engineering/brigades-experience-using-an-mvc-alternative-36ef1601a41f) 341 | - [First Observations on TDD with VIPER](http://iosunittesting.com/tdd-with-viper/) 342 | - [Building Modular iOS Apps](https://realm.io/news/modular-ios-apps/) 343 | - [iPhreaks Show – VIPER with Conrad Stoll and Jeff Gilbert](http://devchat.tv/iphreaks/064-iphreaks-show-viper-with-conrad-stoll-and-jeff-gilbert) 344 | - [Building iOS App With VIPER Architecture](https://blog.mindorks.com/building-ios-app-with-viper-architecture-8109acc72227) 345 | - [Viper Framework for iOS using Swift v3](https://github.com/ferranabello/Viperit) 346 | - [Architecting iOS Apps with VIPER](https://www.objc.io/issues/13-architecture/viper/) 347 | - [iOS Project Architecture: Using VIPER](https://cheesecakelabs.com/blog/ios-project-architecture-using-viper/) 348 | - [Mastering the VIPER architecture](https://theswiftdev.com/2019/03/19/mastering-the-viper-architecture/) 349 | - [VIPER best practices for iOS developers](https://theswiftdev.com/2019/03/11/viper-best-practices-for-ios-developers/) 350 | 351 | ## Redux 352 | Unidirectional Data Flow 353 | - [Introduction to ReSwift that is a small framework that helps you to create Redux-like architectures in Swift](https://www.raywenderlich.com/155815/reswift-tutorial-memory-game-app) 354 | - [Unidirectional Data Flow Architecture (Redux) in Swift](https://medium.com/seyhunakyurek/unidirectional-data-flow-architecture-redux-in-swift-6fa2ed5c3c76) 355 | -------------------------------------------------------------------------------- /Lists/AssetCatalog.md: -------------------------------------------------------------------------------- 1 | ## Asset Catalog 2 | - [Asset Catalog Changes In Xcode 9](http://martiancraft.com/blog/2017/06/xcode9-assets/) 3 | - [Xcode 9 Vector Images And Asset Catalog Support](https://useyourloaf.com/blog/xcode-9-vector-images/) 4 | -------------------------------------------------------------------------------- /Lists/AsynchronousProgramming.md: -------------------------------------------------------------------------------- 1 | # Asynchronous Programming 2 | 3 | ## Operation & OperationQueue 4 | - [Operation and OperationQueue Tutorial in Swift](https://www.raywenderlich.com/190008/operation-and-operationqueue-tutorial-in-swift) 5 | - [Parallel programming with Swift: Operations](https://medium.com/flawless-app-stories/parallel-programming-with-swift-operations-54cbefaf3cb0) 6 | 7 | ## GCD 8 | - [Grand Central Dispatch Tutorial for Swift 4: Part 1/2](https://www.raywenderlich.com/5370-grand-central-dispatch-tutorial-for-swift-4-part-1-2) 9 | - [Grand Central Dispatch Tutorial for Swift 4: Part 2/2](https://www.raywenderlich.com/5371-grand-central-dispatch-tutorial-for-swift-4-part-2-2) 10 | - [Dispatch Barriers in Swift 3](https://medium.com/@oyalhi/dispatch-barriers-in-swift-3-6c4a295215d6) 11 | - [Grand Central Dispatch in Swift](https://www.netguru.com/codestories/grand-central-dispatch-in-swift) 12 | - [Ultimate Grand Central Dispatch tutorial in Swift](https://theswiftdev.com/2018/07/10/ultimate-grand-central-dispatch-tutorial-in-swift/) 13 | - [A deep dive into Grand Central Dispatch in Swift](https://www.swiftbysundell.com/posts/a-deep-dive-into-grand-central-dispatch-in-swift) 14 | - [Cancelling Background Tasks](http://jordansmith.io/cancelling-background-tasks/) 15 | - [DispatchGroup vs. OperationQueue in Swift](https://agostini.tech/2017/08/20/dispatchgroup-vs-operationqueue-in-swift/) 16 | - [Introduction to Multithreading and DispatchQueue](https://fluffy.es/help-my-app-freezes/) 17 | - [Discovering which DispatchQueue a method is running on](https://swiftrocks.com/discovering-which-dispatchqueue-a-method-is-running-on) 18 | - [Using Dispatch Group & Semaphore to Group iOS Async Tasks](https://medium.com/swift2go/using-dispatch-group-semaphore-to-group-ios-async-tasks-alfian-losari-81335fa6e92e) 19 | 20 | ### Documentation 21 | - [DispatchGroup](https://developer.apple.com/documentation/dispatch/dispatchgroup) 22 | 23 | ## Futures & Promises 24 | - [Back To The Futures](https://academy.realm.io/posts/swift-summit-javier-soto-futures/) 25 | - [Under the hood of Futures & Promises in Swift](https://www.swiftbysundell.com/posts/under-the-hood-of-futures-and-promises-in-swift) 26 | - [Chaining Async Requests in iOS](https://medium.com/@nrewik/chaining-async-requests-in-ios-b492ad9d9b4a) 27 | 28 | ## Tasks 29 | - [Task-based concurrency in Swift](https://www.swiftbysundell.com/posts/task-based-concurrency-in-swift) 30 | 31 | ## Syncronization Primitives 32 | - [Concurrency in Swift: Reader Writer Lock](https://medium.com/@dmytro.anokhin/concurrency-in-swift-reader-writer-lock-4f255ae73422) 33 | 34 | ## Other 35 | - [Comparative Asynchronous Programming](https://ashfurrow.com/blog/comparative-asynchronous-programming/) 36 | - [Reducers: Dealing With Asynchrony](http://chris.eidhof.nl/post/reducers/) 37 | - [Concurrency in Swift: One possible approach](https://gist.github.com/lattner/31ed37682ef1576b16bca1432ea9f782) 38 | - [Concurrency](https://theswiftpost.co/concurrency/) 39 | - [BUILDING EXPECTATIONS](https://pfandrade.me/blog/building-expectations/) 40 | - [Avoiding race conditions in Swift](https://medium.com/swiftcairo/avoiding-race-conditions-in-swift-9ccef0ec0b26) 41 | - [Prioritize Work with Quality of Service Classes](https://developer.apple.com/library/archive/documentation/Performance/Conceptual/EnergyGuide-iOS/PrioritizeWorkWithQoS.html#//apple_ref/doc/uid/TP40015243-CH39-SW1) 42 | -------------------------------------------------------------------------------- /Lists/AuthenticationServices.md: -------------------------------------------------------------------------------- 1 | # Authentication Services 2 | 3 | ## Sign In With Apple 4 | - [Sign in With Apple implementation tutorial](https://fluffy.es/sign-in-with-apple-tutorial-ios/) 5 | - [How to Use ASAuthorizationAppleIDButton in Storyboard](https://swiftsenpai.com/xcode/asauthorizationappleidbutton-in-storyboard/) 6 | 7 | ## Documentation 8 | - [AuthenticationServices](https://developer.apple.com/documentation/authenticationservices) 9 | - [Implementing User Authentication with Sign in with Apple](https://developer.apple.com/documentation/authenticationservices/implementing_user_authentication_with_sign_in_with_apple) 10 | - [Sign In with Apple Entitlement](https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_applesignin) 11 | 12 | ## Human Interface Guidelines 13 | - [Sign in with Apple](https://developer.apple.com/design/human-interface-guidelines/sign-in-with-apple/overview/) 14 | -------------------------------------------------------------------------------- /Lists/AutoFill.md: -------------------------------------------------------------------------------- 1 | # AutoFill 2 | - [Generating Strong Passwords With AutoFill](https://agostini.tech/2019/02/25/generating-strong-passwords-with-autofill/) -------------------------------------------------------------------------------- /Lists/AutoLayout.md: -------------------------------------------------------------------------------- 1 | # Auto Layout 2 | 3 | ## Articles 4 | - [History of Auto Layout constraints](https://sarunw.com/posts/history-of-auto-layout-constraints/) 5 | - [Auto Layout Tutorial in iOS: Getting Started](https://www.raywenderlich.com/811496-auto-layout-tutorial-in-ios-getting-started) 6 | - [Layout Anchors](https://www.swiftbysundell.com/basics/layout-anchors/) 7 | - [How to position a view using Auto Layout anchors](https://www.hackingwithswift.com/example-code/uikit/how-to-position-a-view-using-auto-layout-anchors) 8 | - [Self-sizing Popovers](https://useyourloaf.com/blog/self-sizing-popovers/) 9 | 10 | ## Documentation 11 | - [Understanding Auto Layout](https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/AutolayoutPG/index.html) 12 | - [NSLayoutAnchor](https://developer.apple.com/documentation/uikit/nslayoutanchor) 13 | -------------------------------------------------------------------------------- /Lists/Business.md: -------------------------------------------------------------------------------- 1 | # Business 2 | 3 | ## Articles 4 | - [How to Not Suck at Remote Working](http://www.vanschneider.com/remote-working) 5 | - [Why you can’t manage humans like they’re software](https://qz.com/work/1493875/why-you-cant-manage-humans-like-theyre-software/) 6 | - [Launching an app: from exciting to firefighting](https://medium.com/@heidi_helen/launching-an-app-from-exciting-to-firefighting-e21d020d9ef5) 7 | - [The 3 most effective ways to build trust as a leader](https://m.signalvnoise.com/the-3-most-effective-ways-to-build-trust-as-a-leader/) 8 | - [The five types of communication problems that destroy company morale](https://qz.com/work/1587170/the-five-types-of-communication-problems-that-destroy-company-morale/) 9 | - [What recruiters won’t tell you about hiring managers](https://qz.com/1572530/what-recruiters-wont-tell-you-about-hiring-managers/) 10 | - [How to foster a culture of belonging at work](https://qz.com/work/1545508/how-to-foster-a-culture-of-belonging-at-work/) 11 | - [How to have conversations that make employees stay](https://qz.com/work/1583761/good-management-how-to-have-feedback-conversations-that-increase-employee-engagement/) 12 | - [10 lessons I learned from maintaining an open source community for 4 years](https://www.twilio.com/blog/10-lessons-learned-maintaining-open-source-community) 13 | - [Thriving on the Technical Leadership Path](https://keavy.com/work/thriving-on-the-technical-leadership-path/) 14 | - [Why Jeff Bezos’ Two-Pizza Team Rule Still Holds True in 2018](http://blog.idonethis.com/two-pizza-team/) 15 | - [A Senior Engineer's CheckList](https://littleblah.com/post/2019-09-01-senior-engineer-checklist/) 16 | - [The (not so) hidden cost of sharing code between iOS and Android](https://blogs.dropbox.com/tech/2019/08/the-not-so-hidden-cost-of-sharing-code-between-ios-and-android/) 17 | - [Yes, You Should Estimate Software Projects](https://blog.pragmaticengineer.com/yes-you-should-estimate/) 18 | - [How To Maximize Value at Tech Conferences (as an Introvert)](https://dev.to/kimmaida/how-to-maximize-value-at-tech-conferences-as-an-introvert-3636) 19 | - [My Experience with Burnout as a Startup Founder](https://open.buffer.com/burnout/) 20 | - [The (not so) hidden cost of sharing code between iOS and Android](https://blogs.dropbox.com/tech/2019/08/the-not-so-hidden-cost-of-sharing-code-between-ios-and-android/) 21 | 22 | ## Competitive Analysis 23 | - [Competitive Analysis: How To Conduct A Comprehensive Competitive Analysis](https://www.mykpono.com/how-to-conduct-competitive-analysis/) 24 | - [How to Perform a Best-in-Class Competitor Analysis (w/ Template)](https://buffer.com/library/competitor-analysis/) 25 | - [How Do You Stack Up? Competitor Analysis](https://www.bostondigital.com/insights/how-do-you-stack-competitor-analysis) 26 | -------------------------------------------------------------------------------- /Lists/CallKit.md: -------------------------------------------------------------------------------- 1 | # CallKit 2 | - [CallKit Tutorial for iOS](https://www.raywenderlich.com/1276414-callkit-tutorial-for-ios) 3 | -------------------------------------------------------------------------------- /Lists/CleanCode.md: -------------------------------------------------------------------------------- 1 | # Clean Code 2 | - [Keeping `View Controllers` skinny and weakly-connected to models](https://cocoacasts.com/three-strategies-to-keep-view-controllers-skinny/) 3 | - [Five signs of code smell](https://cocoacasts.com/five-signs-of-code-smell-in-swift/) 4 | - [Managing View Controllers With Container View Controllers](https://cocoacasts.com/managing-view-controllers-with-container-view-controllers/) 5 | - [Avoiding Massive View Controllers by refactoring.](https://medium.com/cocoaacademymag/avoiding-massive-view-controllers-by-refactoring-ffb6a55dfa42) 6 | 7 | ## Code Review 8 | - [iOS Code Review - Health check of your Swift code](https://benoitpasquier.com/code-review-health-check-of-swift-code/) 9 | - [On Code Reviews](https://basthomas.github.io/on-code-reviews) 10 | -------------------------------------------------------------------------------- /Lists/CloudKit.md: -------------------------------------------------------------------------------- 1 | ## CloudKit 2 | - [CloudKit Tutorial: Getting Started](https://www.raywenderlich.com/134694/cloudkit-tutorial-getting-started) 3 | -------------------------------------------------------------------------------- /Lists/Combine.md: -------------------------------------------------------------------------------- 1 | # Combine 2 | 3 | ## Articles 4 | - [Apple's new Combine framework](https://medium.com/q42-engineering/swift-combine-framework-a082b1e23f2a) 5 | - [Will Combine kill RxSwift?](https://medium.com/@MortyMerr/will-combine-kill-rxswift-64780a150d89?postPublishedType=initial) 6 | - [Reactive Programming + Combine](https://arvindravi.com/reactive-programming-combine/) 7 | - [Hello, Combine: Part I](https://arvindravi.com/hello-combine-part-i/) 8 | - [Combine and RxSwift Overview](https://www.caseyliss.com/2019/6/21/rxswift-vs-combine-wrap-up) 9 | - [Creating a custom Combine Publisher to extend UIKit](https://www.avanderlee.com/swift/custom-combine-publisher/) 10 | - [Problem Solving with Combine Swift](https://medium.com/flawless-app-stories/problem-solving-with-combine-swift-4751885fda77) 11 | - [Building a custom `sample` operator](http://trycombine.com/posts/more-simple-custom-combine-operators-with-sample/?utm_campaign=iOS%2BDev%2BWeekly&utm_medium=web&utm_source=iOS%2BDev%2BWeekly%2BIssue%2B416) 12 | - [Getting started with the Combine framework in Swift](https://www.avanderlee.com/swift/combine/) 13 | - [Custom binding operator in Combine](http://riteshhh.com/combine/custom-binding-operator-in-combine/) 14 | - [Property wrappers in Swift 5.1: the missing @Published implementation](https://medium.com/genetec-tech/property-wrappers-in-swift-5-1-the-missing-published-implementation-1a466ebcf660) 15 | - [MVVM with Combine Tutorial for iOS](https://www.raywenderlich.com/4161005-mvvm-with-combine-tutorial-for-ios) 16 | - [Reducers in Swift](https://www.swiftbysundell.com/articles/reducers-in-swift/) 17 | - [Combine first example](https://dev.to/gualtierofr/combine-first-example-3ie9) 18 | - [Using Combine to Supplement Delegates With Publishers](https://www.iamsim.me/using-combine-to-supplement-delegates-with-publishers/?utm_campaign=iOS%2BDev%2BWeekly&utm_medium=web&utm_source=iOS%2BDev%2BWeekly%2BIssue%2B424) 19 | - [Combine's Sequence Publisher Missing First Element](https://www.iamsim.me/combines-sequence-publisher-missing-first-element/) 20 | - [Error Handling in Swift Combine Framework](https://www.vadimbulavin.com/error-handling-in-swift-combine-framework/) 21 | - [Combine’s What Makes SwiftUI Really Shine](https://infinum.co/the-capsized-eight/combine-makes-swiftui-shine) 22 | - [Save that sink! A simple solution to a common Combine problem](https://www.appsdissected.com/save-sink-assign-subscriber-anycancellable/) 23 | - [The ultimate Combine framework tutorial in Swift](https://theswiftdev.com/2019/10/31/the-ultimate-combine-framework-tutorial-in-swift/) 24 | - [URLSession and the Combine framework](https://theswiftdev.com/2019/08/15/urlsession-and-the-combine-framework/) 25 | - [Understanding Combine’s publishers and subscribers](https://www.donnywals.com/understanding-combines-publishers-and-subscribers/) 26 | - [Swift Combine Framework Tutorial: Getting Started](https://www.vadimbulavin.com/swift-combine-framework-tutorial-getting-started/) 27 | - [How to create custom Publisher in Combine](https://medium.com/flawless-app-stories/swift-combine-custom-publisher-6d1cc3dc248f) 28 | - [Persist Business Logic With Swift Combine](https://medium.com/better-programming/persist-business-logic-with-swift-combine-519efb3a7e37) 29 | - [Persist Filtering Logic With Swift Combine](https://medium.com/better-programming/persist-filtering-logics-with-swift-combine-6c3594be77cc) 30 | - [How to Persist Transforming Logic with Swift Combine](https://medium.com/better-programming/persist-transforming-logic-with-swift-combine-84238accf1fa) 31 | - [Asynchronous Programming with Futures and Promises in Swift with Combine Framework](https://www.vadimbulavin.com/asynchronous-programming-with-future-and-promise-in-swift-with-combine-framework/) 32 | - [Using Promises and Futures in Combine](https://www.donnywals.com/using-promises-and-futures-in-combine/) 33 | - [Using Combine’s futures and subjects](https://swiftbysundell.com/articles/using-combine-futures-and-subjects/) 34 | - [Published properties in Swift](https://swiftbysundell.com/articles/published-properties-in-swift/) 35 | - [Using self, weak, and unowned in Combine](https://trycombine.com/posts/self-weak-unowned/) 36 | - [Understanding Schedulers in Swift Combine Framework](https://www.vadimbulavin.com/understanding-schedulers-in-swift-combine-framework/) 37 | - [Modern Networking in Swift 5 with URLSession, Combine and Codable](https://www.vadimbulavin.com/modern-networking-in-swift-5-with-urlsession-combine-framework-and-codable/) 38 | - [Debugging with Swift Combine Framework](https://www.vadimbulavin.com/debugging-with-combine-swift-framework/) 39 | - [Transforming Operators in Swift Combine Framework: Map vs FlatMap vs SwitchToLatest](https://www.vadimbulavin.com/map-flatmap-switchtolatest-in-combine-framework/) 40 | 41 | ## subscribe(on:) and receive(on:) 42 | - [subscribe(on:) vs receive(on:)](https://trycombine.com/posts/subscribe-on-receive-on/) 43 | - [RunLoop.main or DispatchQueue.main when using Combine scheduler?](https://forums.swift.org/t/runloop-main-or-dispatchqueue-main-when-using-combine-scheduler/26635) 44 | 45 | ## Stackoverflow 46 | - [How to replicate PromiseKit-style chained async flow using Combine + Swift](https://stackoverflow.com/questions/59428026/how-to-replicate-promisekit-style-chained-async-flow-using-combine-swift) 47 | - [Wait for all publishers](https://stackoverflow.com/questions/59615078/swift-combine-wait-for-all-publishers) 48 | 49 | ## Documentation 50 | - [Combine Framework](https://developer.apple.com/documentation/combine) 51 | - [Receiving and Handling Events in Combine](https://developer.apple.com/documentation/combine/receiving_and_handling_events_with_combine) 52 | 53 | ## Books 54 | - [Using Combine](https://heckj.github.io/swiftui-notes/feedback.html) 55 | 56 | ## Code 57 | - [CombineSwiftPlayground](https://github.com/AvdLee/CombineSwiftPlayground) 58 | - [CombinePlaygrounds](https://github.com/denisPoifol/CombinePlaygrounds) 59 | 60 | ## Videos 61 | ### WWDC 62 | - [Introducing Combine](https://developer.apple.com/videos/play/wwdc2019/722) 63 | - [Combine in Practice](https://developer.apple.com/videos/play/wwdc2019/721) 64 | -------------------------------------------------------------------------------- /Lists/ComputerGraphics.md: -------------------------------------------------------------------------------- 1 | ## Computer Graphics 2 | 3 | ### Foundation 4 | - [What are normal, tangent and binormal vectors and how are they used?](https://gamedev.stackexchange.com/questions/51399/what-are-normal-tangent-and-binormal-vectors-and-how-are-they-used) 5 | 6 | ### Rendering 7 | - [BASIC THEORY OF PHYSICALLY-BASED RENDERING](https://www.marmoset.co/posts/basic-theory-of-physically-based-rendering/) 8 | - [PHYSICALLY-BASED RENDERING, AND YOU CAN TOO!](https://www.marmoset.co/posts/physically-based-rendering-and-you-can-too/) 9 | - [Volumetric Rendering](http://www.alanzucconi.com/2016/07/01/volumetric-rendering/) 10 | - [Volumetric Rendering: Raymarching](http://www.alanzucconi.com/2016/07/01/raymarching/#introduction) 11 | - [Volumetric Rendering: Surface Shading](http://www.alanzucconi.com/2016/07/01/surface-shading/) 12 | - [Volumetric Rendering: Signed Distance Functions](http://www.alanzucconi.com/2016/07/01/signed-distance-functions/) 13 | - [Volumetric Rendering: Ambient Occlusion](http://www.alanzucconi.com/2016/07/01/ambient-occlusion/) 14 | - [Volumetric Rendering: Hard & Soft Shadows](http://www.alanzucconi.com/2016/07/01/shadow/) 15 | - [Volumetric Rendering: Volume Raycasting](http://www.alanzucconi.com/2016/07/01/volume/) 16 | - [Vertex displacement with a noise function using GLSL and three.js](https://www.clicktorelease.com/blog/vertex-displacement-noise-3d-webgl-glsl-three-js/) 17 | - [Make a Splash With Dynamic 2D Water Effects](https://gamedevelopment.tutsplus.com/tutorials/make-a-splash-with-dynamic-2d-water-effects--gamedev-236) 18 | - [Real-time oil painting with OpenGL](http://roxlu.com/2013/012/real-time-oil-painting-with-opengl) 19 | - [Exploring Metaballs and Isosurfaces in 2D](https://www.gamedev.net/articles/programming/graphics/exploring-metaballs-and-isosurfaces-in-2d-r2556/) 20 | 21 | ### Algorithms and Approaches 22 | - [Metaballs and Marching Squares](http://jamie-wong.com/2014/08/19/metaballs-and-marching-squares/) 23 | 24 | ### Graphics Pipeline 25 | - [A trip through the Graphics Pipeline](https://fgiesen.wordpress.com/2011/07/09/a-trip-through-the-graphics-pipeline-2011-index/) 26 | 27 | ### OpenGL 28 | 29 | - [OpenGL & GLSL Tutorials](https://github.com/mattdesl/lwjgl-basics/wiki) 30 | - [opengl-tutorial](http://www.opengl-tutorial.org) 31 | - [Learn OpenGL](https://learnopengl.com) 32 | 33 | ### Ray Marching 34 | - [Ray Marching and Signed Distance Functions](http://jamie-wong.com/2016/07/15/ray-marching-signed-distance-functions/) 35 | - [How do Raymarch shaders work?](https://gamedev.stackexchange.com/questions/67719/how-do-raymarch-shaders-work) 36 | - [Free Penumbra Shadows For Raymarching Distance Fields](http://www.iquilezles.org/www/articles/rmshadows/rmshadows.htm) 37 | -------------------------------------------------------------------------------- /Lists/ContinuousIntegration.md: -------------------------------------------------------------------------------- 1 | # Continuous Integration (CI) 2 | 3 | ## Travis 4 | - [Building an Objective-C or Swift Project](https://docs.travis-ci.com/user/languages/objective-c/) 5 | - [Travis CI Tutorial: Getting Started](https://www.raywenderlich.com/1618-travis-ci-tutorial-getting-started) 6 | - [Adding Continuous Integration to a Swift projec](https://medium.com/@johnsundell/adding-continuous-integration-to-a-swift-project-4c99252eedb0) 7 | - [Swift — Continuous Integration on Github](https://medium.com/@luisfmachado/swift-continuous-integration-on-github-faac6f145302) 8 | - [CI for Swift Frameworks](https://kean.github.io/post/ci-for-frameworks) 9 | 10 | ## Xcode Server & CI 11 | - [Configure Bots to Perform Continuous Integrations](https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/xcode_guide-continuous_integration/ConfigureBots.html) 12 | - [CI and automatic deployment to iTunes Connect with Xcode Server](https://blog.xmartlabs.com/2016/03/07/ci-with-xcode-server-and-fastlane/) 13 | - [Continuous Integration with Xcode Server on macOS: Complete Setup Guide](https://shashikantjagtap.net/continuous-integration-with-xcode-server-on-macos-setup-guide/) 14 | - [Xcode Server with Xcode 10](https://medium.com/xcblog/xcode-server-with-xcode-10-124013cbedbc) 15 | - [iOS Continuous Integration with Xcode Server Explained](https://www.toptal.com/xcode/ios-continuous-integration-xcode-server) 16 | 17 | ## GitHub Actions 18 | - [Github Actions for iOS projects](https://sarunw.com/posts/github-actions-for-ios-projects/) 19 | - [GitHub Actions Documentation](https://help.github.com/en/actions) 20 | 21 | ### Official Docs 22 | - [Xcode Server and Continuous Integration Guide](https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/xcode_guide-continuous_integration/index.html#//apple_ref/doc/uid/TP40013292-CH1-SW1) 23 | 24 | ### Videos 25 | - [What's New in Signing for Xcode and Xcode Server](https://developer.apple.com/videos/play/wwdc2017/403/) 26 | -------------------------------------------------------------------------------- /Lists/CoreAnimation.md: -------------------------------------------------------------------------------- 1 | # Core Animation 2 | 3 | ## Articles 4 | 5 | - [CALayer Tutorial: Getting Started](https://www.raywenderlich.com/90488/calayer-in-ios-with-swift-10-examples) 6 | - [How To Implement A Circular Image Loader Animation with CAShapeLayer](https://www.raywenderlich.com/166359/implement-circular-image-loader-animation-cashapelayer-2) 7 | - [Core Animation gems: Using replicator layers in Swift](https://www.swiftbysundell.com/posts/ca-gems-using-replicator-layers-in-swift) 8 | - [Building your own chart in iOS — Part 1: Bar chart](https://medium.com/@leonardnguyen/build-your-own-chart-in-ios-part-1-bar-chart-e1b7f4789d70) 9 | - [Building your own chart in iOS — Part 2: Line chart](https://medium.com/@leonardnguyen/building-your-own-chart-in-ios-part-2-line-chart-7b5cfc7c866) 10 | - [CALayer Tutorial: Getting Started](https://www.raywenderlich.com/90488/calayer-in-ios-with-swift-10-examples) 11 | - [Controlling Animation Timing](http://ronnqvi.st/controlling-animation-timing) 12 | - [Mesh Transforms](http://ciechanowski.me/blog/2014/05/14/mesh-transforms/) 13 | - [A more Swifty Core Animation](https://www.swiftbysundell.com/daily-wwdc/a-more-swifty-core-animation) 14 | - [Animations are assets: using Core Animation archives on iOS](https://rambo.codes/ios/2018/11/11/animations-are-assets.html) 15 | - [Huge Images, Small Phone](https://medium.com/frame-io-engineering/huge-images-small-phone-15414b30d39e) 16 | - [Particle systems: a Christmas story](https://badootech.badoo.com/ios-particle-systems-a-christmas-story-270c1844fd50) 17 | - [Animated Gradients on iOS](https://medium.com/@rwbutler/animated-gradients-on-ios-aa117551e533) 18 | - [Animated gradient layers in Swift](https://medium.com/flawless-app-stories/animated-gradient-layers-in-swift-bad094496644) 19 | 20 | ## CADisplayLink 21 | - [Animations with CADisplayLink](http://mokagio.github.io/tech-journal/2015/02/23/ios-animating-with-cadisplaylink.html) 22 | - [Creating smooth frame-by-frame animations on iOS by calculating the live time interval between frames.](http://www.paulwrightapps.com/blog/2014/8/20/creating-smooth-frame-by-frame-animations-on-ios-based-on-the-time-passed-between-frames) 23 | - [Basic understanding of CADisplayLink](https://medium.com/@AybekCan/basic-understanding-of-cadisplaylink-ae78a5efe976) 24 | - [CADisplayLink and its applications](https://medium.com/@dmitryivanov_54099/cadisplaylink-and-its-applications-bfafb760d738) 25 | - [Animating Views with CADisplayLink](https://ashfurrow.com/blog/animating-views-with-cadisplaylink/) 26 | - [More CADisplayLink](https://zearfoss.wordpress.com/2011/09/02/more-cadisplaylink/) 27 | - [Animating Views with NSTimer and dispatch_after](https://ashfurrow.com/blog/animating-views-with-nstimer-and-dispatch_after/) 28 | - [Animated UILabel with CADisplayLink](https://medium.com/@duwei199714/animated-uilabel-with-cadisplaylink-9a761d693ca5) 29 | 30 | ### Docs 31 | - [CADisplayLink](https://developer.apple.com/documentation/quartzcore/cadisplaylink) 32 | 33 | ### Videos 34 | - [Swift Animations: Custom Counting Label - CADisplayLink](https://www.youtube.com/watch?v=b3kZH1vfG2U&t=873s) 35 | -------------------------------------------------------------------------------- /Lists/CoreData.md: -------------------------------------------------------------------------------- 1 | # Core Data 2 | 3 | ## Articles 4 | - [Getting Started With Core Data](https://www.raywenderlich.com/173972/getting-started-with-core-data-tutorial-2) 5 | - [Multiple Managed Object Context With Code Data](https://www.raywenderlich.com/174082/multiple-managed-object-contexts-with-core-data-tutorial) 6 | - [NSIncrementalStore Tutorial for iOS: Getting Started](https://www.raywenderlich.com/171045/using-nsincrementalstore-custom-core-data-storage) 7 | - [Lightweight Migrations in Core Data Tutorial](https://www.raywenderlich.com/7585-lightweight-migrations-in-core-data-tutorial) 8 | - [Core Data Stack in Swift 4](http://www.vadimbulavin.com/core-data-stack-swift-4/) 9 | - [Swift – Core Data – Part 1 | Relationships | Delete Rules](http://iosdose.com/wp/2018/03/26/swift-core-data/) 10 | - [Swift — 4 — Core Data — Part 2 Creating a simple app](https://medium.com/@maddy.lucky4u/swift-4-core-data-part-2-creating-a-simple-app-c4eded1fa55f) 11 | - [Core Data Programming Guide](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/CoreData/index.html#//apple_ref/doc/uid/TP40001075-CH2-SW1) 12 | - [Multiple Managed Object Contexts with Core Data Tutorial](https://www.raywenderlich.com/7586-multiple-managed-object-contexts-with-core-data-tutorial) 13 | - [Core Data Relationships](https://hackernoon.com/core-data-relationships-d813ed66ba8c) 14 | - [Order your Core Data entities the right way for maximum speed](https://www.appsdissected.com/order-core-data-entities-maximum-speed/) 15 | - [Importing Large Data Sets](https://www.objc.io/issues/4-core-data/importing-large-data-sets-into-core-data/) 16 | - [How to make a copy of a Core Data SQLite database](https://oleb.net/blog/2018/03/core-data-sqlite-backup/) 17 | - [Core Data on iOS 10, a brief overview with an Example](https://revs.runtime-revolution.com/core-data-on-ios-10-a-brief-overview-with-an-example-dc6e0ce844a5) 18 | - [Moving Core Data Files](https://useyourloaf.com/blog/moving-core-data-files/) 19 | - [Core Data Performance: 6 tips you should know](https://www.avanderlee.com/swift/core-data-performance/) 20 | - [10 core principles to use CoreData without blowing your head off](https://medium.com/ios-os-x-development/10-core-principles-to-use-coredata-without-blowing-your-head-off-5ed11c623c6b) 21 | - [Core Data Debugging in Xcode using launch arguments](https://www.avanderlee.com/debugging/core-data-debugging-xcode/) 22 | - [Group by, Count and Sum in CoreData](https://www.cocoanetics.com/2017/04/group-by-count-and-sum-in-coredata/) 23 | - [Stranger things with Core Data Stacks comparison](https://medium.com/@dmitryivanov_54099/stranger-things-with-core-data-stacks-comparison-28d723fc6daf) 24 | 25 | ## Integration with CloudKit 26 | - [Apple’s New CloudKit-Based Core Data Sync](https://medium.com/@drewmccormack/apples-new-cloudkit-based-core-data-sync-4c1f334044bc) 27 | - [Syncing a Core Data Store with CloudKit](https://developer.apple.com/documentation/coredata/mirroring_a_core_data_store_with_cloudkit/syncing_a_core_data_store_with_cloudkit) 28 | - [Mirroring a Core Data Store with CloudKit](https://developer.apple.com/documentation/coredata/mirroring_a_core_data_store_with_cloudkit) 29 | - [Setting Up Core Data with CloudKit](https://developer.apple.com/documentation/coredata/mirroring_a_core_data_store_with_cloudkit/setting_up_core_data_with_cloudkit) 30 | -------------------------------------------------------------------------------- /Lists/CoreGraphics.md: -------------------------------------------------------------------------------- 1 | # Core Graphics 2 | 3 | ## Articles/Tutorials 4 | - [Core Graphics Tutorial Part 1: Getting Started](https://www.raywenderlich.com/162315/core-graphics-tutorial-part-1-getting-started) 5 | - [Core Graphics Tutorial Part 2: Gradients and Contexts](https://www.raywenderlich.com/162313/core-graphics-tutorial-part-2-gradients-contexts) 6 | - [Core Graphics Tutorial Part 3: Patterns and Playgrounds](https://www.raywenderlich.com/167352/core-graphics-tutorial-part-3-patterns-playgrounds) 7 | - [Drawing smooth lines with cocos2d ios inspired by Paper](http://merowing.info/2012/04/drawing-smooth-lines-with-cocos2d-ios-inspired-by-paper/) 8 | - [Smooth Freehand Drawing on iOS](https://code.tutsplus.com/tutorials/smooth-freehand-drawing-on-ios--mobile-13164) 9 | - [iOS: Make a real-time drawing app](https://medium.com/@jamiltz/ios-make-a-real-time-drawing-app-12f75a416698) 10 | - [Draw smooth curves through a set of points in iOS](https://medium.com/@ramshandilya/draw-smooth-curves-through-a-set-of-points-in-ios-34f6d73c8f9) 11 | - [How to draw smooth lines in iOS apps](http://blog.andolasoft.com/2013/04/how-to-draw-smooth-lines-in-ios-apps.html) 12 | - [How To Make A Simple Drawing App with UIKit and Swift](https://www.raywenderlich.com/87899/make-simple-drawing-app-uikit-swift) 13 | - [Let's build: Freehand Drawing in iOS - Part 1](http://techblog.badoo.com/blog/2015/06/15/lets-build-freehand-drawing-in-ios-part-1/) 14 | - [Let's build: Freehand Drawing in iOS - Part 2](http://techblog.badoo.com/blog/2015/06/29/lets-build-freehand-drawing-in-ios-part-2/) 15 | - [Let's build: Freehand Drawing in iOS - Part 3](https://techblog.badoo.com/blog/2015/08/18/lets-build-freehand-drawing-in-ios-part-3/) 16 | - [How to Make a Line Drawing Game with Sprite Kit](https://www.raywenderlich.com/61289/how-to-make-a-line-drawing-game-with-sprite-kit) 17 | - [Optimizing Images](https://www.swiftjectivec.com/optimizing-images/) 18 | - [Core Graphics Tutorial: Patterns](https://nshipster.com/expressiblebystringinterpolation/) 19 | - [Core Graphics Tutorial: Shadows and Gloss](https://www.raywenderlich.com/9506-core-graphics-tutorial-shadows-and-gloss) 20 | - [Core Graphics Tutorial: Arcs and Paths](https://www.raywenderlich.com/349664-core-graphics-tutorial-arcs-and-paths) 21 | - [Core Graphics Tutorial: Lines, Rectangles, and Gradients](https://www.raywenderlich.com/475829-core-graphics-tutorial-lines-rectangles-and-gradients) 22 | - [Core​Graphics Geometry Primitives and Functions](https://nshipster.com/cggeometry/) 23 | - [High performance drawing on iOS — Part 1](https://medium.com/@almalehdev/high-performance-drawing-on-ios-part-1-f3a24a0dcb31) 24 | - [High performance drawing on iOS — Part 2](https://medium.com/@almalehdev/high-performance-drawing-on-ios-part-2-2cb2bc957f6) 25 | - [Getting Pixels onto the Screen](https://www.objc.io/issues/3-views/moving-pixels-onto-the-screen/) 26 | - [Drawing into a Core Graphics context with UIGraphicsImageRenderer](https://www.hackingwithswift.com/read/27/3/drawing-into-a-core-graphics-context-with-uigraphicsimagerenderer) 27 | 28 | ## Stack Overflow 29 | - [draw#rect core graphics, on top of a layer?](https://stackoverflow.com/questions/57364895/drawrect-core-graphics-on-top-of-a-layer) 30 | -------------------------------------------------------------------------------- /Lists/CoreImage.md: -------------------------------------------------------------------------------- 1 | ## Core Image 2 | - [Core Image Introduction: Applying Image Filters to Photos](https://www.appcoda.com/core-image-introduction/) 3 | - [Core Image Tutorial: Getting Started](https://www.raywenderlich.com/76285/beginning-core-image-swift) 4 | - [Custom filters with Core Image Kernel Language](https://www.bignerdranch.com/blog/creating-custom-filters-using-core-image-kernel-language/) 5 | - [QR Code generation with a custom logo and color using Swift](https://www.avanderlee.com/swift/qr-code-generation-swift/) 6 | - [New Core Image filters in iOS 10](http://www.chibicode.org/?p=62) 7 | -------------------------------------------------------------------------------- /Lists/CoreLocation.md: -------------------------------------------------------------------------------- 1 | ## Core Location 2 | - [Magnetic Heading sample code for iOS](https://stackoverflow.com/questions/41080571/magnetic-heading-sample-code-for-ios) 3 | - [Get current location using Core Location](https://fluffy.es/current-location/) 4 | -------------------------------------------------------------------------------- /Lists/CoreML.md: -------------------------------------------------------------------------------- 1 | # CoreML 2 | - [Core ML and Vision: Machine Learning in iOS 11 Tutorial](https://www.raywenderlich.com/164213/coreml-and-vision-machine-learning-in-ios-11-tutorial) 3 | - [Native Machine Learning and Machine Vision in iOS 11](https://hackernoon.com/swift-tutorial-native-machine-learning-and-machine-vision-in-ios-11-11e1e88aa397) 4 | - [IOS Introduction to Core ML: Building a Simple Image Recognition App](http://www.appcoda.com/coreml-introduction/) 5 | - [Creating a Simple Game With Core ML in Swift 4](http://www.appcoda.com/coreml-game/) 6 | - [A Beginner’s Guide to Core ML Tools: Converting a Caffe Model to Core ML Format](http://www.appcoda.com/core-ml-tools-conversion/) 7 | - [Apple Machine Learning Journal](https://machinelearning.apple.com) 8 | - [iOS 11: Machine Learning for everyone](http://machinethink.net/blog/ios-11-machine-learning-for-everyone/) 9 | - [Bringing Machine Learning to your iOS Apps 🤖📲](https://academy.realm.io/posts/altconf-2017-meghan-kane-bringing-machine-learning-to-your-ios-apps/) 10 | - [Pros and cons of iOS machine learning APIs](http://machinethink.net/blog/machine-learning-apis/) 11 | - [Beginning Machine Learning with Keras & Core ML](https://www.raywenderlich.com/181760/beginning-machine-learning-keras-core-ml) 12 | - [How to fine-tune ResNet in Keras and use it in an iOS App via Core ML](https://heartbeat.fritz.ai/how-to-fine-tune-resnet-in-keras-and-use-it-in-an-ios-app-via-core-ml-ee7fd84c1b26) 13 | - [What’s new in Core ML 3](https://heartbeat.fritz.ai/whats-new-in-core-ml-3-d108d352e50a) 14 | - [An in-depth look at Core ML 3](https://machinethink.net/blog/new-in-coreml3/) 15 | 16 | ## CoreML + Turi Create 17 | - [Creating a Custom Core ML Model Using Python and Turi Create](https://www.appcoda.com/core-ml-model-with-python/) 18 | - [Machine Learning in iOS: Turi Create and CoreML](https://medium.com/flawless-app-stories/machine-learning-in-ios-turi-create-and-coreml-5ddce0dc8e26) 19 | - [Creating a Prisma-like App with Core ML, Style Transfer and Turi Create](https://appcoda.com/coreml-turi-create?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more) 20 | 21 | ## CoreML + ARKit 22 | - [Hand Detection with Core ML and ARKit](https://heartbeat.fritz.ai/hand-detection-with-core-ml-and-arkit-f4c8da98e88e) 23 | -------------------------------------------------------------------------------- /Lists/CoreMotion.md: -------------------------------------------------------------------------------- 1 | ## Core Motion 2 | - [IOS DEVICE MOTION: APPS WITH ATTITUDE](https://www.forestgiant.com/articles/ios-core-motion/) 3 | - [CMDevice​Motion](http://nshipster.com/cmdevicemotion/) 4 | - [The Art of Core Motion in iOS](http://blog.denivip.ru/index.php/2013/07/the-art-of-core-motion-in-ios/?lang=en) 5 | - [iOS Sensors & Core Motion](https://wwwbruegge.in.tum.de/lehrstuhl_1/home/98-teaching/tutorials/505-sgd-ws13-tutorial-core-motion) 6 | - [CoreMotion Controlled 3D Sketching on an iPhone with Swift](http://flexmonkey.blogspot.ru/2015/08/coremotion-controlled-3d-sketching-on.html) 7 | 8 | ### Code 💻 9 | - [iOS Signature Capture Demo: Smooth Lines Drawing](https://github.com/jharwig/PPSSignatureView) 10 | - [Smooth line UIView](https://github.com/levinunnink/Smooth-Line-View) 11 | - [Beatiful and fast smooth line drawing algorithm for iOS](https://github.com/krzysztofzablocki/LineDrawing) 12 | -------------------------------------------------------------------------------- /Lists/CoreNFC.md: -------------------------------------------------------------------------------- 1 | # CoreNFC 2 | 3 | - [Building a NFC Scanner App with CoreNFC in Swift](https://medium.com/appcoda-tutorials/building-nfc-product-scanner-ios-app-with-corenfc-alfian-losari-5da0365bcde5?_referrer=twitter) -------------------------------------------------------------------------------- /Lists/CreateML.md: -------------------------------------------------------------------------------- 1 | # CreateML 2 | - [Create ML Tutorial: Getting Started](https://www.raywenderlich.com/196233/create-ml-tutorial-getting-started) 3 | - [Introduction to Create ML: How to Train Your Own Machine Learning Model in Xcode 10](https://www.appcoda.com/create-ml/) 4 | - [Detecting Pneumonia in an iOS App with Create ML](https://heartbeat.fritz.ai/detecting-pneumonia-in-an-ios-app-with-create-ml-5cff2a60a3d) 5 | - [CreateML: Start Your Adventure in Machine Learning with Swift](https://www.netguru.com/codestories/createml-start-your-adventure-in-machine-learning-with-swift) 6 | - [Working with Create ML’s MLDataTable to Pre-Process Non-Image Data](https://heartbeat.fritz.ai/working-with-create-mls-mldatatable-to-pre-process-non-image-data-424f916a093e) 7 | -------------------------------------------------------------------------------- /Lists/Debugging.md: -------------------------------------------------------------------------------- 1 | # Debugging 2 | - [Instruments Tutorial with Swift: Getting Started](https://www.raywenderlich.com/166125/instruments-tutorial-swift-getting-started) 3 | - [Debugging Swift code with LLDB](https://medium.com/flawless-app-stories/debugging-swift-code-with-lldb-b30c5cf2fd49) 4 | - [Getting started with signposts](https://www.swiftbysundell.com/daily-wwdc/getting-started-with-signposts) 5 | - [Advanced Swift Debugging for UIKit](https://blog.superhuman.com/advanced-swift-debugging-for-uikit-e154d1c28aaf) 6 | - [Measuring Performance with os_signpost](https://agostini.tech/2018/11/19/measuring-performance-with-os_signpost/) 7 | - [os_signpost and XCTestObservation -- detecting performance issues with your test suite](https://www.iosdev.recipes/os-signpost/) 8 | - [Memory Graph Debugging in Xcode](https://agostini.tech/2018/12/09/memory-graph-debugging-in-xcode/) 9 | - [Xcode and LLDB Advanced Debugging Tutorial: Part 1](https://medium.com/@fadiderias/xcode-and-lldb-advanced-debugging-tutorial-part-1-31919aa149e0) 10 | - [Xcode and LLDB Advanced Debugging Tutorial: Part 2](https://medium.com/@fadiderias/xcode-and-lldb-advanced-debugging-tutorial-part-2-8bfeae4cdfdb) 11 | - [Xcode and LLDB Advanced Debugging Tutorial: Part 3](https://medium.com/@fadiderias/xcode-and-lldb-advanced-debugging-tutorial-part-3-8238aca63e7c) 12 | - [How to Use Xcode Instrument to Optimize Your Swift Code](https://www.appcoda.com/xcode-instrument/) 13 | - [Clear and searchable logging in Swift with OSLog](https://www.lordcodes.com/posts/clear-and-searchable-logging-in-swift-with-oslog) 14 | - [Debugging Out of Memory Issues: Catching Layout Feedback Loop with the Runtime Magic](https://www.appcoda.com/layout-feedback-loop/) 15 | - [Debugging Tips&Tricks](https://agostini.tech/2019/01/27/debugging-tipstricks/) 16 | - [Improving the iOS development cycle with breakpoints](https://www.dcordero.me/posts/improving_the_ios_development_cycle_with_breakpoints.html) 17 | - [Using Memory Graph Debugger in Xcode 9](https://medium.com/@imas145/using-memory-graph-debugger-in-xcode-9-a50aa9d0243f) 18 | - [Memory Usage Performance Guidelines](https://developer.apple.com/library/archive/documentation/Performance/Conceptual/ManagingMemory/ManagingMemory.html#//apple_ref/doc/uid/10000160-SW1) 19 | - [iOS Debugging Tips & Tricks](https://www.netguru.com/codestories/ios-debugging-tips-tricks) 20 | - [Xcode: Advanced Breakpoint Usages](https://marcosantadev.com/xcode-advanced-breakpoint-usages/) 21 | - [What Is EXC_BAD_ACCESS and How to Debug It](https://code.tutsplus.com/tutorials/what-is-exc_bad_access-and-how-to-debug-it--cms-24544) 22 | - [Advanced Debugging with Xcode](https://medium.com/headout-engineering/advanced-debugging-with-xcode-9eba2845232a) 23 | - [Discovering & using OSLog output console with SwiftyBeaver on iOS](https://medium.com/back-market-engineering/discovering-using-oslog-output-console-with-swiftybeaver-on-ios-54d7bfbe3b97) 24 | - [Advanced lldb tricks for Swift - Injecting and changing code on the fly](https://swiftrocks.com/using-lldb-manually-xcode-console-tricks.html?utm_campaign=iOS%2BDev%2BWeekly&utm_medium=web&utm_source=iOS%2BDev%2BWeekly%2BIssue%2B416) 25 | - [Fast Method Stubbing From LLDB](https://bryce.co/lldb-method-stubbing/) 26 | - [Explore Apple's new Swift logging API for iOS 14](https://www.tanaschita.com/posts/20200705-explore-apples-recommended-swift-logging-api-wwdc-2020/) 27 | 28 | ## Logger 29 | - [OSLog and Unified logging as recommended by Apple](https://www.avanderlee.com/debugging/oslog-unified-logging/) 30 | - [Migrating to Unified Logging: Console and Instruments](https://www.raywenderlich.com/605079-migrating-to-unified-logging-console-and-instruments) 31 | - [Swift Logging](https://nshipster.com/swift-log/) 32 | 33 | ## Documentation 34 | - [GDB and LLDB Command Examples](https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html#//apple_ref/doc/uid/TP40012917-CH3-SW1) 35 | 36 | ## Videos 37 | 38 | ### WWDC 39 | 40 | #### WWDC 2018 41 | - [What’s New in Energy Debugging](https://developer.apple.com/videos/play/wwdc2018/228/) 42 | - [Metal Shader Debugging and Profiling](https://developer.apple.com/videos/play/wwdc2018/608/) 43 | - [Advanced Debugging with Xcode and LLDB](https://developer.apple.com/videos/play/wwdc2018/412/) 44 | 45 | #### WWDC 2017 46 | - [Debugging with Xcode 9](https://developer.apple.com/videos/play/wwdc2017/404/) 47 | - [Metal 2 Optimization and Debugging](https://developer.apple.com/videos/play/wwdc2017/607/) 48 | 49 | #### WWDC 2016 50 | - [Visual Debugging with Xcode](https://developer.apple.com/videos/play/wwdc2016/410/) 51 | - [Debugging Tips and Tricks](https://developer.apple.com/videos/play/wwdc2016/417/) 52 | 53 | #### WWDC 2015 54 | - [Advanced Debugging and the Address Sanitizer](https://developer.apple.com/videos/play/wwdc2015/413/) 55 | - [Debugging Energy Issues](https://developer.apple.com/videos/play/wwdc2015/708/) 56 | - [What's New in LLDB](https://developer.apple.com/videos/play/wwdc2015/402/) 57 | 58 | ### Other 59 | - [Debug like a Pro](https://drobinin.com/talks/2018/debug-like-a-pro/) 60 | - [Debug like a Pro v2](https://drobinin.com/talks/2019/debug-like-a-pro-v2/) 61 | -------------------------------------------------------------------------------- /Lists/DependencyManagement.md: -------------------------------------------------------------------------------- 1 | ## Dependency Management 2 | 3 | - [Carthage vs. CocoaPods vs. Git submodules](https://reallifeprogramming.com/carthage-vs-cocoapods-vs-git-submodules-9dc341ec6710) 4 | 5 | ### CocoaPods 6 | - [Installing the same Pod for multiple targets](https://www.natashatherobot.com/cocoapods-installing-same-pod-multiple-targets/) 7 | - [CocoaPods Tutorial for Swift: Getting Started](https://www.raywenderlich.com/156971/cocoapods-tutorial-swift-getting-started) 8 | - [How to Create a CocoaPod in Swift](https://www.raywenderlich.com/5823-how-to-create-a-cocoapod-in-swift) 9 | - [Adding Pods to an Xcode project](https://guides.cocoapods.org/using/using-cocoapods) 10 | 11 | ### Carthage 12 | - [Carthage Tutorial: Getting Started](https://www.raywenderlich.com/165660/carthage-tutorial-getting-started-2) 13 | 14 | ### Swift Package Manager (SPM) 15 | - [Why is the Swift Package Manager taking so long?](http://artsy.github.io/blog/2018/12/21/why-is-swiftpm-taking-so-long/) 16 | -------------------------------------------------------------------------------- /Lists/Design.md: -------------------------------------------------------------------------------- 1 | ## Design 2 | - [App Design & Development Conference](https://www.youtube.com/channel/UCuhXJAOFp9cgbsn71rL30-w/videos) 3 | - [9 Major UI mistakes that will kill your Apps!](https://blog.prototypr.io/9-major-ui-mistakes-that-will-kill-your-apps-42b152b8c50e) 4 | - [The ultimate guide for mobile developers, who want to design.](https://medium.com/flawless-app-stories/https-medium-com-flawless-app-stories-the-ultimate-guide-for-mobile-developers-who-want-to-design-part1-a2d47c04fd49) 5 | - [The designer’s guide to mobile — shifting design across platforms](https://medium.com/capsized-eight/the-designers-guide-to-mobile-shifting-design-across-platforms-9655e007f470) 6 | - [Getting Typography Right in Digital Design](https://medium.springboard.com/the-guide-to-getting-typography-right-in-digital-design-bb61214ff3ad) 7 | - [Design Principles: a guide to less shitty feedback](https://medium.com/apegroup-texts/design-principles-a-guide-to-less-shitty-feedback-64e9541816c1) 8 | - [UX Design Patterns for Mobile Apps: Which and Why](https://www.raywenderlich.com/167174/design-patterns-mobile-apps-which-why) 9 | - [Creative Motion: 12 Concepts of Interface Animation.](https://uxplanet.org/creative-motion-12-concepts-of-interface-animation-2c32f674aecb) 10 | - [8 Tips for Dark Theme Design](https://uxplanet.org/8-tips-for-dark-theme-design-8dfc2f8f7ab6) 11 | -------------------------------------------------------------------------------- /Lists/Development.md: -------------------------------------------------------------------------------- 1 | # Development 2 | 3 | ## Articles 4 | - [14 must knows for an iOS developer](https://swiftsailing.net/14-must-knows-for-an-ios-developer-5ae502d7d87f) 5 | - [On-Demand Resources in iOS Tutorial](https://www.raywenderlich.com/160049/demand-resources-ios-tutorial) 6 | - [Learning Techniques for Programmers, by Programmers](https://www.raywenderlich.com/167015/learning-techniques-programmers) 7 | - [Projecting A Dynamic Decal onto a 3D Mesh](https://pompidev.net/2014/12/02/projecting-a-dynamic-decal-on-a-3d-mesh/) 8 | - [Analysis of the Nest app for iOS](https://blog.timac.org/2018/1211-analysis-of-the-nest-app-for-ios/) 9 | - [Get Your iOS App Featured on the App Store with These 11 Tips](https://appfigures.com/resources/get-your-ios-app-featured-on-the-app-store) 10 | - [Phased vs Regular Update Adoption Rates](https://david-smith.org/blog/2019/01/22/phased-vs-regular-update-adoption-rates/) 11 | - [Practicing the Coding Challenges](https://inessential.com/2020/04/26/practicing_the_coding_challenges) 12 | - [A tale of third-parties or how to stop using my code](https://hkellaway.github.io/blog/2020/08/30/tale-of-third-parties) 13 | 14 | ## Documentation 15 | - [Generate & Host your iOS Documentation](https://medium.com/@jonathan2457/generate-host-your-ios-documentation-39e21b382ce8) 16 | 17 | ## Productivity 18 | - [What I Learned from Working 32 Hours a Week](https://spin.atomicobject.com/2019/01/04/32-hours-lessons/) 19 | - [Speeding up development: a collection of tips](https://www.avanderlee.com/optimization/speeding-up-development-a-collection-of-tips/) 20 | -------------------------------------------------------------------------------- /Lists/DocC.md: -------------------------------------------------------------------------------- 1 | # DocC 2 | 3 | ## Articles 4 | - [How to document your project with DocC](https://www.hackingwithswift.com/articles/238/how-to-document-your-project-with-docc) 5 | 6 | ## Apple Docs 7 | 8 | ### Articles 9 | - [Building an Interactive Tutorial](https://developer.apple.com/documentation/DocC/building-an-interactive-tutorial) 10 | - [Documenting a Swift Framework or Package](https://developer.apple.com/documentation/Xcode/documenting-a-swift-framework-or-package) 11 | - [Writing Symbol Documentation in Your Source Files](https://developer.apple.com/documentation/xcode/writing-symbol-documentation-in-your-source-files) 12 | - [Adding Structure to Your Documentation Pages](https://developer.apple.com/documentation/xcode/adding-structure-to-your-documentation-pages) 13 | - [Adding Supplemental Content to a Documentation Catalog](https://developer.apple.com/documentation/xcode/adding-supplemental-content-to-a-documentation-catalog) 14 | - [Formatting Your Documentation Content](https://developer.apple.com/documentation/xcode/formatting-your-documentation-content) 15 | - [Distributing Documentation to External Developers](https://developer.apple.com/documentation/xcode/distributing-documentation-to-external-developers) 16 | 17 | ### Videos 18 | - [Meet DocC documentation in Xcode](https://developer.apple.com/videos/play/wwdc2021/10166) 19 | - [Elevate your DocC documentation in Xcode](https://developer.apple.com/videos/play/wwdc2021/10167) 20 | - [Build interactive tutorials using DocC](https://developer.apple.com/videos/play/wwdc2021/10235/) 21 | - [Host and automate your DocC documentation](https://developer.apple.com/videos/play/wwdc2021/10236) 22 | -------------------------------------------------------------------------------- /Lists/DocumentBasedApps.md: -------------------------------------------------------------------------------- 1 | # Document Based Apps 2 | 3 | # Articles 4 | - [How to Integrate Your App with Files App in iOS 11](https://www.appcoda.com/files-app-integration/) 5 | - [Document Provider](https://developer.apple.com/library/archive/documentation/General/Conceptual/ExtensibilityPG/FileProvider.html) 6 | - [Adding a Document Browser to Your App](https://developer.apple.com/documentation/uikit/view_controllers/adding_a_document_browser_to_your_app) 7 | - [Document-Based Apps Tutorial: Getting Started](https://www.raywenderlich.com/5244-document-based-apps-tutorial-getting-started) 8 | 9 | # Videos 10 | - [Managing Documents In Your iOS Apps](https://developer.apple.com/videos/play/wwdc2018/216) 11 | - [Building Great Document-based Apps in iOS 11](https://developer.apple.com/videos/play/wwdc2017/229/) 12 | 13 | # Sample Code 14 | - [Building an App Based on the Document Browser View Controller](https://developer.apple.com/documentation/uikit/view_controllers/building_an_app_based_on_the_document_browser_view_controller) 15 | -------------------------------------------------------------------------------- /Lists/Foundation.md: -------------------------------------------------------------------------------- 1 | # Foundation 2 | 3 | ## User Defaults 4 | - [The power of UserDefaults in Swift](https://www.swiftbysundell.com/posts/the-power-of-userdefaults-in-swift) 5 | - [Type-safe User Defaults](https://danieltull.co.uk//blog/2019/10/09/type-safe-user-defaults/) 6 | 7 | ## Property Lists 8 | - [How to read a Property List (plist) into the code](https://sarunw.com/posts/how-to-read-plist-file/) 9 | 10 | ## File Wrapper 11 | - [FileWrapper](https://developer.apple.com/documentation/foundation/filewrapper) 12 | - [Using FileWrappers as File Containers](https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileWrappers/FileWrappers.html) 13 | - [Working with File Wrappers in Swift](https://www.meandmark.com/blog/2018/07/working-with-file-wrappers-in-swift/) 14 | 15 | ## UIDocument 16 | - [UIDocument](https://developer.apple.com/documentation/uikit/uidocument) 17 | - [Creating NSDocument using Folder Bundles and UTI Identifiers](http://paulsolt.com/blog/2012/02/creating-nsdocument-using-folder-bundles-and-uti-identifiers) 18 | - [UIDocument From Scratch](https://www.raywenderlich.com/1809473-uidocument-from-scratch) 19 | - [UIDocument & NSFileWrapper - large files taking a long time to save, despite incremental changes](https://stackoverflow.com/questions/15230818/uidocument-nsfilewrapper-large-files-taking-a-long-time-to-save-despite-inc) 20 | 21 | ## Formatting 22 | - [https://nshipster.com/formatter/](https://nshipster.com/formatter/) 23 | 24 | ## NSCache 25 | - [iOS - Best practice to save Images locally - NSCache vs Save in Document Directory](https://stackoverflow.com/questions/29434617/ios-best-practice-to-save-images-locally-nscache-vs-save-in-document-directo) 26 | 27 | ## NSPredicate 28 | - [Swift Filtering With Predicates](https://useyourloaf.com/blog/swift-filtering-with-predicates/) 29 | 30 | ## App Extension Support 31 | 32 | ### NSItemProvider 33 | - [Creating a NSItemProvider for custom model class (Drag & Drop API)](https://exploringswift.com/creating-a-nsitemprovider-for-custom-model-class-drag-drop-api/) 34 | - [NSItemProvider](https://developer.apple.com/documentation/foundation/nsitemprovider) 35 | -------------------------------------------------------------------------------- /Lists/FrameworksDevelopment.md: -------------------------------------------------------------------------------- 1 | # Frameworks Development 2 | - [An Introduction to Creating and Distributing Embedded Frameworks in iOS](http://code.hootsuite.com/an-introduction-to-creating-and-distributing-embedded-frameworks-in-ios/) 3 | - [Creating iOS/OSX Frameworks: is it necessary to codesign them before distributing to other developers?](https://stackoverflow.com/questions/30963294/creating-ios-osx-frameworks-is-it-necessary-to-codesign-them-before-distributin) 4 | - [Conditionally embed your dynamic frameworks](http://ppinera.es/2017/09/13/xcodembed.html) 5 | - [Getting Started with Reusable Frameworks for iOS Development](https://medium.com/flawless-app-stories/getting-started-with-reusable-frameworks-for-ios-development-f00d74827d11) 6 | - [It Looks Like You're Still Trying to Use a Framework](https://www.bignerdranch.com/blog/it-looks-like-you're-still-trying-to-use-a-framework/) 7 | - [Distributing Swift Frameworks via Cocoapods](https://medium.com/onfido-tech/distributing-swift-frameworks-via-cocoapods-152002b41783) 8 | - [Reusing code with Swift frameworks](https://medium.com/onfido-tech/reusing-code-with-swift-frameworks-cf60f5fa288a) 9 | - [Creating DSL in Swift](https://mecid.github.io/2019/01/30/creating-dsl-in-swift/) 10 | - [Create your own CocoaPods library](https://medium.com/flawless-app-stories/create-your-own-cocoapods-library-da589d5cd270) 11 | - [Loading Resources From A Framework](https://useyourloaf.com/blog/loading-resources-from-a-framework/) 12 | - [Improve your iOS team’s productivity by building features as frameworks](https://medium.com/flawless-app-stories/improve-your-ios-teams-productivity-by-building-features-as-frameworks-9d2a64cbcab5) 13 | 14 | ## Data Model in frameworks 15 | - [Sharing a Core Data Model with a Swift Framework — Updated to Swift 5.1 & Xcode 11](https://medium.com/@yoellev8/sharing-a-core-data-model-with-a-swift-framework-5d191ccec99e) 16 | 17 | ## Cross platform frameworks 18 | - [SwiftCrossPlatformFramework](https://github.com/TofPlay/SwiftCrossPlatformFramework) 19 | - [Building Cross-Platform Universal Frameworks using Swift](https://appracatappra.com/2018/03/building-cross-platform-universal-frameworks-using-swift/) 20 | 21 | ## Binary Frameworks 22 | - [Binary Frameworks in Swift](https://pspdfkit.com/blog/2018/binary-frameworks-swift/) 23 | - [Shipping Binary Frameworks With Swift 5.0](https://developer.squareup.com/blog/shipping-binary-frameworks-with-swift-5-0/) 24 | 25 | ### Videos 26 | - [Binary Frameworks in Swift](https://developer.apple.com/videos/play/wwdc2019/416/) 27 | -------------------------------------------------------------------------------- /Lists/FrameworksLibrariesPlatforms.md: -------------------------------------------------------------------------------- 1 | # Framworks, Libraries, Platforms 2 | 3 | ## Overview 4 | - [The ultimate Swift developer toolset](https://theswiftdev.com/2019/01/02/the-ultimate-swift-developer-toolset/) 5 | 6 | ## [Alamofire](https://github.com/Alamofire/Alamofire) 7 | - [Authentication with signed requests in Alamofire](https://www.avanderlee.com/swift/authentication-alamofire-request-adapter/) 8 | - [Alamofire 5: One Year in the Making, Now in Beta!](https://forums.swift.org/t/alamofire-5-one-year-in-the-making-now-in-beta/18865) 9 | - [Authentication with signed requests in Alamofire 5](https://www.avanderlee.com/swift/authentication-alamofire-request-adapter/) 10 | 11 | ## [Realm](https://github.com/realm/realm-cocoa) 12 | - [Designing the schema of Realm effectively, and other Realm tips](https://hackernoon.com/designing-the-schema-of-realm-effectively-and-other-realm-tips-feb76c5b6072) 13 | - [Correct way to retrieve a single object from Realm database](https://stackoverflow.com/questions/30610536/correct-way-to-retrieve-a-single-object-from-realm-database) 14 | - [What are Primary Keys?](https://academy.realm.io/posts/realm-primary-keys-tutorial/) 15 | 16 | ## [Firebase](https://github.com/firebase/firebase-ios-sdk) 17 | - [Firebase Tutorial: iOS A/B Testing](https://www.raywenderlich.com/176492/firebase-tutorial-ios-b-testing) 18 | - [Firebase Tutorial: Getting Started](https://www.raywenderlich.com/187417/firebase-tutorial-getting-started-3) 19 | 20 | ## [Chameleon](https://github.com/viccalexander/Chameleon) 21 | - [Chameleon on iOS: Getting Started](https://www.raywenderlich.com/179287/using-chameleon-framework-ios) 22 | 23 | ## AWS Pinpoint 24 | - [AWS Pinpoint Tutorial for iOS: Getting Started](https://www.raywenderlich.com/181656/aws-pinpoint-tutorial-ios-getting-started) 25 | 26 | ## Apollo 27 | - [GraphQL Using the Apollo Framework: Getting Started](https://www.raywenderlich.com/184485/graphql-using-the-apollo-framework-getting-started) 28 | 29 | ## [Moya](https://github.com/Moya/Moya) 30 | - [Moya Tutorial for iOS: Getting Started](https://www.raywenderlich.com/192587/moya-tutorial-for-ios-getting-started) 31 | - [Getting Started with Moya](https://medium.com/flawless-app-stories/getting-started-with-moya-f559c406e990) 32 | 33 | ## [RxSwift](https://github.com/ReactiveX/RxSwift) 34 | - [Learn & Master ⚔️ the Basics of RxSwift in 10 Minutes](https://medium.com/ios-os-x-development/learn-and-master-%EF%B8%8F-the-basics-of-rxswift-in-10-minutes-818ea6e0a05b) 35 | - [Strong-typed Notifications in Swift. Making Notifications type-safe and reactive with RxSwift.](https://medium.com/flawless-app-stories/strong-typed-notifications-in-swift-a5de8f7f58e0) 36 | - [Get started with RxSwift and reactive programming](https://agostini.tech/2019/02/04/get-started-with-rxswift-and-reactive-programming/) 37 | - [Magic of RxSwift. Rx Operators](https://agostini.tech/2019/03/10/magic-of-rxswift-rx-operators/) 38 | 39 | ## [ReSwift](http://reswift.github.io/ReSwift/master/) 40 | - [Intro to ReSwift](https://agostini.tech/2019/03/03/intro-to-reswift/) 41 | 42 | ## [HoneyBee](http://honeybee.link/2.7.0/docs/index.html) 43 | - [Advanced Concurrency in Swift with HoneyBee](https://www.toptal.com/swift/advanced-concurrency-in-swift-with-honeybee) 44 | 45 | ## zxcvbn 46 | - [Estimating Password Strength With zxcvbn](https://agostini.tech/2018/12/16/estimating-password-strength-with-zxcvbn/) 47 | 48 | ## Fritz SDK 49 | - [Building your own Portrait Mode using Machine Learning in < 30 min [iOS]](https://heartbeat.fritz.ai/building-an-image-segmentation-app-in-ios-3377eb4a3e7c) 50 | 51 | ## [SnapshotTesting](https://github.com/pointfreeco/swift-snapshot-testing) 52 | - [SnapshotTesting 1.0: Delightful Swift snapshot testing](https://www.pointfree.co/blog/posts/23-snapshottesting-1-0-delightful-swift-snapshot-testing?fbclid=IwAR3Xr3NyvILdhCMiREXculSuqhANRJMYDsN25bntMp3CWviBYf_029HrhS0) 53 | 54 | ## [PromiseKit](https://github.com/mxcl/PromiseKit) 55 | - [Getting Started With PromiseKit](https://www.raywenderlich.com/9208-getting-started-with-promisekit) 56 | 57 | ## [Scaledrone](https://www.scaledrone.com/index2.html?utm_expid=.RqLoQ5d1RMyKZ2N4mkDs6Q.1&utm_referrer=) 58 | For Scaledrone Swift, please follow the [specified link](https://github.com/ScaleDrone/scaledrone-swift). 59 | 60 | - [iOS Chat Tutorial: Building A Realtime Messaging App](https://www.scaledrone.com/blog/ios-chat-tutorial/) 61 | - [iOS Chat Tutorial Part 2](https://www.scaledrone.com/blog/ios-chat-tutorial-part-2/) 62 | 63 | ## [swift-sh](https://github.com/mxcl/swift-sh?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+thechangelog+%28The+Changelog%29) 64 | - [swift-sh](https://nshipster.com/swift-sh/) 65 | 66 | ## [Codecov](https://codecov.io) 67 | - [Code Coverage With codecov](https://agostini.tech/2017/07/16/code-coverage-with-codecov/) 68 | 69 | ## Docker 70 | - [Docker on macOS: Getting Started](https://www.raywenderlich.com/9159-docker-on-macos-getting-started?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more) 71 | 72 | ## Protocol Buffers 73 | - [Introduction to Protocol Buffers on iOS](https://www.raywenderlich.com/749-introduction-to-protocol-buffers-on-ios) 74 | -------------------------------------------------------------------------------- /Lists/FunctionalProgramming.md: -------------------------------------------------------------------------------- 1 | # Functional Programming 2 | 3 | ## Other 4 | - [Intro to Swift Functional Programming with Bob](https://www.bobthedeveloper.io/blog/intro-to-swift-functional-programming-with-bob) 5 | - [Functional Swift](https://medium.com/@geisonfgfg/functional-swift-41f1bed646d) 6 | - [Beginners guide to functional Swift](https://theswiftdev.com/2019/02/05/beginners-guide-to-functional-swift/) 7 | 8 | ## Lenses 9 | - [Lenses and Prisms in Swift: a pragmatic approach](https://broomburgo.github.io/fun-ios/post/lenses-and-prisms-in-swift-a-pragmatic-approach/) 10 | - [Functional Lenses: an exploration in Swift](https://medium.com/@EnnioMa/functional-lenses-an-exploration-in-swift-25b4d3a6a536) 11 | - [Functional Lenses: an exploration in Swift](http://ennioma.com/functional-lenses-an-exploration-in-swift/) 12 | - [Lenses in Swift](http://chris.eidhof.nl/post/lenses-in-swift/) 13 | 14 | ## Monads 15 | - [Monad: From Category Theory to Swift](https://blog.karumi.com/monad/) 16 | - [Why Monads?](https://broomburgo.github.io/fun-ios/post/why-monads/) 17 | 18 | ## Monoids 19 | - [Monoids deployed](https://deadbeef.me/2017/09/monoids) 20 | 21 | ## Functional Composition 22 | - [A quick intro to function composition in Swift](https://medium.freecodecamp.org/a-quick-intro-to-function-composition-in-swift-17f5c9999cee) 23 | 24 | ## Partial Application 25 | - [Swift Partially Applied Functions](https://paul-samuels.com/blog/2018/01/31/swift-partially-applied-functions/) 26 | 27 | ## Memoization 28 | - [Generic memoization wrapper for swift functions](http://simon-fortelny.com/2017/07/04/GenericMemoization/) 29 | - [Swift — memoize() walk through](https://medium.com/@mvxlr/swift-memoize-walk-through-c5224a558194#.sl4bfon3k) 30 | - [Need detailed explanation for Memoize implementation in Swift (WWDC 14, session 404)](https://stackoverflow.com/questions/31129211/need-detailed-explanation-for-memoize-implementation-in-swift-wwdc-14-session) 31 | 32 | ## Functional Swift Conference 33 | - [Functional Swift Conference 2018](http://2018.funswiftconf.com) 34 | - [Functional Swift Conference Fall 2017](http://2017-fall.funswiftconf.com) 35 | - [Functional Swift Conference 2017](http://2017.funswiftconf.com) 36 | - [Functional Swift Conference 2016](http://2016.funswiftconf.com) 37 | - [Functional Swift Conference 2015](http://2015.funswiftconf.com) 38 | - [Functional Swift Conference 2014](http://2014.funswiftconf.com) 39 | -------------------------------------------------------------------------------- /Lists/GameplayKit.md: -------------------------------------------------------------------------------- 1 | ## GameplayKit 2 | - [Pathfinding on Tilemap with GameplayKit](https://stackoverflow.com/questions/42071040/pathfinding-on-tilemap-with-gameplaykit) 3 | - [Let's build GameplayKit - Grid Based Pathfinding](http://www.jonathanfischer.net/lets-build-gameplaykit-grid-pathfinding/) 4 | - [An Introduction to GameplayKit: Part 1](https://code.tutsplus.com/tutorials/an-introduction-to-gameplaykit-part-1--cms-24483) 5 | - [An Introduction to GameplayKit: Part 2](https://code.tutsplus.com/tutorials/an-introduction-to-gameplaykit-part-2--cms-24528) 6 | - [An Introduction to GameplayKit: Part 3](https://code.tutsplus.com/tutorials/an-introduction-to-gameplaykit-part-3--cms-24611) 7 | - [A Look at Agents, Goals & Behaviours in GameplayKit](http://flexmonkey.blogspot.com/2015/11/a-look-at-agents-goals-behaviours-in.html) 8 | - [GameplayKit Programming Guide](https://developer.apple.com/library/archive/documentation/General/Conceptual/GameplayKit_Guide/index.html#//apple_ref/doc/uid/TP40015172-CH1-SW1) 9 | - [GKScene unable to load custom class from module ‘(null)’](http://simonfairbairn.com/gkscene-unable-to-load-custom-class-from-module-null/) 10 | - [A Physics Component for an Entity Component System in SpriteKit](http://simonfairbairn.com/physics-component-for-entity-component-system-spritekit/) 11 | -------------------------------------------------------------------------------- /Lists/Git.md: -------------------------------------------------------------------------------- 1 | # Git 2 | - [A successful Git branching model](http://nvie.com/posts/a-successful-git-branching-model/) 3 | - [Introducing GitFlow](https://datasift.github.io/gitflow/IntroducingGitFlow.html) 4 | - [Git-flow cheatsheet](https://danielkummer.github.io/git-flow-cheatsheet/) 5 | - [Branching](https://gist.github.com/digitaljhelms/4287848) 6 | - [Git - the simple guide](http://rogerdudler.github.io/git-guide/) 7 | - [A branching strategy in adequacy with the Scrum model.](https://www.stenusys.com/scrum-branching-strategy/) 8 | - [Branch per Story Pattern and TFS](https://www.richard-banks.org/2011/02/branch-per-story-pattern-and-tfs.html) 9 | 10 | ## GitHub 11 | - [How to use GitHub badges to stop feeling like a noob](https://medium.freecodecamp.org/how-to-use-badges-to-stop-feeling-like-a-noob-d4e6600d37d2) 12 | -------------------------------------------------------------------------------- /Lists/HealthKit.md: -------------------------------------------------------------------------------- 1 | ## HealthKit 2 | - [HealthKit Tutorial With Swift: Getting Started](https://www.raywenderlich.com/159019/healthkit-tutorial-swift-getting-started) 3 | - [HealthKit Tutorial with Swift: Workouts](https://www.raywenderlich.com/162877/healthkit-tutorial-swift-workouts) 4 | - [Using HealthKit](https://agostini.tech/2019/01/07/using-healthkit/) 5 | -------------------------------------------------------------------------------- /Lists/InAppPurchase.md: -------------------------------------------------------------------------------- 1 | # In-App Purchase 2 | 3 | ## Articles 4 | - [In-App Purchase Tutorial: Getting Started](https://www.raywenderlich.com/122144/in-app-purchase-tutorial) 5 | - [In App Purchases Tutorial: Consumables](https://www.raywenderlich.com/127423/in-app-purchases-tutorial) 6 | - [A Complete Guide to In-App Purchases for iOS Development](https://www.appcoda.com/in-app-purchases-guide/) 7 | 8 | ## Documentation 9 | - [In-App Purchase](https://developer.apple.com/in-app-purchase/) 10 | - [In-App Purchase Programming Guide](https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction.html#//apple_ref/doc/uid/TP40008267-CH1-SW1) 11 | - [Workflow for configuring in-app purchases](http://help.apple.com/itunes-connect/developer/#/devb57be10e7) 12 | -------------------------------------------------------------------------------- /Lists/InternationalizationAndLocalization.md: -------------------------------------------------------------------------------- 1 | # Internationalization & Localization 2 | 3 | ## Internationalization 4 | > Internationalization is the design and development of a product, application or document content that enables easy localization for target audiences that vary in culture, region, or language. 5 | > 6 | > Source: [W3C](https://www.w3.org/International/questions/qa-i18n) 7 | 8 | - [Internationalizing Your iOS App: Getting Started](https://www.raywenderlich.com/180356/ios-internationalization) 9 | 10 | ## Localization 11 | > Localization refers to the adaptation of a product, application or document content to meet the language, cultural and other requirements of a specific target market (a locale). 12 | > 13 | > Source: [W3C](https://www.w3.org/International/questions/qa-i18n) 14 | 15 | - [Plurals localization using Stringsdict in iOS](https://medium.com/@vitaliikuznetsov/plurals-localization-using-stringsdict-in-ios-a910aab8c28c) 16 | -------------------------------------------------------------------------------- /Lists/Interview.md: -------------------------------------------------------------------------------- 1 | # Interview 2 | - [Software Engineering: Interviews](https://medium.com/@AndyyHope/software-engineering-interviews-744380f4f2af) 3 | - [Creator of Pixaki and Full-Time Indie iOS Dev: A Top Dev Interview With Luke Rogers](https://www.raywenderlich.com/179643/creator-pixaki-full-time-indie-ios-dev-top-dev-interview-luke-rogers) 4 | - [How I Interview](https://sandofsky.com/blog/how-i-interview.html) 5 | - [Interview: Guilherme Rambo](https://www.hackingwithswift.com/articles/164/interview-guilherme-rambo) 6 | - [The Complete Guide to iOS and Swift Job Interviews](https://www.hackingwithswift.com/articles/157/the-complete-guide-to-ios-and-swift-job-interviews) 7 | - [I interviewed at six top companies in Silicon Valley in six days, and stumbled into six job offers](https://blog.usejournal.com/i-interviewed-at-six-top-companies-in-silicon-valley-in-six-days-and-stumbled-into-six-job-offers-fe9cc7bbc996) 8 | - [Trouble hiring senior engineers? It's probably you](https://hiringengineersbook.com/post/trouble-hiring/) 9 | - [How Artsy Hires Engineers](http://artsy.github.io/blog/2019/01/23/artsy-engineering-hiring/) 10 | - [How to take your iOS career to the next level](https://medium.com/skills-matter/how-to-take-your-mobile-development-career-to-the-next-level-e8d12d8e1543) 11 | - [TECHNICAL INTERVIEW PROTIPS](https://martiancraft.com/blog/2018/05/technical-interview-protips/) 12 | - [Interview: Antoine van der Lee](https://www.hackingwithswift.com/articles/180/interview-antoine-van-der-lee) 13 | - [Trouble hiring senior engineers? It's probably you](https://hiringengineersbook.com/post/trouble-hiring/) 14 | - [How to get the first job as an iOS developer](https://medium.com/flawless-app-stories/14-resources-to-help-you-get-your-ios-engineering-job-1cca22cedafe) 15 | 16 | ## Preparation 17 | - [The HackerRank Interview Preparation Kit](https://www.hackerrank.com/interview/interview-preparation-kit) 18 | - [Ninety-Nine Swift Problems](https://www.enekoalonso.com/projects/99-swift-problems/) 19 | 20 | # Career 21 | - [Why iOS Developers Feel Stuck In Their Careers & What To Do](https://medium.com/essential-developer-ios/why-ios-developers-feel-stuck-in-their-careers-what-to-do-d800a50470a2) 22 | -------------------------------------------------------------------------------- /Lists/MachineLearning.md: -------------------------------------------------------------------------------- 1 | # Machine Learning 2 | 3 | ## Reading 📖 4 | - [Keras: The Python Deep Learning library](https://keras.io) 5 | - [SET-UP YOUR MAC FOR DEEP LEARNING WITH PYTHON, TENSORFLOW AND KERAS](https://www.dataweekends.com/blog/2017/03/09/set-up-your-mac-for-deep-learning-with-python-keras-and-tensorflow) 6 | - [Calculus on Computational Graphs: Backpropagation](http://colah.github.io/posts/2015-08-Backprop/) 7 | - [Getting started with TensorFlow on iOS](http://machinethink.net/blog/tensorflow-on-ios/) 8 | - [Apple’s deep learning frameworks: BNNS vs. Metal CNN](http://machinethink.net/blog/apple-deep-learning-bnns-versus-metal-cnn/) 9 | - [Convolutional neural networks on the iPhone with VGGNet](http://machinethink.net/blog/convolutional-neural-networks-on-the-iphone-with-vggnet/) 10 | - [Getting Started with Deep MNIST and TensorFlow on iOS 11 | ](http://www.mattrajca.com/2016/11/25/getting-started-with-deep-mnist-and-tensorflow-on-ios.html) 12 | - [Use TensorFlow and BNNS to Add Machine Learning to your Mac or iOS App](https://www.bignerdranch.com/blog/use-tensorflow-and-bnns-to-add-machine-learning-to-your-mac-or-ios-app/) 13 | - [Develop Your First Neural Network in Python With Keras Step-By-Step](http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/) 14 | - [Keras Tutorial: The Ultimate Beginner’s Guide to Deep Learning in Python](https://elitedatascience.com/keras-tutorial-deep-learning-in-python) 15 | - [Keras Deep Learning with Apple’s CoreMLTools on iOS 11](https://amundtveit.com/2017/06/07/keras-deep-learning-with-apples-coremltools-on-ios-11-part-1/) 16 | - [Beginning Machine Learning with scikit-learn](https://www.raywenderlich.com/180830/beginning-machine-learning-scikit-learn) 17 | - [Machine Learning: End-to-end Classification](https://www.raywenderlich.com/5554-machine-learning-end-to-end-classification) 18 | - [macOS Machine Learning in 2019](https://www.bignerdranch.com/blog/macos-machine-learning-in-2019/) 19 | 20 | ## Code 💻 21 | - [Code example uses TensorFlow to train a basic binary classifier on the Gender Recognition by Voice and Speech Analysis dataset](https://github.com/hollance/TensorFlow-iOS-Example) 22 | - ["Hello world" in keras](https://github.com/fastforwardlabs/keras-hello-world/blob/master/kerashelloworld.ipynb) 23 | - [TensorFlow on iOS demo](https://github.com/hollance/TensorFlow-iOS-Example) 24 | 25 | ## Tools 26 | - [Anaconda - is the world’s most popular and trusted data science ecosystem.](https://www.continuum.io) 27 | - [TensorFlow - An open-source software library for Machine Intelligence](https://www.tensorflow.org) 28 | - [Caffe - Caffe is a deep learning framework made with expression, speed, and modularity in mind](http://caffe.berkeleyvision.org) 29 | - [Keras - Deep Learning library for Python. Runs on TensorFlow, Theano, or CNTK.](https://github.com/fchollet/keras) 30 | - [coremltools is a python package for creating, examining, and testing models in the .mlmodel format. ](https://pypi.python.org/pypi/coremltools) 31 | - [5 Genius Python Deep Learning Libraries](https://elitedatascience.com/python-deep-learning-libraries#keras) 32 | - [DL4S - successor to Swift for TensorFlow](https://github.com/palle-k/DL4S) 33 | 34 | ## Video 📹 35 | - [Deep Learning: Keras Short Tutorial](https://www.youtube.com/watch?v=Tp3SaRbql4k) 36 | - [Integrating Keras & TensorFlow: The Keras workflow, expanded (TensorFlow Dev Summit 2017)](https://www.youtube.com/watch?v=UeheTiBJ0Io) 37 | - [Deep Learning Frameworks Compared](https://youtu.be/MDP9FfsNx60) 38 | -------------------------------------------------------------------------------- /Lists/MapKit.md: -------------------------------------------------------------------------------- 1 | ## MapKit 2 | - [MapKit Overlay View](https://www.raywenderlich.com/166182/mapkit-tutorial-overlay-views) 3 | -------------------------------------------------------------------------------- /Lists/MessageUI.md: -------------------------------------------------------------------------------- 1 | # Message UI 2 | 3 | ## Docs 4 | - [MessageUI](https://developer.apple.com/documentation/messageui) 5 | 6 | ## Tutorials 7 | - [How to send an email](https://www.hackingwithswift.com/example-code/uikit/how-to-send-an-email) 8 | -------------------------------------------------------------------------------- /Lists/Metal.md: -------------------------------------------------------------------------------- 1 | ## Metal 2 | - [What’s the big deal with Apples Metal API?](http://renderingpipeline.com/2014/06/whats-the-big-deal-with-apples-metal-api/) 3 | - [Metal Tutorial with Swift 3 Part 1: Getting Started](https://www.raywenderlich.com/146414/metal-tutorial-swift-3-part-1-getting-started) 4 | - [Metal Tutorial with Swift 3 Part 2: Moving to 3D](https://www.raywenderlich.com/146416/metal-tutorial-swift-3-part-2-moving-3d) 5 | - [LiquidFun Tutorial with Metal and Swift – Part 1](https://www.raywenderlich.com/85515/liquidfun-tutorial-1) 6 | - [LiquidFun Tutorial with Metal and Swift – Part 2](https://www.raywenderlich.com/90592/liquidfun-tutorial-2) 7 | - [How do I pixelate a scene with SceneKit and Metal, in Swift?](https://gamedev.stackexchange.com/questions/125489/how-do-i-pixelate-a-scene-with-scenekit-and-metal-in-swift) 8 | - [Instanced Rendering in Metal](http://metalbyexample.com/instanced-rendering/) 9 | - [Custom Metal Shaders](https://github.com/cocos2d/cocos2d-objc/wiki/Custom-Metal-Shaders) 10 | - [A few SCNTechnique examples](http://blog.simonrodriguez.fr/articles/26-08-2015_a_few_scntechnique_examples.html) 11 | - [Textures and Samplers in Metal](http://metalbyexample.com/textures-and-samplers/) 12 | - [An Introduction to 3D Graphics with Metal in Swift](https://academy.realm.io/posts/3d-graphics-metal-swift/) 13 | - [A Brief Tour of Metal](https://developer.apple.com/documentation/metal/a_brief_tour_of_metal) 14 | - [DATA-PARALLEL PROGRAMMING WITH METAL AND SWIFT FOR IPHONE/IPAD GPU](http://memkite.com/blog/2014/12/15/data-parallel-programming-with-metal-and-swift-for-iphoneipad-gpu/) 15 | - [EXAMPLE OF SHARING MEMORY BETWEEN GPU AND CPU WITH SWIFT AND METAL FOR IOS8](http://memkite.com/blog/2014/12/30/example-of-sharing-memory-between-gpu-and-cpu-with-swift-and-metal-for-ios8/) 16 | - [Metal Performance Shaders in Swift](http://metalbyexample.com/metal-performance-shaders-in-swift/) 17 | - [Do I need multiple RenderPipelines to have multiple shaders?](https://stackoverflow.com/questions/47468458/metal-do-i-need-multiple-renderpipelines-to-have-multiple-shaders) 18 | - [Metal Rendering Pipeline Tutorial](https://www.raywenderlich.com/195167/metal-rendering-pipeline-tutorial) 19 | - [Writing a Modern Metal App from Scratch: Part 1](http://metalbyexample.com/modern-metal-1/#comment-14828) 20 | - [Writing a Modern Metal App from Scratch: Part 2](http://metalbyexample.com/modern-metal-2/#comment-14849) 21 | - [Rendering 3D Text with Core Text and libtess2](http://metalbyexample.com/text-3d/) 22 | - [Picking and Hit-Testing in Metal](http://metalbyexample.com/picking-hit-testing/) 23 | - [Moving from OpenGL to Metal](https://www.raywenderlich.com/9211-moving-from-opengl-to-metal) 24 | - [Vertex Data and Vertex Descriptors](http://metalbyexample.com/vertex-descriptors/) 25 | 26 | ### Reosurces 27 | - [Metal By Example: High-performance graphics and compute programming for iOS](http://metalbyexample.com) 28 | 29 | ### Code 💻 30 | - [SceneKit mesh deformed by a Metal compute shader](https://github.com/lachlanhurst/SceneKitMetalDeformableMesh) 31 | - [3D Graphics with Scene Kit](https://github.com/d-ronnqvist/SCNBook-code/tree/obj-c) 32 | -------------------------------------------------------------------------------- /Lists/MetricKit.md: -------------------------------------------------------------------------------- 1 | # MetricKit 2 | 3 | ## Articles and Tutorials 4 | - [Metric​Kit](https://nshipster.com/metrickit/) 5 | - [MetricKit Internals. Insights into your iOS app performance.](https://appspector.com/blog/metrickit) 6 | 7 | ## Documentation 8 | - [MetricKit](https://developer.apple.com/documentation/metrickit) 9 | - [Improving Your App's Performance](https://developer.apple.com/documentation/metrickit/improving_your_app_s_performance/) 10 | -------------------------------------------------------------------------------- /Lists/NLP.md: -------------------------------------------------------------------------------- 1 | ## NLP 2 | - [Introduction to Natural Language Processing in Swift](https://www.appcoda.com/natural-language-processing-swift/) 3 | -------------------------------------------------------------------------------- /Lists/Networking.md: -------------------------------------------------------------------------------- 1 | ## Networking 2 | - [Network Layers in Swift](https://medium.com/@danielemargutti/network-layers-in-swift-7fc5628ff789) 3 | - [Network Layers in Swift (Updated Version)](https://medium.com/@danielemargutti/network-layers-in-swift-updated-version-539d9c636b8) 4 | - [URLSession Tutorial: Getting Started](https://www.raywenderlich.com/567-urlsession-tutorial-getting-started) 5 | - [BUILDING A NETWORKING LAYER WITH OPERATIONS](https://williamboles.me/building-a-networking-layer-with-operations/) 6 | - [Functional networking in Swift](https://www.swiftbysundell.com/posts/functional-networking-in-swift) 7 | - [Constructing URLs in Swift](https://www.swiftbysundell.com/posts/constructing-urls-in-swift) 8 | - [Detecting Internet Access on iOS 12+](https://medium.com/@rwbutler/nwpathmonitor-the-new-reachability-de101a5a8835) 9 | - [Alamofire vs URLSession: a comparison for networking in Swift](https://www.avanderlee.com/swift/alamofire-vs-urlsession/) 10 | - [Debugging iOS network traffic](https://blog.kulman.sk/debugging-ios-network-traffic/) 11 | - [Download files sequentially using URLSession inside OperationQueue](https://fluffy.es/download-files-sequentially/?utm_campaign=iOS%2BDev%2BWeekly&utm_medium=web&utm_source=iOS%2BDev%2BWeekly%2BIssue%2B403) 12 | - [URLSession: Common pitfalls with background download & upload tasks](https://www.avanderlee.com/swift/urlsession-common-pitfalls-with-background-download-upload-tasks/) 13 | -------------------------------------------------------------------------------- /Lists/Payments.md: -------------------------------------------------------------------------------- 1 | ## Payments 2 | - [Accepting Credit Cards In Your iOS App Using Stripe](https://www.raywenderlich.com/179260/accept-credit-cards-ios-apps-using-stripe) 3 | -------------------------------------------------------------------------------- /Lists/Persistence.md: -------------------------------------------------------------------------------- 1 | # Persistence 2 | - [The Many Offline Options for iOS Apps](https://medium.com/device-blogs/the-many-offline-options-for-ios-apps-2922c9b3bff3) 3 | -------------------------------------------------------------------------------- /Lists/PhotoKit.md: -------------------------------------------------------------------------------- 1 | # PhotoKit 2 | 3 | ## Articles 4 | 5 | - [PhotoKit’s data model](https://oleb.net/2018/photos-data-model/) 6 | - [Checking out the new PHPickerViewController in iOS 14](https://nemecek.be/blog/30/checking-out-the-new-phpickerviewcontroller-in-ios-14-to-select-photos-or-videos) 7 | 8 | ## Documentation 9 | - [Browsing and Modifying Photo Albums](https://developer.apple.com/documentation/photokit/browsing_and_modifying_photo_albums) 10 | - [Requesting Authorization to Access Photos](https://developer.apple.com/documentation/photokit/requesting_authorization_to_access_photos) 11 | - [Fetching Objects and Requesting Changes](https://developer.apple.com/documentation/photokit/fetching_objects_and_requesting_changes) 12 | -------------------------------------------------------------------------------- /Lists/PhysicsEngines.md: -------------------------------------------------------------------------------- 1 | # Physics Engines 2 | 3 | ## Box2D 4 | `Box2D` is a very powerful framework and the knowledge of it can be very easily converted into `SpriteKit's` physics engine. 5 | 6 | - [Conveyor belts](http://www.iforce2d.net/b2dtut/conveyor-belts) 7 | - [Two ways to make Box2D cars](https://www.emanueleferonato.com/2009/04/06/two-ways-to-make-box2d-cars/) 8 | - [Top Down Car Physics](http://www.iforce2d.net/b2dtut/top-down-car) 9 | - [Box 2d vehicles - part 1](https://www.codeproject.com/Articles/445461/Box-d-vehicles-part) 10 | - [Box 2D vehicles - Part 2 (box2d polygon shape)](https://www.codeproject.com/Articles/468100/Box-D-vehicles-Part-box-d-polygon-shape) 11 | -------------------------------------------------------------------------------- /Lists/Playgrounds.md: -------------------------------------------------------------------------------- 1 | ## Playgrounds 2 | - [Adding Playgrounds to Xcode Projects](https://useyourloaf.com/blog/adding-playgrounds-to-xcode-projects/) 3 | - [Xcode: Markup For Playgrounds](http://www.thomashanning.com/xcode-markup-for-playgrounds/) 4 | - [Markup Formatting Reference](https://developer.apple.com/library/content/documentation/Xcode/Reference/xcode_markup_formatting_ref/index.html) 5 | - [Swift playgrounds tips & tricks](https://www.swiftbysundell.com/posts/swift-playgrounds-tips-tricks) 6 | - [Review: Swift Playgrounds 3.0 for iPad](https://www.swiftbysundell.com/posts/review-swift-playgrounds-30-for-ipad) 7 | -------------------------------------------------------------------------------- /Lists/Product.md: -------------------------------------------------------------------------------- 1 | # Product 2 | 3 | ## Articles 4 | - [Product Owners: How to Get Your Development Team to Love You](https://www.mindtheproduct.com/product-owners-how-to-get-your-development-team-to-love-you/) 5 | -------------------------------------------------------------------------------- /Lists/ProjectCatalyst.md: -------------------------------------------------------------------------------- 1 | # Project Catalyst 2 | 3 | ## Articles 4 | - [Beyond the Checkbox with Catalyst and AppKit](https://www.highcaffeinecontent.com/blog/20190607-Beyond-the-Checkbox-with-Catalyst-and-AppKit) 5 | - [Catalytic Converter](https://tla.systems/blog/2019/10/08/catalytic-converter/) 6 | 7 | ## Documentation 8 | - [Bring Your iPad App to Mac](https://developer.apple.com/ipad-apps-for-mac/) 9 | - [HIG iPad Apps for Mac](https://developer.apple.com/design/human-interface-guidelines/ios/overview/ipad-apps-for-mac/) 10 | - [Creating a Mac Version of Your iPad App](https://developer.apple.com/documentation/uikit/creating_a_mac_version_of_your_ipad_app) 11 | - [Optimizing Your iPad App for Mac](https://developer.apple.com/documentation/uikit/creating_a_mac_version_of_your_ipad_app/optimizing_your_ipad_app_for_mac) 12 | - [Displaying a Preferences Window](https://developer.apple.com/documentation/uikit/creating_a_mac_version_of_your_ipad_app/displaying_a_preferences_window) 13 | 14 | ## Videos 15 | 16 | ### WWDC 17 | - [Designing iPad Apps for Mac](https://developer.apple.com/videos/play/wwdc2019/809/) 18 | - [Introducing iPad Apps for Mac](https://developer.apple.com/videos/play/wwdc2019/205/) 19 | - [Taking iPad Apps for Mac to the Next Level](https://developer.apple.com/videos/play/wwdc2019/235/) 20 | -------------------------------------------------------------------------------- /Lists/ProjectManagement.md: -------------------------------------------------------------------------------- 1 | # Project Management 2 | 3 | - [Efficient Software Project Management at its Roots](https://blog.pragmaticengineer.com/efficient-software-project-management-at-its-roots/) 4 | - [Yes, You Should Estimate Software Projects](https://blog.pragmaticengineer.com/yes-you-should-estimate/) 5 | - [Who Can Add Items to the Product Backlog?](https://www.mountaingoatsoftware.com/blog/who-can-add-items-to-the-product-backlog) 6 | -------------------------------------------------------------------------------- /Lists/ProtocolOrientedProgramming.md: -------------------------------------------------------------------------------- 1 | ## Protocol-Oriented Programming 2 | - [Introducing Protocol-Oriented Programming in Swift 3](https://www.raywenderlich.com/148448/introducing-protocol-oriented-programming) 3 | - [Introduction to Protocol Oriented Programming in Swift](https://blog.bobthedeveloper.io/introduction-to-protocol-oriented-programming-in-swift-b358fe4974f) 4 | - [How Protocol Oriented Programming in Swift saved my day?](https://medium.com/ios-os-x-development/how-protocol-oriented-programming-in-swift-saved-my-day-75737a6af022) 5 | - [Separation Of Concerns Using Protocols In Swift](https://www.swiftbysundell.com/posts/separation-of-concerns-using-protocols-in-swift) 6 | - [Protocol Composition In Swift](https://medium.com/@marcosantadev/protocol-composition-in-swift-e2b165ff8106) 7 | - [Reasoning about protocols](https://swiftindepth.com/2019-01-01/reasoning-about-protocols) 8 | - [Protocol-Oriented Programming](https://scotteg.github.io/protocol-oriented-programming) 9 | -------------------------------------------------------------------------------- /Lists/PushKit.md: -------------------------------------------------------------------------------- 1 | # PushKit 2 | 3 | - [Receiving Incoming Calls With PushKit](https://agostini.tech/2019/06/23/receiving-incoming-calls-with-pushkit/) 4 | - [PushKit Documentation](https://developer.apple.com/documentation/pushkit) 5 | - [VoIP Push Notifications using iOS Pushkit](https://medium.com/ios-expert-series-or-interview-series/voip-push-notifications-using-ios-pushkit-5bc4a8f4d587) 6 | -------------------------------------------------------------------------------- /Lists/ReplayKit.md: -------------------------------------------------------------------------------- 1 | ## ReplayKit 2 | ### Reading 📖 3 | - [iOS 9: An Introduction to ReplayKit](https://code.tutsplus.com/tutorials/ios-9-an-introduction-to-replaykit--cms-25458) 4 | - [Screen Recording Your App Using iOS ReplayKit for Bug Reporting](https://medium.com/ymedialabs-innovation/screen-recording-your-app-using-ios-replaykit-for-bug-reporting-70f998c8c1b8) 5 | - [ReplayKit](https://developer.apple.com/documentation/replaykit) 6 | - [How to record user videos using ReplayKit](https://www.hackingwithswift.com/example-code/media/how-to-record-user-videos-using-replaykit) 7 | - [IOS 8 iPad App Crashes When UIActivityViewController Is Called](https://stackoverflow.com/questions/28548760/ios-8-ipad-app-crashes-when-uiactivityviewcontroller-is-called) 8 | 9 | ### Video 📹 10 | - [Going Social with ReplayKit and Game Center](https://developer.apple.com/videos/play/wwdc2015/605/) 11 | -------------------------------------------------------------------------------- /Lists/SceneKit.md: -------------------------------------------------------------------------------- 1 | ## SceneKit 2 | - [Physically Based Rendering Using the New iOS 10 SceneKit](https://medium.com/@avihay/amazing-physically-based-rendering-using-the-new-ios-10-scenekit-2489e43f7021) 3 | - [How to get the real position of a sub node in SceneKit after rotation?](https://stackoverflow.com/questions/26785453/how-to-get-the-real-position-of-a-sub-node-in-scenekit-after-rotation) 4 | - [Transfer global to local node position in SceneKit](https://stackoverflow.com/questions/28064427/transfer-global-to-local-node-position-in-scenekit) 5 | - [SCNNode](https://developer.apple.com/documentation/scenekit/scnnode#//apple_ref/occ/instm/SCNNode/convertPosition:toNode:) 6 | - [3D with SceneKit](http://ronnqvi.st/3d-with-scenekit/) 7 | - [The math behind transforms](http://ronnqvi.st/the-math-behind-transforms/) 8 | - [SceneKit game architecture](https://stackoverflow.com/questions/43081988/scenekit-game-architecture) 9 | - [How to rotate object in a scene with pan gesture - SceneKit](https://stackoverflow.com/questions/35194914/how-to-rotate-object-in-a-scene-with-pan-gesture-scenekit) 10 | - [Introduction To SceneKit – Part 1](https://www.weheartswift.com/introduction-scenekit-part-1/) 11 | - [Introduction To SceneKit – Part 2](https://www.weheartswift.com/introduction-scenekit-part-2/) 12 | - [Introduction To SceneKit – Part 3](https://www.weheartswift.com/introduction-scenekit-part-3/) 13 | - [Custom SceneKit Geometry](http://ronnqvi.st/custom-scenekit-geometry/) 14 | - [An Introduction to SceneKit: User Interaction, Animations & Physics](https://code.tutsplus.com/tutorials/an-introduction-to-scenekit-user-interaction-animations-physics--cms-23877) 15 | - [Drag SceneKit Node Along X-Axis while maintaining velocity? Swift 3](https://stackoverflow.com/questions/41291615/drag-scenekit-node-along-x-axis-while-maintaining-velocity-swift-3) 16 | - [Scene Kit](https://www.objc.io/issues/18-games/scenekit/) 17 | - [Rotate SCNCamera node looking at an object around an imaginary sphere](https://stackoverflow.com/questions/25654772/rotate-scncamera-node-looking-at-an-object-around-an-imaginary-sphere) 18 | - [Position a SceneKit object in front of SCNCamera's current orientation](https://stackoverflow.com/questions/42029347/position-a-scenekit-object-in-front-of-scncameras-current-orientation) 19 | - [SceneKit Tutorial - From Zero to Hero Part I](http://www.rogerboesch.com:2368/scenekit-tutorial-series-from-zero-to-hero/) 20 | - [SceneKit - From Zero to Hero, Part II](https://rogerboesch.github.io/scenekit/tutorial/games/2016/10/26/scenekit-zerotohero-II.html) 21 | - [How to set up SceneKit collision detection](https://stackoverflow.com/questions/27372138/how-to-set-up-scenekit-collision-detection) 22 | - [SCNNode Bounding size and Scaling: Changing Size Of Physics Boulding Volume](https://stackoverflow.com/questions/35301207/scnnode-bounding-size-and-scaling) 23 | - [How to convert 2D point to 3D using SceneKit's unprojectPoint without having a depth value?](https://stackoverflow.com/questions/24363430/how-to-convert-2d-point-to-3d-using-scenekits-unprojectpoint-without-having-a-d) 24 | - [SceneKit cube rotation with multiple UIPanGestureRecognizers](https://stackoverflow.com/questions/35736255/scenekit-cube-rotation-with-multiple-uipangesturerecognizers) 25 | - [SceneKit Cocoa Adding decals](https://stackoverflow.com/questions/40913688/scenekit-cocoa-adding-decals) 26 | - [How To Add Objects In SceneKit Swift](https://stackoverflow.com/questions/33142070/how-to-added-objects-in-scenekit-swift) 27 | - [How To Turn Off Metal and Enable OpenGL Rendering in SceneKit](https://forums.developer.apple.com/thread/19683) 28 | - [How to Make a Game Like Can Knockdown](https://www.raywenderlich.com/138712/make-game-like-can-knockdown) 29 | - [SceneKit: Deformable Terrain](http://sound-of-silence.com/?article=20161108) 30 | - [Dynamically load Collada files in SceneKit at runtime](https://the-nerd.be/2014/11/07/dynamically-load-collada-files-in-scenekit-at-runtime/) 31 | - [How do I efficiently map a high-res SKScene in SceneKit?](https://stackoverflow.com/questions/41652185/how-do-i-efficiently-map-a-high-res-skscene-in-scenekit) 32 | - [SCNCamera limit arcball rotation](https://stackoverflow.com/questions/33967838/scncamera-limit-arcball-rotation) 33 | - [Rotate SCNCamera node looking at an object around an imaginary sphere](https://stackoverflow.com/questions/25654772/rotate-scncamera-node-looking-at-an-object-around-an-imaginary-sphere) 34 | - [Getting Started with 2048!](https://www.makeschool.com/online-courses/tutorials/build-your-own-2048-with-spritebuilder-and-swift/getting-started) 35 | - [Changing programmatically the text of a 3D TextNode in SceneKit using Swift](https://stackoverflow.com/questions/45580843/changing-programmatically-the-text-of-a-3d-textnode-in-scenekit-using-swift) 36 | - [SCN shader modifier in metal - pass uniform to shader](https://stackoverflow.com/questions/39522370/scn-shader-modifier-in-metal-pass-uniform-to-shader) 37 | - [Crossfade material property textures](https://stackoverflow.com/questions/33235058/scenekit-crossfade-material-property-textures/33357397) 38 | - [3D Weather with SceneKit: aka Karl the Fog in AR](https://blog.mapbox.com/3d-weather-with-scenekit-aka-karl-the-fog-in-ar-931cff1c1c7c) 39 | - [Adding the finishing touches to 3D models in Xcode](https://blog.novoda.com/adding-the-finishing-touches-to-3d-models-in-xcode/) 40 | 41 | ### Video 📹 42 | - [Building a Game with SceneKit](https://developer.apple.com/videos/play/wwdc2014/610/) 43 | - [Advances in SceneKit Rendering](https://developer.apple.com/videos/play/wwdc2016/609/) 44 | - [Enhancements to SceneKit](https://developer.apple.com/videos/play/wwdc2015/606/) 45 | 46 | ### Code 💻 47 | - [SpriteKitHills - Dynamic generated hills](https://github.com/rogerboesch/SpriteKitHills) 48 | - [Tanks - Gameplay example with SpriteKit](https://github.com/rogerboesch/SceneKitTutorial) 49 | - [SceneKit Volumetric Weather](https://github.com/mapbox/scenekit-volumetric-weather) 50 | -------------------------------------------------------------------------------- /Lists/SearchKit.md: -------------------------------------------------------------------------------- 1 | # SearchKit 2 | 3 | ## Articles 4 | - [Search Kit](https://nshipster.com/search-kit/) 5 | 6 | ## Documentation 7 | - [Search Kit](https://developer.apple.com/documentation/coreservices/search_kit?changes=latest_minor) 8 | -------------------------------------------------------------------------------- /Lists/Security.md: -------------------------------------------------------------------------------- 1 | # Security 2 | - [Basic iOS Security: Keychain and Hashing](https://www.raywenderlich.com/185370/basic-ios-security-keychain-hashing) 3 | - [Application Security Musts for every iOS App](https://medium.com/swift2go/application-security-musts-for-every-ios-app-dabf095b9c4f) 4 | - [Mobile Security Testing Guide](https://mobile-security.gitbook.io/mobile-security-testing-guide/) 5 | - [iOS Security](https://www.apple.com/business/site/docs/iOS_Security_Guide.pdf) 6 | - [Popular note-taking apps share these security flaws: security tips for developers](https://medium.com/@vixentael/popular-note-taking-apps-share-these-security-flaws-security-tips-for-developers-326180e41329) 7 | - - [iOS Inspection using Frida Series ](https://8ksec.io/advanced-frida-usage-part-1-ios-encryption-libraries-8ksec-blogs/) 8 | -------------------------------------------------------------------------------- /Lists/SiriKit.md: -------------------------------------------------------------------------------- 1 | # SiriKit 2 | - [Hey Siri, make my app AMAZING](https://medium.com/badi-engineering/hey-siri-make-my-app-amazing-d6c17b7b44d) 3 | - [SiriKit - Apple Developer Documentation](https://developer.apple.com/documentation/sirikit) 4 | - [SiriKit - Human Interface Guidelines](https://developer.apple.com/design/human-interface-guidelines/sirikit/overview/introduction/) 5 | - [SiriKit Tutorial for iOS](https://www.raywenderlich.com/600-sirikit-tutorial-for-ios) 6 | - [A Beginner’s Guide to SiriKit in Swift](https://www.appcoda.com/sirikit-introduction/) 7 | -------------------------------------------------------------------------------- /Lists/SpriteKit.md: -------------------------------------------------------------------------------- 1 | ## SpriteKit 2 | - [Using SpriteKit to create animations in Swift](https://www.swiftbysundell.com/posts/using-spritekit-to-create-animations-in-swift) 3 | - [SpriteKit with Swift: Orienting Sprites to a Location](https://dezwitter.wordpress.com/2015/02/05/spritekit-with-swift-orienting-sprites-to-a-location/) 4 | - [Drag and Drop Sprites](https://www.raywenderlich.com/96822/sprite-kit-tutorial-drag-drop-sprites) 5 | - [An Introduction To Building A SpriteKit/UIKit Hybrid App](http://createdineden.com/blog/post/an-introduction-to-building-a-spritekit-uikit-hybrid-app/) 6 | - [How To Make A Game Like Color Switch with SpriteKit and Swift](https://www.raywenderlich.com/149034/how-to-make-a-game-like-color-switch-with-spritekit-and-swift) 7 | - [How To Make a Game Like Cut the Rope Using SpriteKit and Swift](https://www.raywenderlich.com/82022/make-game-like-cut-rope-using-spritekit-swift) 8 | - [iOS 7 Sprite Kit: Setting Up Correct Scene Dimensions](http://www.ymc.ch/de/blog/ios-7-sprite-kit-setting-up-correct-scene-dimensions/) 9 | - [Touch event and physics field](http://www.bytearray.org/?p=5336) 10 | - [SpriteKit game scene transitions with shaders](http://www.dbotha.com/2015/07/18/spritekit-game-scene-transitions-with-shaders/) 11 | - [SpriteKit Tutorial: Create an Interactive Children’s Book with SpriteKit and Swift 3](https://www.raywenderlich.com/148670/spritekit-tutorial-create-interactive-childrens-book-sprite-kit-swift-3) 12 | - [Createa An Interactive Childrend's Book With SpriteKit and Swift 3](https://www.raywenderlich.com/125046/card-game-mechanics-in-sprite-kit-with-swift) 13 | - [SpriteKit Text Disintegration](http://sound-of-silence.com/?article=20170205) 14 | - [Drawing gradients in SpriteKit](https://augmentedcode.io/2017/11/12/drawing-gradients-in-spritekit/) 15 | - [How to handle a lot of textures in memory](https://stackoverflow.com/questions/37825039/swift-how-to-handle-a-lot-of-textures-in-memory) 16 | - [Crashy Plane - Game](https://www.hackingwithswift.com/read/36/overview) 17 | - [SpriteKit Animations and Texture Atlases in Swift](GKGridGraphNode) 18 | - [Background music with SKAudioNode, an intro, plus game over](https://www.hackingwithswift.com/read/36/6/background-music-with-skaudionode-an-intro-plus-game-over) 19 | - [What's the best way to handle multiple SKScenes?](https://stackoverflow.com/questions/35404455/whats-the-best-way-to-handle-multiple-skscenes) 20 | - [How to move enemy towards a moving player?](https://stackoverflow.com/questions/36230619/how-to-move-enemy-towards-a-moving-player/36235426#36235426) 21 | - [Getting started with Sushi Neko!](https://www.makeschool.com/online-courses/tutorials/learn-to-clone-timberman-with-spritekit-and-swift-3/getting-started) 22 | - [SpriteKit Tutorial for Beginners](https://www.raywenderlich.com/187645/spritekit-tutorial-for-beginners-2) 23 | - [How To Make a Game Like Space Invaders with SpriteKit and Swift: Part 1](https://www.raywenderlich.com/124005/make-game-like-space-invaders-sprite-kit-swift-tutorial-part-1) 24 | - [How To Make a Game Like Space Invaders with SpriteKit and Swift: Part 2](https://www.raywenderlich.com/124006/make-game-like-space-invaders-sprite-kit-swift-tutorial-part-2) 25 | - [Trigonometry for Game Programming – SpriteKit and Swift Tutorial: Part 1/2](https://www.raywenderlich.com/188941/trigonometry-for-game-programming-part-1-2) 26 | - [Trigonometry for Game Programming – SpriteKit and Swift Tutorial: Part 2/2](https://www.raywenderlich.com/188943/trigonometry-for-game-programming-part-2-2) 27 | - [How to color an SKSpriteNode using colorBlendFactor](https://www.hackingwithswift.com/example-code/games/how-to-color-an-skspritenode-using-colorblendfactor) 28 | - [SpriteKit Tile Maps Intro](http://theliquidfire.com/2018/02/12/spritekit-tile-maps-intro/) 29 | - [What’s New In SpriteKit on iOS 10: A Look At Tile Maps](https://www.raywenderlich.com/137216/whats-new-spritekit-ios-10-look-tile-maps) 30 | - [How to Add SKReferenceNode/SKScene to another SKScene in SpriteKit](https://stackoverflow.com/questions/39390375/add-skreferencenode-skscene-to-another-skscene-in-spritekit/39396685) 31 | - [How To Make a Game Like Cut the Rope Using SpriteKit and Swift](https://www.raywenderlich.com/735-how-to-make-a-game-like-cut-the-rope-using-spritekit-and-swift) 32 | - [SpriteKit Advanced — How to build a 2,5D game (Part I)](https://medium.freecodecamp.org/spritekit-advanced-how-to-build-a-2-5d-game-part-i-2dc76c7c65e2) 33 | - [SpriteKit Advanced — How to build a 2,5D game (Part II)](https://medium.freecodecamp.org/spritekit-advanced-how-to-build-a-2-5d-game-part-ii-30ddb613b568) 34 | - [SpriteKit Advanced — How to build a 2,5D game (Part III)](https://medium.freecodecamp.org/spritekit-advanced-how-to-build-a-2-5d-game-part-iii-e058b99cfbc3) 35 | - [Developing a Jigsaw Puzzle Game Part 1: Planning](http://simonfairbairn.com/developing-jigsaw-puzzle-game-part-1-planning/) 36 | - [Developing a Jigsaw Puzzle Game Part 2: Document Set Up](http://simonfairbairn.com/developing-jigsaw-puzzle-game-part-2-document-set/) 37 | - [Developing a Jigsaw Puzzle Game Part 3: Scripting Photoshop](http://simonfairbairn.com/developing-jigsaw-puzzle-game-part-3-scripting-photoshop/) 38 | - [Developing a Jigsaw Puzzle Game Part 4: Creating the Model](http://simonfairbairn.com/developing-jigsaw-puzzle-game-part-4-creating-model/) 39 | - [Developing A Jigsaw Puzzle Game Part 5: ECS](http://simonfairbairn.com/developing-a-jigsaw-puzzle-game-part-5-ecs/) 40 | - [Developing a Jigsaw Puzzle Game Part 6: Interaction](http://simonfairbairn.com/developing-a-jigsaw-puzzle-game-part-6-interaction/) 41 | - [Developing a Jigsaw Puzzle Game Part 7: Winning](http://simonfairbairn.com/developing-a-jigsaw-puzzle-game-part-7-winning/) 42 | - [Developing A Jigsaw Puzzle Game Part 8: Rotation](http://simonfairbairn.com/developing-a-jigsaw-puzzle-game-part-8-rotation/) 43 | - [Developing a Jigsaw Puzzle Game Part 9: Improvements](http://simonfairbairn.com/developing-a-jigsaw-puzzle-game-part-9-improvements/) 44 | - [Developing A Jigsaw Puzzle Game Part 10: Final Thoughts](http://simonfairbairn.com/developing-a-jigsaw-puzzle-game-part-10-final-thoughts/) 45 | - [External Libraries with the SpriteKit Visual Editor](http://simonfairbairn.com/external-libraries-spritekit-visual-editor/) 46 | - [SpriteKit Tutorial: Adding Contact Tests](http://simonfairbairn.com/spritekit-tutorial-adding-contact-tests/) 47 | - [Using Different Assets for iPhones and iPads with SpriteKit](http://simonfairbairn.com/different-assets-iphones-ipads-spritekit/) 48 | - [Creating a Generic Node Component in SpriteKit](http://simonfairbairn.com/generic-node-component-spritekit/) 49 | - [Refactoring Components in SpriteKit](http://simonfairbairn.com/refactoring-components-in-spritekit/) 50 | - [15 tips to optimize your SpriteKit game](https://www.hackingwithswift.com/articles/184/tips-to-optimize-your-spritekit-game) 51 | - [5 approach to implement SpriteKit drag](http://eppz.eu/blog/spritekit-drag/) 52 | - [Drag and Drop Sprites in SpriteKit](https://lukasjoswiak.com/drag-and-drop-sprites-in-spritekit/) 53 | - [Sprite Kit Tutorial: Drag and Drop Sprites](https://www.raywenderlich.com/1748-sprite-kit-tutorial-drag-and-drop-sprites) 54 | 55 | ## Stack Overflow 56 | - [How do I drag and drop a sprite in Swift 3.0?](https://stackoverflow.com/questions/39004565/how-do-i-drag-and-drop-a-sprite-in-swift-3-0/39020344) 57 | 58 | #### Kinematics 59 | - [SpriteKit and Inverse Kinematics with Swift](https://www.raywenderlich.com/129895/sprite-kit-inverse-kinematics-swift-2) 60 | 61 | #### Warping Geometry 62 | - [SKWarpGeometryGrid](https://developer.apple.com/documentation/spritekit/skwarpgeometrygrid) 63 | - [Spritekit | Swift3 | Applying SKWarpGeometry to nodes](https://stackoverflow.com/questions/40250935/spritekit-swift3-applying-skwarpgeometry-to-nodes) 64 | - [How to warp a sprite using SKWarpGeometryGrid](https://www.hackingwithswift.com/example-code/games/how-to-warp-a-sprite-using-skwarpgeometrygrid) 65 | - [Demystifying SKWarpGeometry](https://medium.com/@nthState/demystify-skwarpgeometry-7e2ce1148de5) 66 | - [WarpTool with Video](https://medium.com/@nthState/warptool-with-video-4471704857f8) 67 | 68 | ### Shaders 69 | - [Understanding Shaders in SpriteKit](http://battleofbrothers.com/sirryan/understanding-shaders-in-spritekit) 70 | - [Making a Pixel Shader for iOS8 with Sprite Kit](http://www.ymc.ch/de/blog/making-a-pixel-shader-for-ios8-with-sprite-kit/) 71 | - [Fragment Shaders with SpriteKit](http://chrislanguage.blogspot.ru/2015/02/fragment-shaders-with-spritekit.html) 72 | - [SpriteKit shaders](http://endlesswavesoftware.com/blog/spritekit-shaders/) 73 | - [SpriteKit: Shaders & Geometry](http://sound-of-silence.com/?article=20180806) 74 | - [SpriteKit Shatter Effect](http://sound-of-silence.com/?article=20180801) 75 | 76 | ### Video 📹 77 | - [Gesture Recognizers with SpriteKit](https://cartoonsmart.com/introduction-to-sprite-kit-with-swift-3-part-6-gesture-recognizers/) 78 | - [iOS Swift Game Tutorial: SpriteKit Space Game (with Explosions)](https://www.youtube.com/watch?v=cJy61bOqQpg) 79 | - [How to Create a Virtual Joystick with Sprite Kit and Swift 1.2](https://vimeo.com/126616019) 80 | -------------------------------------------------------------------------------- /Lists/StoreKit.md: -------------------------------------------------------------------------------- 1 | # StoreKit 2 | - [Requesting App Ratings and Reviews Tutorial for iOS](https://www.raywenderlich.com/9009-requesting-app-ratings-and-reviews-tutorial-for-ios) 3 | -------------------------------------------------------------------------------- /Lists/SwiftPackageManager.md: -------------------------------------------------------------------------------- 1 | # Swift Package Manager 2 | 3 | ## Articles 4 | - [A first look at Xcode 11’s Swift Package Manager integration](https://wwdcbysundell.com/2019/xcode-swiftpm-first-look/) 5 | - [An Introduction to Swift Package Manager](https://www.raywenderlich.com/1993018-an-introduction-to-swift-package-manager) 6 | - [All about the Swift Package Manager and the Swift toolchain](https://theswiftdev.com/2019/01/14/all-about-the-swift-package-manager-and-the-swift-toolchain/) 7 | - [Swift Package Manager vs CocoaPods vs Carthage for All Platforms](https://www.codementor.io/blog/swift-package-manager-5f85eqvygj) 8 | - [Swift Package Manager builds iOS frameworks](https://badootech.badoo.com/swift-package-manager-builds-ios-frameworks-updated-xcode-10-2-beta-19b3e6741bda) 9 | - [Creating Swift Packages in Xcode](https://useyourloaf.com/blog/creating-swift-packages-in-xcode/) 10 | - [Migrate from CocoaPods to Swift Package Manager](https://zonneveld.dev/swift-package-manager-to-cocoapods/) 11 | - [Add Swift Package Dependency to an iOS Project With Xcode 11](https://medium.com/better-programming/add-swift-package-dependency-to-an-ios-project-with-xcode-11-remote-local-public-private-3a7577fac6b2) 12 | - [Dependency Heck](https://bartstechblog.blogspot.com/2019/10/dependency-heck.html) 13 | - [The Ultimate Guide To Swift Executables ](https://www.fivestars.blog/code/ultimate-guide-swift-executables.html) 14 | - [Creating a command line tool using the Swift Package Manager](https://www.avanderlee.com/swift/command-line-tool-package-manager/) 15 | - [Creating Swift Packages in Xcode](https://useyourloaf.com/blog/creating-swift-packages-in-xcode/) 16 | - [Add resources to Swift packages](https://useyourloaf.com/blog/add-resources-to-swift-packages/) 17 | 18 | ## Stackoverflow 19 | - [Excluding files in Swift Packages](https://stackoverflow.com/questions/57619273/excluding-files-in-swift-packages) 20 | 21 | ## Videos 22 | 23 | ### WWDC 24 | - [Getting to Know Swift Package Manager](https://developer.apple.com/videos/play/wwdc2018/411/) 25 | -------------------------------------------------------------------------------- /Lists/SwiftSyntax.md: -------------------------------------------------------------------------------- 1 | # SwiftSyntax 2 | 3 | - [SwiftPM package for SwiftSyntax library.](https://github.com/apple/swift-syntax) 4 | - [An overview of SwiftSyntax](https://medium.com/@lucianoalmeida1/an-overview-of-swiftsyntax-cf1ae6d53494) 5 | - [Swift​Syntax](https://nshipster.com/swiftsyntax/) 6 | -------------------------------------------------------------------------------- /Lists/TestDrivenDevelopment.md: -------------------------------------------------------------------------------- 1 | # Test Driven Development 2 | - [Test Driven Development Tutorial for iOS: Getting Started](https://www.raywenderlich.com/185640/test-driven-development-tutorial) 3 | - [Don’t Give Up on TDD Before Reaching the Breakthroughs](https://qualitycoding.org/dont-give-up-tdd/) 4 | - [How to TDD in Swift, a step by step guide](https://www.mokacoding.com/blog/step-by-step-tdd-in-swift-part-1/) 5 | -------------------------------------------------------------------------------- /Lists/Testing.md: -------------------------------------------------------------------------------- 1 | # Testing 2 | - [Faster and more robust tests with Xcode 10](https://www.swiftbysundell.com/daily-wwdc/faster-and-more-robust-tests-with-xcode-10) 3 | - [Using Swift #file and #line Literals for Custom XCTest Assertions](https://www.iosdev.recipes/xctest/custom-assertions-file-and-line/) 4 | - [Test doubles in Swift: dummies, fakes, stubs, and spies.](https://www.mokacoding.com) 5 | - [Unit testing retain cycles](https://paul-samuels.com/blog/2018/11/20/unit-testing-retain-cycles/) 6 | - [Improving code testability with Swift protocols](https://medium.com/flawless-app-stories/solving-dependencies-in-swift-9ee6ad4a8941) 7 | - [Unit Testing Dispatch Queues With Dependency Injection](http://www.tekramer.com/unit-testing-dispatch-queues-with-dependency-injection) 8 | - [How to test iOS networking code the easy way](https://www.hackingwithswift.com/articles/153/how-to-test-ios-networking-code-the-easy-way) 9 | - [Swift Codable Testing](https://paul-samuels.com/blog/2019/01/07/swift-codable-testing/) 10 | - [Testing error code paths in Swift](https://www.swiftbysundell.com/posts/testing-error-code-paths-in-swift) 11 | - [Swift weak reference assertion](https://medium.com/@londeix/swift-weak-reference-assertion-cf04fef6c334?sk=4c53201908a22bed1245b38a7f3c5227) 12 | - [Better tests for delegates](http://www.mokacoding.com/blog/better-tests-for-delegates/) 13 | - [Starting Unit Testing with Model layer](https://mecid.github.io/2019/04/24/starting-unit-testing-with-model-layer/) 14 | - [Tips and tricks on unit testing iOS apps](https://www.kairadiagne.com/2019/05/31/ios-testing-tips-and-tricks) 15 | - [XCTest Error Handling Improvements](https://useyourloaf.com/blog/xctest-error-handling-improvements) 16 | - [Testing private methods and variables in Swift](https://www.avanderlee.com/swift/testing-private-methods-variables/) 17 | - [Effective Unit Testing](https://kean.github.io/post/unit-testing) 18 | - [XCTest tips and tricks that can level up your Swift testing](https://masilotti.com/xctest-tips-and-tricks/) 19 | 20 | ## Expectations / Async Testing 21 | - [INVERTED EXPECTATIONS](https://pfandrade.me/blog/inverted-expectations/?utm_campaign=iOS%2BDev%2BWeekly&utm_medium=web&utm_source=iOS%2BDev%2BWeekly%2BIssue%2B392) 22 | - [Testing Asynchronous Operations with Expectations](https://developer.apple.com/documentation/xctest/asynchronous_tests_and_expectations/testing_asynchronous_operations_with_expectations) 23 | - [XCTest​Case / XCTest​Expectation / measure​Block()](https://nshipster.com/xctestcase/) 24 | - [Unit testing asynchronous Swift code](https://www.swiftbysundell.com/posts/unit-testing-asynchronous-swift-code) 25 | 26 | ## Snaphot 27 | - [Higher-Order Snapshot Testing](https://www.pointfree.co/blog/posts/31-higher-order-snapshot-testing) 28 | 29 | ## UIViewController, UICollectionView, UITableView Testing 30 | - [Unit Test - UICollectionView in UIViewController with example](https://zaccc123.github.io/blog/2017/unit-testing-uicollectionview-in-uiviewcontroller-with-example/) 31 | 32 | ## Mocking 33 | - [Mocking in Swift](https://medium.com/@johnsundell/mocking-in-swift-56a913ee7484) 34 | - [Mock-free unit tests in Swift](https://www.swiftbysundell.com/posts/mock-free-unit-tests-in-swift) 35 | - [Mocking With Protocols in Swift](https://www.bignerdranch.com/blog/mocking-with-protocols-in-swift/) 36 | 37 | ## Integration 38 | - [Integration Testing for Memory Leaks](https://developers.soundcloud.com/blog/integration-testing-for-memory-leaks) 39 | - [Integration tests in Swift](https://www.swiftbysundell.com/posts/integration-tests-in-swift) 40 | 41 | ## UI 42 | - [Xcode UI Testing Cheat Sheet](https://www.hackingwithswift.com/articles/148/xcode-ui-testing-cheat-sheet) 43 | - [Automated UI-Testing for iOS Apps](https://medium.com/mobile-quality/automated-ui-testing-for-ios-apps-cfe128ae6411) 44 | - [An introduction to UI Testing on iOS](https://medium.com/exploring-ios/an-introduction-to-ui-testing-on-ios-697526fa0fa9) 45 | - [UI Testing Quick Guide](https://useyourloaf.com/blog/ui-testing-quick-guide/) 46 | - [Easy UITests for your iOS app](https://treatwell.engineering/easy-uitests-for-your-ios-app-6af7aa3457) 47 | - [UI Testing using Page Object pattern in Swift](https://swiftwithmajid.com/2021/03/24/ui-testing-using-page-object-pattern-in-swift/) 48 | - [UI Testing in Swift with XCTest framework](https://swiftwithmajid.com/2021/03/18/ui-testing-in-swift-with-xctest-framework/) 49 | - [Improving iOS UI Testing](https://medium.com/expedia-group-tech/improving-ios-ui-testing-ad55470825b4) 50 | - [Introduction to UI Testing in SwiftUI Using XCTest Framework](https://www.appcoda.com/ui-testing-swiftui-xctest/) 51 | - [Getting started with UI testing for SwiftUI](https://tanaschita.com/20220530-getting-started-with-ui-testing-for-swiftui-with-xctest-framework/) 52 | - [Writing testable code when using SwiftUI](https://www.swiftbysundell.com/articles/writing-testable-code-when-using-swiftui/) 53 | 54 | ## Test Plans 55 | - [Xcode Test Plans](https://useyourloaf.com/blog/xcode-test-plans/) 56 | - [Xcode Test Plans for iOS: Getting Started](https://www.raywenderlich.com/10212963-xcode-test-plans-for-ios-getting-started) 57 | 58 | ## WWDC 59 | - [Testing in Xcode](https://developer.apple.com/videos/play/wwdc2019/413/) 60 | - [Diagnose unreliable code with test repetitions](https://developer.apple.com/videos/play/wwdc2021/10296/) 61 | -------------------------------------------------------------------------------- /Lists/TextKit.md: -------------------------------------------------------------------------------- 1 | # TextKit 2 | 3 | ## Articles 4 | - [Text Kit Tutorial: Getting Started](https://www.raywenderlich.com/5960-text-kit-tutorial-getting-started) 5 | - [iOS Text Kit Basics](https://thoughtbot.com/blog/ios-text-kit-basics) 6 | - [About Text-Kit and UITextView In iOS](https://hackernoon.com/about-text-kit-and-uitextview-in-ios-6b0bf8996c54) 7 | - [Getting to Know TextKit](https://www.objc.io/issues/5-ios7/getting-to-know-textkit/#demo-2-syntax-highlighting) 8 | 9 | ## Documentation 10 | - [TextKit](https://developer.apple.com/documentation/appkit/textkit?changes=latest_minor) 11 | - [Using Text Kit to Draw and Manage Text](https://developer.apple.com/library/archive/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/CustomTextProcessing/CustomTextProcessing.html) 12 | -------------------------------------------------------------------------------- /Lists/UIKit.md: -------------------------------------------------------------------------------- 1 | # UIKit 2 | 3 | ## iOS/iPadOS 15 4 | - [iOS 15: Notable UIKit Additions](https://www.swiftjectivec.com/ios-15-notable-uikit-additions/) 5 | 6 | ## UIKeyCommand 7 | - [How to use UIKeyCommand to add keyboard shortcuts](https://www.hackingwithswift.com/example-code/uikit/how-to-use-uikeycommand-to-add-keyboard-shortcuts) 8 | - [Adding Hardware Keyboard Shortcuts](https://useyourloaf.com/blog/adding-hardware-keyboard-shortcuts/) 9 | - [UIKeyCommands don't work when intermediary viewController contains two viewControllers](https://stackoverflow.com/questions/39216042/uikeycommands-dont-work-when-intermediary-viewcontroller-contains-two-viewcontr) 10 | - [Discoverable Key Commands](https://indiestack.com/2021/03/discoverable-key-commands/) 11 | 12 | ## Scene Delegate 13 | - [The Scene Delegate In Xcode 11 And iOS 13](https://learnappmaking.com/scene-delegate-app-delegate-xcode-11-ios-13/) 14 | - [Understanding the iOS 13 Scene Delegate](https://www.donnywals.com/understanding-the-ios-13-scene-delegate/) 15 | 16 | ## Dark Mode 17 | - [How To Adopt Dark Mode In Your iOS App ](https://www.fivestars.blog/code/ios-dark-mode-how-to.html) 18 | - [Dark mode iOS 13 – How to enable Dark Mode for your iOS application? [iOS Tutorial]](https://www.spaceotechnologies.com/dark-mode-ios-13-tutorial/) 19 | - [Implementing Dark Mode in iOS 13](https://instagram-engineering.com/instagram-darkmode-58802b43c0f2) 20 | - [Supporting Dark Mode on iOS 13](https://schiavo.me/2019/implementing-dark-mode/) 21 | - [Implementing iOS 13 Dark Mode in the new BigCommerce mobile app](https://www.bigeng.io/implementing-ios-13-dark-mode-in-the-new-bigcommerce-mobile-app/) 22 | 23 | ## Context Menus / UIMenu 24 | - [How to Implement iOS 13 Context Menus](https://kylebashour.com/posts/ios-13-context-menus) 25 | - [UIMenu Improvements in iOS 14](https://www.andyibanez.com/posts/uimenu-improvements-ios14/) 26 | - [UIMenu: Comprehensive guide](https://nemecek.be/blog/88/uimenu-comprehensive-guide) 27 | 28 | ## Storyboards 29 | - [Storyboards Tutorial for iOS: Part 1](https://www.raywenderlich.com/160521/storyboards-tutorial-ios-11-part-1) 30 | - [Storyboards Tutorial for iOS: Part 2](https://www.raywenderlich.com/160519/storyboards-tutorial-ios-10-getting-started-part-2) 31 | - [iOS 9: Staying Organized with Storyboard References](https://code.tutsplus.com/tutorials/ios-9-staying-organized-with-storyboard-references--cms-24226) 32 | - [Behaviors in iOS Apps](https://www.objc.io/issues/13-architecture/behaviors/) 33 | - [iOS — Start an app without a storyboard](https://medium.com/ios-os-x-development/ios-start-an-app-without-storyboard-5f57e3251a25) 34 | - [How Do Unwind Segues Work](https://cocoacasts.com/how-do-unwind-segues-work) 35 | - [Unwind Segues Step-by-Step (and 4 Reasons to Use Them)](https://matteomanferdini.com/unwind-segue/) 36 | - [Better dependency injection for Storyboards in iOS13](https://sarunw.com/posts/better-dependency-injection-for-storyboards-in-ios13/) 37 | - [Better Storyboards with Xcode 11](https://useyourloaf.com/blog/better-storyboards-with-xcode-11/) 38 | 39 | ## UIScrollView 40 | - [Understanding UIScrollView](https://oleb.net/blog/2014/04/understanding-uiscrollview/) 41 | - [Scrolling Stack Views](https://useyourloaf.com/blog/scrolling-stack-views/) 42 | 43 | ## UIKit Dynamics 44 | - [UIKit Dynamics in Swift 2.0](https://ahmedabdurrahman.com/2015/10/22/uikit-dynamics-tutorial-in-swift-2-0/) 45 | - [Creating a Magnetic Effect Between UI Components](http://apprize.info/apple/ios_9/88.html) 46 | - [Attachment Behaviour Tutorial in iOS8 with Swift](https://www.ioscreator.com/tutorials/uikit-dynamics-attachment-behaviour-tutorial-ios8-swift) 47 | - [How to make custom UIView animations with UISnapBehavior and UIDynamicItemBehavior](http://sweettutos.com/2015/09/17/uikit-dynamics-series-how-to-make-custom-uiview-animations-with-uisnapbehavior-and-uidynamicitembehavior/) 48 | - [UIKit Dynamics Guide](http://samwize.com/2016/12/19/uikit-dynamics-guide/) 49 | - [UIKit Dynamics Tutorial: Getting Started](https://www.raywenderlich.com/2326-uikit-dynamics-tutorial-getting-started) 50 | - [UIAttachmentBehavior](https://developer.apple.com/documentation/uikit/uiattachmentbehavior) 51 | - [Creating a Custom Dragging Behavior with UIDynamicAnimator](https://www.programming-books.io/essential/ios/creating-a-custom-dragging-behavior-with-uidynamicanimator-f8374e536d994a40bac91bd872d8eb60) 52 | - [UIKit Dynamics Attachment Behaviour iOS Tutorial](https://www.ioscreator.com/tutorials/uikit-dynamics-attachment-behaviour-ios-tutorial) 53 | - [Implement UIKitDynamics for dragging view off screen](https://stackoverflow.com/questions/21325057/implement-uikitdynamics-for-dragging-view-off-screen) 54 | - [Adding Animated Effects to iOS App Using UIKit Dynamics](https://www.appcoda.com/intro-uikit-dynamics-tutorial/) 55 | - [[UIKit Dynamics Series] How to make custom UIView animations with UISnapBehavior and UIDynamicItemBehavior](https://sweettutos.com/2015/09/17/uikit-dynamics-series-how-to-make-custom-uiview-animations-with-uisnapbehavior-and-uidynamicitembehavior/) 56 | - [UIKit Dynamics Tutorial](https://www.raywenderlich.com/2650-uikit-dynamics-tutorial) 57 | - [UIDynamicItemBehavior](https://developer.apple.com/documentation/uikit/uidynamicitembehavior) 58 | - [UIKit Dynamics and Swift Tutorial: Tossing Views](https://www.raywenderlich.com/1860-uikit-dynamics-and-swift-tutorial-tossing-views) 59 | - [UIKit Dynamics: A Guide to Making Things Move](https://arvindravi.com/uikit-dynamics/) 60 | - [UIScrollView's Inertia, Bouncing and Rubber-Banding with UIKit Dynamics](https://holko.pl/2014/07/06/inertia-bouncing-rubber-banding-uikit-dynamics/) 61 | - [Using UIKit Dynamics in Swift to Animate Your Apps](https://www.sitepoint.com/using-uikit-dynamics-swift-animate-apps/) 62 | - [Collision Detection with UIKit Dynamics iOS Tutorial](https://www.ioscreator.com/tutorials/collision-detection-uikit-dynamics-ios-tutorial) 63 | 64 | ## UIViewController 65 | - [Using child view controllers as plugins in Swift](https://www.swiftbysundell.com/posts/using-child-view-controllers-as-plugins-in-swift) 66 | - [View Controller Lifecycle Explained: When to Use viewDidLayoutSubviews](https://www.appcoda.com/view-controller-lifecycle/) 67 | - [View Controllers Explained: Ultimate Guide For iOS & Swift](https://learnappmaking.com/view-controller-uiviewcontroller-ios-swift/#interactive-ui-with-view-controller-actions) 68 | 69 | ### Modals 70 | - [Meet the new bottom sheet in iOS 15](https://nemecek.be/blog/108/meet-the-new-bottom-sheet-in-ios-15) 71 | 72 | ## UISearchController 73 | - [UISearchController Tutorial: Getting Started](https://www.raywenderlich.com/157864/uisearchcontroller-tutorial-getting-started) 74 | 75 | ## UISegmentedControl 76 | - [Exploring the New UISegmentedControl Initializer Available in iOS 14](https://prathamesh.xyz/blog/2020/6/25/exploring-the-new-uisegmentedcontrol-initializer-available-in-ios-14) 77 | 78 | ## UISearchBar 79 | - [New Search APIs in iOS 13](https://www.andyibanez.com/posts/ios13-new-search-apis/) 80 | 81 | ## UIColorWheel 82 | - [iOS 14: Quick dive into the new UIColorWell](https://nemecek.be/blog/34/ios-14-quick-dive-into-the-new-uicolorwell) 83 | 84 | ## UIColorPickerViewController 85 | - [First look at the new UIColorPickerViewController in iOS 14](https://nemecek.be/blog/29/first-look-at-the-new-uicolorpickerviewcontroller-in-ios-14) 86 | 87 | ## UIApplication 88 | - [Open settings app using openSettingsURLString](https://fluffy.es/open-settings-app/) 89 | 90 | ## UIView 91 | - [How to Create Top/Bottom Rounded Corners for Views and Buttons](https://www.appcoda.com/rounded-corners-uiview/) 92 | - [OBJECT LIFE CYCLE: UIVIEW](https://bradbambara.wordpress.com/2015/01/18/object-life-cycle-uiview/) 93 | - [View Lifecycle](https://theswiftpost.co/view-lifecycle/) 94 | - [Advanced UIView shadow effects using shadowPath](https://www.hackingwithswift.com/articles/155/advanced-uiview-shadow-effects-using-shadowpath) 95 | - [UIView styling with functions](https://felginep.github.io/2019-02-19/uiview-styling-with-functions) 96 | 97 | ## UIButton 98 | - [Taking UIKit’s new button configuration API for a spin](https://wwdcbysundell.com/2021/uikits-new-button-configuration-api/) 99 | 100 | ## UITextInput 101 | - [https://nshipster.com/uitextinputpasswordrules/](https://nshipster.com/uitextinputpasswordrules/) 102 | 103 | ## UICollectionView & UITableView 104 | 105 | ### UICollectionView 106 | - [Custom UICollectionViewLayout with Parallax](https://www.raywenderlich.com/156794/custom-uicollectionviewlayout-tutorial-parallax) 107 | - [UICollectionView Custom Layout Tutorial: Pinterest](https://www.raywenderlich.com/164608/uicollectionview-custom-layout-tutorial-pinterest-2) 108 | - [Dynamic Cell Sizing in UICollectionView](https://engineering.shopspring.com/dynamic-cell-sizing-in-uicollectionview-fd95f614ef80) 109 | - [UICollectionView with autosizing cell using autolayout in iOS 9 & 10](https://medium.com/@wasinwiwongsak/uicollectionview-with-autosizing-cell-using-autolayout-in-ios-9-10-84ab5cdf35a2) 110 | - [UICollectionView Self Sizing Cells with Auto Layout](https://stackoverflow.com/questions/25895311/uicollectionview-self-sizing-cells-with-auto-layout) 111 | - [An easier way to dequeue cells in iOS](https://medium.com/over-engineering/an-easier-way-to-dequeue-cells-in-ios-5c8b8de4dfed) 112 | 113 | #### UICollectionViewListCell 114 | - [How to add custom swipe actions to a UICollectionViewListCell?](https://www.donnywals.com/how-to-add-custom-swipe-actions-to-a-uicollectionviewlistcell/) 115 | 116 | #### Cell Registration 117 | - [Configure collection view cells with UICollectionView.CellRegistration](https://www.donnywals.com/configure-collection-view-cells-with-uicollectionview-cellregistration/) 118 | 119 | #### UICollectionViewLayout & UICollectionViewFlowLayout 120 | - [UICollectionView Custom Layout Tutorial: Pinterest](https://www.raywenderlich.com/164608/uicollectionview-custom-layout-tutorial-pinterest-2) 121 | - [Creating A Custom UICollectionViewLayout in Swift ](https://stablekernel.com/creating-a-custom-uicollectionviewlayout-in-swift/) 122 | - [UICollectionView Custom Layout Tutorial: A Spinning Wheel](https://www.raywenderlich.com/107687/uicollectionview-custom-layout-tutorial-spinning-wheel) 123 | - [UICollectionViewLayout](https://deAddveloper.apple.com/documentation/uikit/uicollectionviewlayout) 124 | - [UICollectionViewFlowLayout](https://developer.apple.com/documentation/uikit/uicollectionviewflowlayout) 125 | - [Practical Introduction to Custom UICollectionView Layouts](https://www.netguru.co/codestories/practical-introduction-to-custom-uicollectionview-layouts?utm_campaign=Codestories&utm_source=iosgoodies) 126 | - [Custom Collection View Layouts](https://www.objc.io/issues/3-views/collection-view-layouts/) 127 | - [Expanding Cells in iOS Collection Views](https://www.raywenderlich.com/7246-expanding-cells-in-ios-collection-views) 128 | 129 | #### UICompositionalLayout 130 | - [Diffable Data Sources & Compositional Layouts Part 1/2](https://medium.com/@yoellev8/diffable-data-sources-compositional-layouts-part-1-2-90f53f120fdc) 131 | - [Diffable Data Sources & Compositional Layouts Part 2](https://medium.com/@yoellev8/diffable-data-sources-compositional-layouts-part-2-b0c8d2021ef6) 132 | - [All you need to know about UICollectionViewCompositionalLayout](https://medium.com/flawless-app-stories/all-what-you-need-to-know-about-uicollectionviewcompositionallayout-f3b2f590bdbe) 133 | 134 | ### UITableView 135 | - [iOS: How to build a Table View with multiple cell types](https://medium.com/ios-os-x-development/ios-how-to-build-a-table-view-with-multiple-cell-types-2df91a206429) 136 | - [Forget datasource & delegate: a new approach to UITableView](http://danielemargutti.com/2017/10/08/forget-datasource-delegates-a-new-approach-to-uitableview/) 137 | - [Enum-Driven TableView Development](https://www.raywenderlich.com/188692/enum-driven-tableview-development) 138 | - [Self-Sizing Table View Cells in Practice](https://pspdfkit.com/blog/2018/self-sizing-table-view-cells/) 139 | - [Slot-based UI development in Swift](https://www.swiftbysundell.com/posts/slot-based-ui-development-in-swift) 140 | - [Solving duplicated / repeating cells in Table view](https://fluffy.es/solve-duplicated-cells/) 141 | - [How To Make a Table View Drop-In Card Animation](https://www.raywenderlich.com/2315-how-to-make-a-table-view-drop-in-card-animation) 142 | - [How to expand and contract height of a UITableView cell when tapped](https://fluffy.es/how-to-expand-tableview-cell/) 143 | 144 | ### Data Sources 145 | - [A first look at the new diffable data sources for table views and collection views](https://wwdcbysundell.com/2019/diffable-data-sources-first-look/) 146 | 147 | ## UITabBarController 148 | - [Animating tab bar buttons on tap](https://blog.kulman.sk/animating-tab-bar-buttons/) 149 | 150 | ## UIPageViewController 151 | - [How to create a page curl effect using UIPageViewController](https://www.hackingwithswift.com/example-code/uikit/how-to-create-a-page-curl-effect-using-uipageviewcontroller) 152 | - [How To Create UIPageViewController Using Storyboard](https://www.appcoda.com/uipageviewcontroller-storyboard-tutorial/) 153 | 154 | ## UITableView & UICollectionView 155 | - [Smooth Scrolling in UITableView and UICollectionView](https://medium.com/capital-one-developers/smooth-scrolling-in-uitableview-and-uicollectionview-a012045d77f) 156 | - [Boost Smooth Scrolling with iOS 10 Pre-Fetching API](https://medium.com/capital-one-developers/boost-smooth-scrolling-with-ios-10-pre-fetching-api-818c25cd9c5d) 157 | 158 | ## UIStackView 159 | - [UIStackView Tutorial: Introducing Stack Views](https://www.raywenderlich.com/160646/uistackview-tutorial-introducing-stack-views-2) 160 | - [How StackView help your iOS app to be more dynamic](https://blog.customerly.io/engineering/2018/05/14/how-stackview-help-your-ios-app-to-be-more-dynamic) 161 | 162 | ## UIImageView 163 | - [How to Mask an UIImageView](https://stackoverflow.com/questions/5757386/how-to-mask-an-uiimageview) 164 | - [How to implement rounded corner image view with shadow](https://fluffy.es/rounded-corner-shadow/) 165 | - [Animated launch screen using a GIF in iOS](https://www.amerhukic.com/animating-launch-screen-using-gif) 166 | 167 | ## UISplitViewController 168 | - [UISplitViewController Tutorial: Getting Started](https://www.raywenderlich.com/173753/uisplitviewcontroller-tutorial-getting-started-2) 169 | 170 | ## UIRefreshControl 171 | - [How to Add Pull-to-Refresh to a Table View or Collection View](https://cocoacasts.com/how-to-add-pull-to-refresh-to-a-table-view-or-collection-view) 172 | - [Custom bottom Refresh control for UICollectionView](http://slicode.com/bottom-refresh-control-uicollectionview/) 173 | 174 | ## UIScrollView 175 | - [Is it possible for UIStackView to UIScrollView?](https://stackoverflow.com/questions/31668970/is-it-possible-for-uistackview-to-scroll) 176 | - [Understanding UIScrollView](https://oleb.net/blog/2014/04/understanding-uiscrollview/) 177 | 178 | ## UIVisualEffectView 179 | - [UIVisualEffectView Tutorial: Getting Started](https://www.raywenderlich.com/167-uivisualeffectview-tutorial-getting-started) 180 | - [UIVisualEffect – Swift Tutorial](http://nikolakirev.com/blog/uivisualeffect-swift-tutorial) 181 | 182 | ## UIImagePickerController 183 | - [Using UIImagePickerController in landscape orientation](https://stackoverflow.com/questions/19374237/using-uiimagepickercontroller-in-landscape-orientation) 184 | - [Choosing Images with UIImagePickerController in Swift](http://www.codingexplorer.com/choosing-images-with-uiimagepickercontroller-in-swift/) 185 | - [How to Use UIImagePickerController for a Camera and Photo Library in Swift 3.0.](https://makeapppie.com/2016/06/28/how-to-use-uiimagepickercontroller-for-a-camera-and-photo-library-in-swift-3-0/) 186 | 187 | ## UIMotionEffect 188 | - [UIMotionEffect: Easily adding depth to your UI](https://nachbaur.com/2019/04/24/uimotioneffects/) 189 | 190 | ## Text 191 | - [String Rendering](https://www.objc.io/issues/9-strings/string-rendering/) 192 | 193 | ### UILabel 194 | - [Multiple Font, Style for UILable Text using NSAttributed String.](https://medium.com/swift-india/multiple-font-style-for-uilable-text-using-nsattributed-string-3f121036a533) 195 | - [Animated UILabel with CADisplayLink](https://medium.com/@duwei199714/animated-uilabel-with-cadisplaylink-9a761d693ca5) 196 | 197 | ### UITextView 198 | - [CUSTOMIZE A TEXT VIEW](http://theapplady.net/customize-a-text-view/) 199 | - [How to limit the number of characters in a UITextField or UITextView](https://www.hackingwithswift.com/example-code/uikit/how-to-limit-the-number-of-characters-in-a-uitextfield-or-uitextview) 200 | - [Scroll UITextView to specific text](https://stackoverflow.com/questions/50190942/scroll-uitextview-to-specific-text) 201 | - [Scroll text to specific point in UITextView depending on font size](https://stackoverflow.com/questions/52080711/scroll-text-to-specific-point-in-uitextview-depending-on-font-size) 202 | 203 | ## UINavigationBar 204 | - [Navigation Bar Customisation. Part 1 - The Basics.](https://dmtopolog.com/navigation-bar-customization/) 205 | - [Navigation Bar Customisation. Part 2 - UINavigationBarAppearance and proper view/model separation.](https://dmtopolog.com/navigation-bar-customisation-2/) 206 | - [Swift 4 recipe: Using attributed string in navigation bar title](https://medium.com/@dushyant_db/swift-4-recipe-using-attributed-string-in-navigation-bar-title-39f08f5cdb81) 207 | 208 | # Layout 209 | - [Manual UIKit Layout](https://www.highcaffeinecontent.com/blog/20210513-Manual-UIKit-Layout) 210 | 211 | ## Auto Layout 212 | - [Adaptive Layout Tutorial in iOS 11: Getting Started](https://www.raywenderlich.com/162311/adaptive-layout-tutorial-ios-11-getting-started) 213 | - [Auto Layout Tutorial in iOS 11: Getting Started](https://www.raywenderlich.com/160527/auto-layout-tutorial-ios-11-getting-started) 214 | - [iOS Auto Layout tutorial programmatically](https://theswiftdev.com/2017/10/31/ios-auto-layout-tutorial-programmatically/) 215 | - [Swift | Adding constraints programmatically](https://stackoverflow.com/questions/26180822/swift-adding-constraints-programmatically) 216 | - [Apple's Auto Layout Guide](https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/AutolayoutPG/) 217 | - [Auto Layout life cycle](https://www.vadimbulavin.com/view-auto-layout-life-cycle/) 218 | - [Power-Up Your Anchors](https://pedrommcarrasco.github.io/posts/power-up-your-anchors/) 219 | - [Mastering iOS auto layout anchors programmatically from Swift](https://theswiftdev.com/2018/06/14/mastering-ios-auto-layout-anchors-programmatically-from-swift/) 220 | - [Building DSLs in Swift](https://www.swiftbysundell.com/posts/building-dsls-in-swift) 221 | - [Dynamic Text Resizing in Swift](https://medium.com/@joncardasis/dynamic-text-resizing-in-swift-3da55887beb3) 222 | - [How to make Auto Layout more convenient in iOS](https://medium.com/flawless-app-stories/how-to-make-auto-layout-more-convenient-in-ios-df3b42fed37f) 223 | - [Demystifying iOS Layout](http://tech.gc.com/demystifying-ios-layout/) 224 | - [Animate Cell Shrinking On Touch](https://medium.com/@aunnnn/how-to-animate-cell-shrinking-on-touch-aa23dddf333a) 225 | - [Animate AutoLayout Constraints Separately](https://medium.com/@aunnnn/animate-autolayout-constraints-separately-52eeb989a5cc) 226 | 227 | ## UI & Design 228 | - [Replicating Apple Design Awarded Applications](https://blog.exyte.com/replicating-apple-design-awarded-applications-70e5df4c4b94) 229 | - [All Thumbs, Why Reach Navigation Should Replace the Navbar in iOS Design](https://medium.com/tall-west/lets-ditch-the-nav-bar-3692cb17cc67) 230 | - [Development Tutorial for iPhone X](https://www.raywenderlich.com/173928/develop-design-iphone-x) 231 | - [How to fix wrong status bar orientation in iOS](https://medium.com/fantageek/how-to-fix-wrong-status-bar-orientation-in-ios-f044f840b9ed) 232 | 233 | ## Haptic Feedback 234 | - [Creating an Immersive User Experience with Haptic Feedback in iOS](http://www.appcoda.com/haptic-feedback/) 235 | - [Haptic Feedback makes you vibrate!](https://engineering.nodesagency.com/articles/iOS/Haptic-feedback-makes-you-vibrate/) 236 | - [Haptic feedback in iOS apps](https://mecid.github.io/2019/05/09/haptic-feedback-in-ios-apps/) 237 | 238 | ## Touches and Gestures 239 | - [UIGestureRecognizer Tutorial: Getting Started](https://www.raywenderlich.com/76020/using-uigesturerecognizer-with-swift-tutorial) 240 | - [Dragging Views with Gestures Tutorial in iOS8 with Swift](https://www.ioscreator.com/tutorials/dragging-views-gestures-tutorial-ios8-swift) 241 | - [Detecting user touch of UIView inside of UIScrollView](https://stackoverflow.com/questions/25061732/xcode-swift-detecting-user-touch-of-uiview-inside-of-uiscrollview) 242 | - [How To Rotate a 3D Object Using Touches with OpenGL](https://www.raywenderlich.com/12667/how-to-rotate-a-3d-object-using-touches-with-opengl) 243 | - [Event Handling Guide for UIKit Apps](https://developer.apple.com/library/content/documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/index.html#//apple_ref/doc/uid/TP40009541) 244 | - [UIGestureRecognizer Getting Started](https://www.raywenderlich.com/162745/uigesturerecognizer-tutorial-getting-started) 245 | - [Hit-Testing in iOS](http://smnh.me/hit-testing-in-ios/) 246 | - [Stopping Tap Gesture from bubbling to child controls](https://bencoding.com/2017/02/27/stopping-tap-gesture-from-bubbling-to-child-controls/) 247 | - [Why is there a "lag" in iOS gesture detection near the edges of the screen?](https://blog.kulman.sk/why-ios-gestures-lag-at-the-screen-edges/) 248 | - [Drag Views with Gestures iOS Tutorial](https://www.ioscreator.com/tutorials/drag-views-gestures-ios-tutorial) 249 | - [Move UIView within parent view using pangesture](https://stackoverflow.com/questions/41032492/move-uiview-within-parent-view-using-pangesture) 250 | - [How to resize UIView by dragging from its edges?](https://stackoverflow.com/questions/8460119/how-to-resize-uiview-by-dragging-from-its-edges) 251 | - [Working With Pan Gesture Recognizers In Swift](https://cocoacasts.com/swift-fundamentals-working-with-pan-gesture-recognizers-in-swift) 252 | 253 | ## UIResponder / Responder Chain 254 | - [Open URLs using the iOS UIResponder chain in Swift](https://medium.com/flawless-app-stories/open-urls-using-the-ios-uiresponder-chain-in-swift-8ca8bc072686) 255 | - [Using Responders and the Responder Chain to Handle Events](https://developer.apple.com/documentation/uikit/touches_presses_and_gestures/using_responders_and_the_responder_chain_to_handle_events) 256 | - [Using The Responder Chain](https://useyourloaf.com/blog/using-the-responder-chain/) 257 | - [iOS Responder Chain: UIResponder, UIEvent, UIControl and uses](https://swiftrocks.com/understanding-the-ios-responder-chain.html) 258 | - [How to pass UI events through views in iOS](https://medium.com/@nguyenminhphuc/how-to-pass-ui-events-through-views-in-ios-c1be9ab1626b) 259 | 260 | ## Notifications Framework (Local & Remote) 261 | - [Introduction to User Notifications Framework in iOS 10](https://www.appcoda.com/ios10-user-notifications-guide/) 262 | - [Basic Push Notifications in iOS 10 and Swift](https://makeapppie.com/2017/01/03/basic-push-notifications-in-ios-10-and-swift/) 263 | - [Push Notifications Tutorial: Getting Started](https://www.raywenderlich.com/156966/push-notifications-tutorial-getting-started) 264 | - [Local and Remote Notifications Overview](https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/) 265 | - [Scheduling Local Notifications With Swift](https://learnappmaking.com/local-notifications-scheduling-swift/) 266 | 267 | ## Apple Pencil 268 | - [Apple Pencil Tutorial: Getting Started](https://www.raywenderlich.com/121834/apple-pencil-tutorial) 269 | - [FurrySketch: Hirsute Drawing with an Apple Pencil](https://dzone.com/articles/furrysketch-hirsute-drawing-with-an-apple-pencil) 270 | 271 | ## Animations 272 | - [What’s New In UIKit Animations In Swift 4](https://digitalleaves.com/blog/2017/07/whats-new-animations-swift-4/) 273 | - [Creating Great Animations On iOS](https://www.youtube.com/watch?v=1ANvelwta_Q) 274 | - [Building a declarative animation framework in Swift — Part 1](https://medium.com/@johnsundell/building-a-declarative-animation-framework-in-swift-part-1-26e83a2b0819) 275 | - [Building a declarative animation framework in Swift — Part 2](https://medium.com/@johnsundell/building-a-declarative-animation-framework-in-swift-part-2-3444a55140d) 276 | - [Prototyping Animated Transitions in Swift](http://mathewsanders.com/animated-transitions-in-swift/) 277 | - [Prototyping Animations in Swift #1](http://mathewsanders.com/prototyping-iOS-iPhone-iPad-animations-in-swift/) 278 | - [Prototyping Animations in Swift #2](http://mathewsanders.com/animations-in-swift-part-two/) 279 | - [iOS Animation Tutorial: Getting Started](https://www.raywenderlich.com/173544/ios-animation-tutorial-getting-started-3) 280 | - [How to animate views using animate(withDuration:)](https://www.hackingwithswift.com/example-code/uikit/how-to-animate-views-using-animatewithduration) 281 | - [UIView Animation Sequencing and Grouping Techniques](https://www.raizlabs.com/dev/2015/01/uiview-animation-sequencing-and-grouping-techniques/) 282 | - [Quick Guide To Property Animators](https://useyourloaf.com/blog/quick-guide-to-property-animators/) 283 | - [Elegantly chaining UIViewPropertyAnimators](https://twittemb.github.io/swift/animations/reactive%20programming/rxswift/2018/03/24/elegantly-chaining-uiviewpropertyanimators/) 284 | - [Stop nesting animation blocks](http://commandshift.co.uk/blog/2014/04/01/stop-nesting-animation-blocks/) 285 | - [iOS – Learn to Properly chain UIView animations with animateKeyframes](https://equaleyes.com/blog/2017/12/21/ios-learn-to-properly-chain-uiview-animations-with-animatekeyframes/) 286 | - [iOS UIView chained animations](https://medium.com/@ernesto.torres/ios-uiview-chained-animations-f8fadcc16be5) 287 | - [UIView Animation Options Reference Guide](https://medium.com/@apmason/uiview-animation-options-9510832eedba) 288 | - [Animatable Properties](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/CoreAnimation_guide/AnimatableProperties/AnimatableProperties.html) 289 | - [Animating changes in UITableView and UICollectionView](https://mecid.github.io/2019/03/13/animating-changes-in-uitableview-and-uicollectionview/) 290 | - [Adding a wiggle animation to a UIBarButtonItem](http://blog.hellocode.co/post/wiggle-animation-uibarbuttonitem/) 291 | - [THE DIFFERENCE BETWEEN ANIMATEWITHDURATION AND TRANSITIONWITHVIEW](http://www.developerdave.co.uk/2015/09/the-difference-between-animatewithduration-and-transitionwithview/) 292 | - [How to implement interactive animations with Swift’s UIViewPropertyAnimator](https://www.freecodecamp.org/news/interactive-animations-with-swifts-uiviewpropertyanimator-284262530a0a/) 293 | - [Animations Explained](https://www.objc.io/issues/12-animations/animations-explained/) 294 | 295 | ### Transitions 296 | - [Fantastic iOS Transitions Collection](https://github.com/onmyway133/fantastic-ios-animation/blob/master/Animation/transition.md) 297 | - [iOS Animation Tutorial: Custom View Controller Presentation Transitions](https://www.raywenderlich.com/146692/ios-animation-tutorial-custom-view-controller-presentation-transitions-2) 298 | - [Creating Custom UIViewController Transitions](https://www.raywenderlich.com/110536/custom-uiviewcontroller-transitions) 299 | - [INTERACTIVE TRANSITIONS](http://www.thinkandbuild.it/interactive-transitions/) 300 | - [View Controller Transitions #1](https://www.objc.io/issues/5-ios7/view-controller-transitions/) 301 | - [View Controller Transitions #2)](http://mathewsanders.com/custom-menu-transitions-in-swift/) 302 | - [View Controller Transitions #3](http://mathewsanders.com/interactive-transitions-in-swift/) 303 | - [View Controller Transitions](https://www.objc.io/issues/5-ios7/view-controller-transitions/) 304 | - [iOS Animation Tutorial: Custom View Controller Presentation Transitions](https://www.raywenderlich.com/173576/ios-animation-tutorial-custom-view-controller-presentation-transitions-3) 305 | - [Introduction to Custom View Controller Transitions and Animations](https://www.appcoda.com/custom-view-controller-transitions-tutorial/) 306 | - [How To Make A UIViewController Transition Animation Like in the Ping App](https://www.raywenderlich.com/167198/make-uiviewcontroller-transition-animation-like-ping-app) 307 | - [Custom Navigation Transitions, Part I: An Introduction](https://devsign.co/notes/navigation-transitions-1) 308 | - [Custom Navigation Transitions, Part II: A Simple Modal](https://devsign.co/notes/navigation-transitions-2) 309 | - [Custom Navigation Transitions, Part III: A Complex Push/Pop Animation](https://devsign.co/notes/navigation-transitions-iii) 310 | - [Custom Navigation Transitions, Part IV: An Interactive Pop Transition](https://devsign.co/notes/navigation-transitions-iv) 311 | - [Learn iOS Custom View Controller Animation Transition once for all!](https://itnext.io/learn-ios-custom-view-controller-animation-transition-once-for-all-9db80ad447e) 312 | 313 | ## UIPresentationController 314 | - [Custom Presentations and Transitions](https://kylebashour.com/posts/custom-view-controller-presentation-tips) 315 | - [Custom presentations using UIPresentationController in Swift](http://zappdesigntemplates.com/custom-presentations-using-uipresentationcontroller-swift/) 316 | - [UIPresentationController Tutorial: Getting Started](https://www.raywenderlich.com/915-uipresentationcontroller-tutorial-getting-started) 317 | - [UIPresentationController](https://developer.apple.com/documentation/uikit/uipresentationcontroller) 318 | - [UIPresentationController Tutorial: Getting Started](https://www.raywenderlich.com/3636807-uipresentationcontroller-tutorial-getting-started) 319 | 320 | ## Interface Builder 321 | - [Interface Builder is declarative too. Where’s the love?](https://aplus.rs/2019/interface-builder-is-declarative-too/) 322 | 323 | ## Custom Components 324 | - [Creating a 3D Tag Cloud](https://iosguy.com/2010/11/17/creating-a-3d-tag-cloud/) 325 | - [Building a Tinder-esque Card Interface](https://medium.com/@phillfarrugia/building-a-tinder-esque-card-interface-5afa63c6d3db) 326 | - [Stop Xcode from constantly rebuilding your project because of @IBDesignable](http://holko.pl/2017/11/15/rebuilding-ibdesignables/) 327 | - [How to Create Your Own Slide-Out Navigation Panel in Swift](https://www.raywenderlich.com/177353/create-slide-navigation-panel-swift) 328 | - [Create your own custom overlay view in Swift](http://zappdesigntemplates.com/create-your-own-overlay-view-in-swift/) 329 | - [iOS Tutorial: How to make a customizable interactive slide-out menu in Swift](https://www.thorntech.com/2016/03/ios-tutorial-make-interactive-slide-menu-swift/) 330 | - [The iOS Menu](https://codea.io/blog/the-ios-menu/) 331 | - [Detailing the iOS Menu](https://codea.io/blog/detailing-the-ios-menu/) 332 | - [Custom Controls](https://www.objc.io/issues/3-views/custom-controls/) 333 | - [Functional views](https://medium.com/izettle-engineering/functional-views-d4fbedd105da) 334 | 335 | ### Custom View from XIB/NIB 336 | - [Swift 3 — Creating a custom view from a xib](https://medium.com/@brianclouser/swift-3-creating-a-custom-view-from-a-xib-ecdfe5b3a960) 337 | - [iOS | Swift: Creating a Custom View with xib](https://medium.com/@umairhassanbaig/ios-swift-creating-a-custom-view-with-xib-ace878cd41c5) 338 | 339 | ## Drag & Drop 340 | - [Sneak peek into iOS 11 Drag & Drop API using Swift](https://medium.com/flawless-app-stories/sneak-peek-into-ios-11-drag-drop-api-using-swift-14170021a671) 341 | - [Building a Trello-like iOS App with Drag & Drop API](https://www.appcoda.com/drag-and-drop-api/) 342 | - [Drag and Drop Tutorial for iOS](https://www.raywenderlich.com/3121851-drag-and-drop-tutorial-for-ios) 343 | - [Drag and Drop on iOS using Swift](https://jayeshkawli.ghost.io/drag-and-drop-on-ios-using-swift/) 344 | - [Drag & Drop](https://www.raywenderlich.com/books/catalyst-by-tutorials/v2.0/chapters/3-drag-drop) 345 | - [Drag UIView between UIViews](https://stackoverflow.com/questions/3842447/drag-uiview-between-uiviews) 346 | 347 | ### Docs 348 | - [Drag and Drop](https://developer.apple.com/documentation/uikit/drag_and_drop) 349 | - [Adopting Drag and Drop in a Custom View](https://developer.apple.com/documentation/uikit/drag_and_drop/adopting_drag_and_drop_in_a_custom_view) 350 | - [Making a View into a Drop Destination](https://developer.apple.com/documentation/uikit/drag_and_drop/making_a_view_into_a_drop_destination) 351 | - [Making a View into a Drag Source](https://developer.apple.com/documentation/uikit/drag_and_drop/making_a_view_into_a_drag_source) 352 | 353 | ### Videos 354 | - [UIView -1.How to drag and drop a view](https://www.youtube.com/watch?v=gQVcIEbBIck) 355 | 356 | ## UIFieldBehavior 357 | - [UIFieldBehavior - NSHipster](https://nshipster.com/uifieldbehavior/) 358 | 359 | ## State Restoration 360 | - [Restoring Your UI With State Restoration](https://agostini.tech/2018/11/25/restoring-your-ui-with-state-restoration/) 361 | - [State Restoration With Swift Structs](https://useyourloaf.com/blog/state-restoration-with-swift-structs/) 362 | 363 | ## UIBezierPath 364 | - [UIBezierPath Lesson: How to draw Cuphead on layers](https://medium.com/flawless-app-stories/uibezierpath-lesson-how-to-draw-cuphead-on-layers-d164fd23cf61) 365 | 366 | ## Other 367 | - [iOS 12: Notable UIKit Additions](https://medium.com/the-traveled-ios-developers-guide/ios-12-notable-uikit-additions-b50beb0e3729) 368 | - [Background Modes Tutorial: Getting Started](https://www.raywenderlich.com/5817-background-modes-tutorial-getting-started) 369 | - [Application Lifecycle](https://theswiftpost.co/application-lifecycle/) 370 | - [Upside Down and Rotating iPhones](https://useyourloaf.com/blog/upside-down-and-rotating-iphones/) 371 | - [Quick Trick to Make Your App Snappier](https://medium.com/@michael.eisel/quick-trick-to-make-your-app-snappier-f2413bf78318) 372 | - [iOS 11: Notable UIKit Additions](https://www.swiftjectivec.com/ios-11-notable-uikit-additions/) 373 | - [iOS 12: Notable UIKit Additions](https://www.swiftjectivec.com/ios-12-notable-uikit-additions/) 374 | - [iOS 13: Notable UIKit Additions](https://www.swiftjectivec.com/ios-13-notable-uikit-additions/) 375 | - [4 breaking changes to check before building your app for iOS 13](https://fluffy.es/4-ios13-breaking-changes/) 376 | - [HEIC Image Compression for iOS](https://www.raywenderlich.com/4726843-heic-image-compression-for-ios?utm_campaign=iOS%2BDev%2BWeekly&utm_medium=web&utm_source=iOS%2BDev%2BWeekly%2BIssue%2B424) 377 | - [iOS Lifecycle When Dismissing a Modal View With .pageSheet in iOS 13](https://medium.com/better-programming/the-lifecycle-and-control-when-dismissing-a-modal-view-with-pagesheet-in-ios-13-4bbd1e3e1ec7) 378 | - [Automatic Keyboard Avoidance for UIKit](https://swiftsenpai.com/development/uikit-keyboard-avoidance/) 379 | 380 | -------------------------------------------------------------------------------- /Lists/UX.md: -------------------------------------------------------------------------------- 1 | ## UX 2 | - [Honing Your Mobile Apps With Savvy User Research](https://www.raywenderlich.com/173788/honing-mobile-apps-user-research) 3 | - [UXPlanet is a huge resource that contains everything you need to know about user experince.](https://uxplanet.org) 4 | - [Ray Wenderlich is a one of the biggest iOS communities out there. They have a lot of free content as well as paid books, videos and tutorials. The quality of the material is one of the best that you can find.](https://www.raywenderlich.com) 5 | - [The State of UX in 2019](https://trends.uxdesign.cc/2019) 6 | - [Animations in iOS: 30 beautiful examples](https://medium.com/flawless-app-stories/animations-in-ios-30-beautiful-examples-80cb2663c559) 7 | - [Disney’s motion principles in designing interface animations](https://uxplanet.org/disneys-motion-principles-in-designing-interface-animations-9ac7707a2b43) 8 | - [Designing 3D models for AR apps (ARKit)](https://blog.novoda.com/designing-for-ar-with-arkit/) 9 | - [6 Interesting Concepts for AR Experiences](http://babich.biz/ar-experiences/) 10 | -------------------------------------------------------------------------------- /Lists/Vision.md: -------------------------------------------------------------------------------- 1 | 2 | ## Vision framework 3 | 4 | ### Reading 📖 5 | - [iOS 11 Tutorial: Vision framework](https://medium.com/@kravik/ios-11-tutorial-vision-framework-3c836d5ecadd) 6 | - [Core ML and Vision: Machine Learning in iOS 11 Tutorial](https://www.raywenderlich.com/164213/coreml-and-vision-machine-learning-in-ios-11-tutorial) 7 | - [Native Machine Learning and Machine Vision in iOS 11](https://hackernoon.com/swift-tutorial-native-machine-learning-and-machine-vision-in-ios-11-11e1e88aa397) 8 | - [Swift World: What’s new in iOS 11 — Vision](https://medium.com/compileswift/swift-world-whats-new-in-ios-11-vision-456ba4156bad) 9 | - [Using Vision Framework for Text Detection in iOS 11](http://www.appcoda.com/vision-framework-introduction/) 10 | - [Getting Started With Vision Framework](https://github.com/jeffreybergier/Blog-Getting-Started-with-Vision) 11 | - [FACE AND FACE’S LANDMARKS DETECTION USING VISION FRAMEWORK IN IOS 11](https://www.thedroidsonroids.com/blog/face-and-faces-landmarks-detection-using-vision-framework-in-ios-11) 12 | - [Build Your Customized Vision App in 10 Minutes](https://medium.com/deep-learning-turkey/build-your-customized-vision-app-in-10-minutes-eb0b141c3742) 13 | 14 | ### Code 💻 15 | - [Face Cropper: Crop faces, inside of your image, with iOS 11 Vision api.](https://github.com/KimDarren/FaceCropper) 16 | - [Hello Vision: Vision framework example](https://github.com/SwiftBrain/HelloVision) 17 | - [iOS11 demo application for flower classification](https://github.com/cocoa-ai/FlowersVisionDemo) 18 | - [iOS11 demo application for dominant objects detection](https://github.com/cocoa-ai/InceptionVisionDemo) 19 | 20 | ### Video 📹 21 | - [Super Impressive and Easy Face Detection using Vision API in Swift 4](https://www.youtube.com/watch?v=d0U5j89M6aI) 22 | -------------------------------------------------------------------------------- /Lists/WWDC.md: -------------------------------------------------------------------------------- 1 | # WWDC 2 | 3 | ## 2020 4 | - [WWDC 2020 Swift Student Challenge Submissions](https://wwdc.github.io/2020/) 5 | - [My SwiftUI wishlist for WWDC 2020](https://vmanot.com/my-swiftui-wishlist-for-wwdc-2020) 6 | - [SwiftUI wishlist for WWDC20](https://swiftwithmajid.com/2020/06/10/swiftui-wishlist-for-wwdc20/) 7 | - [Non-SwiftUI wishlist for WWDC 2020](https://nemecek.be/blog/27/non-swiftui-wishlist-for-wwdc-2020) 8 | - [Opportunities for watchOS 7](https://www.david-smith.org/blog/2020/05/15/opportunities-for-watchos-7/) 9 | - [My WWDC 2020 Wishlist](https://beckyhansmeyer.com/2020/05/13/my-wwdc-2020-wishlist/) 10 | 11 | ## 2019 12 | - [Preparing a code base for WWDC](https://wwdcbysundell.com/2019/preparing-a-code-base/) 13 | - [WWDC 2019 - The Things You May Have Missed](https://patrickbalestra.com/blog/2019/06/07/wwdc-2019-the-things-you-may-have-missed.html) 14 | - [WWDC 2019](https://nshipster.com/wwdc-2019/) 15 | - [WWDC 2019 Viewing Guide](https://useyourloaf.com/blog/wwdc-2019-viewing-guide/) 16 | -------------------------------------------------------------------------------- /Lists/Xcode.md: -------------------------------------------------------------------------------- 1 | # Xcode 2 | 3 | - [Dividing and Conquering Your Xcode Projects with Targets](https://www.appcoda.com/xcode-targets/) 4 | - [Xcode Project vs. Xcode Workspace - Differences](https://stackoverflow.com/questions/21631313/xcode-project-vs-xcode-workspace-differences) 5 | - [Multi Project Setups](https://objectivetidbits.com/multi-project-setups-fee9d235d857) 6 | - [A dive into Xcode projects and workspaces](https://www.mokacoding.com/blog/xcode-projects-and-workspaces/) 7 | - [Bundles and Packages](https://nshipster.com/bundles-and-packages/) 8 | - [Cheat sheet examples for Xcode and Swift development](https://www.avanderlee.com/workflow/cheat-sheet-xcode-swift/) 9 | - [Fixing Vague Swift Error Logs](https://kristina.io/fixing-vague-swift-error-logs/) 10 | - [How Xcode Indexing Works and How You Can Fix IDE Problems with Your Projects](https://pspdfkit.com/blog/2019/how-xcode-indexing-works-and-how-to-solve-problems/) 11 | - [one small change for xcode, one giant leap for productivity](https://mohsen.dev/2019/05/19/one-small-change-for-xcode-one-giant-leap-for-productivity.html?utm_campaign=iOS%2BDev%2BWeekly&utm_medium=web&utm_source=iOS%2BDev%2BWeekly%2BIssue%2B409) 12 | - [Unused images and resources clean up in Xcode](https://www.avanderlee.com/optimization/unused-images-clean-up/) 13 | - [Xcode Hacks to Make Your Life Easier](https://medium.com/better-programming/xcode-hacks-cf32434cbc2) 14 | - [5 Xcode breakpoints tips you might not yet know](https://www.avanderlee.com/debugging/xcode-breakpoints-tips/) 15 | - [Become more productive and efficient in Xcode](https://medium.com/flawless-app-stories/become-more-productive-and-efficient-in-xcode-e2b5bc29f1ab) 16 | - [How to create code snippets in Xcode](https://sarunw.com/posts/how-to-create-code-snippets-in-xcode/) 17 | - [Xcode 11 Git Stashing](https://useyourloaf.com/blog/xcode-11-git-stashing/) 18 | - [How to set up iOS environments: develop, staging, and production](https://sarunw.com/posts/how-to-set-up-ios-environments/) 19 | 20 | ## Settings 21 | - [Using launch arguments / environment variables to simulate in-app purchase purchased and etc](https://fluffy.es/launch-arguments-environment-variables/) 22 | - [Improve your Xcode (Swift) Compile Time](https://medium.com/flawless-app-stories/improve-your-xcode-swift-compile-time-d9c1d3786473) 23 | - [Analyzing and Improving Build times in iOS](https://medium.com/flawless-app-stories/analyzing-and-improving-build-times-in-ios-5e2b77ef408e) 24 | - [Build performance analysis for speeding up Xcode builds](https://www.avanderlee.com/optimization/analysing-build-performance-xcode/) 25 | - [Measuring Swift compile times in Xcode 9](https://www.jessesquires.com/blog/2017/09/18/measuring-compile-times-xcode9/) 26 | 27 | ## What's New 28 | - [What's new in Xcode 11](https://www.hackingwithswift.com/articles/192/whats-new-in-xcode-11) 29 | - [What’s new in Xcode 11?](https://medium.com/developerinsider/whats-new-in-xcode-11-7f52e8d22295) 30 | - [Xcode 12 – All New Features And Improvements](https://blckbirds.com/post/xcode-12-whats-new/0) 31 | 32 | ## Templates 33 | - [Xcode 9 File Templates](http://jeanetienne.net/2017/09/10/xcode-templates.html?source=post_page---------------------------) 34 | - [Xcode 9 Custom Templates](https://medium.com/@dima.cheverda/xcode-9-templates-596e2ed85609) 35 | - [Creating Custom Xcode Project Templates](https://useyourloaf.com/blog/creating-custom-xcode-project-templates/?source=post_page---------------------------) 36 | - [Create Xcode file templates and share them with your team](https://www.lordcodes.com/posts/create-xcode-file-templates) 37 | - [How to create a custom Xcode template for coordinators](https://www.hackingwithswift.com/articles/158/how-to-create-a-custom-xcode-template-for-coordinators) 38 | - [Create custom Xcode templates to speed up your development](https://zonneveld.dev/create-custom-xcode-templates-to-speed-up-your-development/) 39 | 40 | ## Configuration/Settings 41 | - [Xcode Build Configuration Files](https://nshipster.com/xcconfig/) 42 | - [Xcode Environment Specific Configuration](https://benscheirman.com/2018/10/xcode-environment-specific-configuration/) 43 | - [Using Xcode Configuration (.xcconfig) to Manage Different Build Settings](https://www.appcoda.com/xcconfig-guide/) 44 | - [Xcode Build Settings in Depth](https://mgrebenets.github.io/xcode/2019/05/12/xcode-build-settings-in-depth) 45 | - [How to Use Xcode Targets to Manage Development and Production Builds](https://www.appcoda.com/using-xcode-targets) 46 | 47 | ## Resources 48 | - [Xcode Tips](http://xcodetips.com) 49 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ios-learning-materials [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) 2 | 3 | ![GitHub last commit](https://img.shields.io/github/last-commit/jvirus/ios-learning-materials?label=Last%20Commit) 4 | [![Language](https://img.shields.io/badge/Language-Swift-green.svg)]() 5 | [![Founded](https://img.shields.io/badge/Founded-August_2017-ff69b4.svg)]() 6 | [![Materials](https://img.shields.io/badge/Materials-2196-important.svg)]() 7 | [![MajorTopics](https://img.shields.io/badge/Major_Topics-83-red.svg)]() 8 | [![NLOC](https://img.shields.io/tokei/lines/github/jvirus/ios-learning-materials)]() 9 | [![Contributors](https://img.shields.io/github/contributors/eleev/ios-learning-materials)]() 10 | [![Repo Size](https://img.shields.io/github/repo-size/eleev/ios-learning-materials)]() 11 | [![License](https://img.shields.io/badge/License-MIT-blue.svg)]() 12 | 13 | ![](eleev-midjourney-infinite-library.jpeg) 14 | 15 | ### If you like the project, please give it a star ⭐ It will show the creator your appreciation and help others to discover the repo. 16 | 17 | # ✍️ About 18 | 19 | Curated list of articles, web-resources, tutorials, `Stack Overflow` and `Quora` Q&A, `GitHub`code repositories and useful resources that may help you dig a little bit deeper into iOS. All the resources are split into sub-categories which simlifies navigation and management. Feel free to use and suggest something to learn (iOS related of course 😜). 20 | 21 | You may see some non-directly related topics such as `Computer Graphics`, `Machine Learning` or `Design Patterns` - these are actually related, in some ways, to `iOS` development, but in a much broader and more specific way. With the addition of new materials, the structure of the document will be properly maintained meaning that it will become a reference book for learning. Happy evolving 🤓:octocat: 22 | 23 | # 📝 Content 24 | 25 | - [About](#about) 26 | - [Amazing Materials](Lists/AmazingMaterials.md) 27 | - [SwiftUI](Lists/SwiftUI.md) 28 | - [DocC](Lists/DocC.md) 29 | - [ARKit](Lists/ARKit.md) 30 | - [SceneKit](Lists/SceneKit.md) 31 | - [SpriteKit](Lists/SpriteKit.md) 32 | - [GameplayKit](Lists/GameplayKit.md) 33 | - [ReplayKit](Lists/ReplayKit.md) 34 | - [MapKit](Lists/MapKit.md) 35 | - [UIKit](Lists/UIKit.md) 36 | - [PhotoKit](Lists/PhotoKit.md) 37 | - [HealthKit](Lists/HealthKit.md) 38 | - [CloudKit](Lists/CloudKit.md) 39 | - [TextKit](Lists/TextKit.md) 40 | - [StoreKit](Lists/StoreKit.md) 41 | - [SiriKit](Lists/SiriKit.md) 42 | - [CallKit](Lists/CallKit.md) 43 | - [PushKit](Lists/PushKit.md) 44 | - [MetricKit](Lists/MetricKit.md) 45 | - [CoreML](Lists/CoreML.md) 46 | - [CreateML](Lists/CreateML.md) 47 | - [Core Animation](Lists/CoreAnimation.md) 48 | - [Core Graphics](Lists/CoreGraphics.md) 49 | - [Core Image](Lists/CoreImage.md) 50 | - [Core Location](Lists/CoreLocation.md) 51 | - [Core Data](Lists/CoreData.md) 52 | - [Core Motion](Lists/CoreMotion.md) 53 | - [CoreNFC](Lists/CoreNFC.md) 54 | - [Combine](Lists/Combine.md) 55 | - [Metal](Lists/Metal.md) 56 | - [Vision](Lists/Vision.md) 57 | - [AVFoundation](Lists/AVFoundation.md) 58 | - [AppKit](Lists/AppKit.md) 59 | - [SearchKit](Lists/SearchKit.md) 60 | - [MessageUI](Lists/MessageUI.md) 61 | - [Auto Layout](Lists/AutoLayout.md) 62 | - [AuthenticationServices](Lists/AuthenticationServices.md) 63 | - [Project Catalyst](Lists/ProjectCatalyst.md) 64 | - [Asset Catalog](Lists/AssetCatalog.md) 65 | - [Playgrounds](Lists/Playgrounds.md) 66 | - [In-App Purchase](Lists/InAppPurchase.md) 67 | - [Auto Fill](Lists/AutoFill.md) 68 | - [NLP](Lists/NLP.md) 69 | - [Foundation](Lists/Foundation.md) 70 | - [Swift](Lists/Swift.md) 71 | - [Swift Package Manager](Lists/SwiftPackageManager.md) 72 | - [Xcode](Lists/Xcode.md) 73 | - [Persistence](Lists/Persistence.md) 74 | - [Internationalization & Localization](Lists/InternationalizationAndLocalization.md) 75 | - [Security](Lists/Security.md) 76 | - [Payments](Lists/Payments.md) 77 | - [Document Based Apps](Lists/DocumentBasedApps.md) 78 | - [Networking](Lists/Networking.md) 79 | - [Frameworks Development](Lists/FrameworksDevelopment.md) 80 | - [Debugging](Lists/Debugging.md) 81 | - [Testing](Lists/Testing.md) 82 | - [App Submission](Lists/AppSubmission.md) 83 | - [App Extensions](Lists/AppExtensions.md) 84 | - [WWDC](Lists/WWDC.md) 85 | - [Git](Lists/Git.md) 86 | - [Development](Lists/Development.md) 87 | - [Algorithms and Data Structures](Lists/AlgorithmsAndDataStructures.md) 88 | - [Asynchronous Programming](Lists/AsynchronousProgramming.md) 89 | - [Functional Programming](Lists/FunctionalProgramming.md) 90 | - [Protocol-Oriented Programming](Lists/ProtocolOrientedProgramming.md) 91 | - [Architecture And Design Patterns](Lists/ArchitectureAndDesignPatterns.md) 92 | - [Test Driven Development](Lists/TestDrivenDevelopment.md) 93 | - [Clean Code](Lists/CleanCode.md) 94 | - [Continuous Integration (CI)](Lists/ContinuousIntegration.md) 95 | - [Computer Graphics](Lists/ComputerGraphics.md) 96 | - [Machine Learning](Lists/MachineLearning.md) 97 | - [App Distribution](Lists/AppDistribution.md) 98 | - [Dependency Management](Lists/DependencyManagement.md) 99 | - [Physics Engines](Lists/PhysicsEngines.md) 100 | - [Frameworks, Libraries, Platforms](Lists/FrameworksLibrariesPlatforms.md) 101 | - [SwiftSyntax](Lists/SwiftSyntax.md) 102 | - [Design](Lists/Design.md) 103 | - [UX](Lists/UX.md) 104 | - [Accessibility](Lists/Accessibility.md) 105 | - [Interview](Lists/Interview.md) 106 | - [Business](Lists/Business.md) 107 | - [Project Management](Lists/ProjectManagement.md) 108 | - [Product](Lists/Product.md) 109 | 110 | # ⚠️ Disclamer 111 | **Please** note that some materials may not provide ***the best possible or the most optimal*** recommendations, solutions or source codes. Try to be open minded and take everything as a `step` in the `learning process`. If you encounter something to improve in the materials, **please** write your suggestions to the respected authors. 112 | 113 | # 🤩 Stargazers 114 | [![Stargazers over time](https://starchart.cc/eleev/ios-learning-materials.svg)](https://starchart.cc/eleev/ios-learning-materials) 115 | 116 | # 👨‍💻 Author 117 | [Astemir Eleev](https://github.com/eleev) 118 | 119 | # 🔖 Licence 120 | The project is availabe under [MIT Licence](https://github.com/eleev/ios-learning-materials/blob/master/LICENSE) 121 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-cayman -------------------------------------------------------------------------------- /eleev-midjourney-infinite-library.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eleev/ios-learning-materials/43485d751e0cf17c90664490476fbdb7b131f4e6/eleev-midjourney-infinite-library.jpeg -------------------------------------------------------------------------------- /helloworld.swift: -------------------------------------------------------------------------------- 1 | print("Hello iOS Developers!") 2 | --------------------------------------------------------------------------------