Dark Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

bluezald/swift-code-catalog

Repository files navigation

Swift Code Catalog

is a collection of common functionalities in iOS applications, bundle together to form a 'sort-of' catalog for easy viewing and easy copy-pasting to your projects.

Standard Xcode Project

This will consist an Xcode project with an iPhone Application (primarily and hopefully will add iPad support), categorised into different patterns such as tableview, camera, collection and more. (Will work on how this project is organized).

The goal of this project is to focus purely on the Apple API and to not depend on any third-party.

Note: Im integrating swiftlint to force a cleaner code

Directory Structure:

Standard Catalog
|- Shared - common helper code, datasources, etc.
|- Fundamentals - Foundation classes, playgrounds and code snippets
|- UIKit - TableViews, CollectionViews, Animations
|- AppServices - Contacts, EventKit, MapKit
|- Networking - URLSession
|- Caching - UserDefaults, NSCache, Core Data
|- Security - Keychain Services?

App Services

A self-mastery training for me is to be familiar with Apple's App Services.

  • SiriKit
  • Speech
  • Contacts
  • EventKit
  • MapKit

Reactive Xcode Project

This will consist also a reactive version of the standard catalog

App Extensions Catalog

An app extension lets you extend custom functionality and content beyond your app and make it available to users while they're interacting with other apps or the system. Under this repo also, are multiple projects previewing iOS app extensions.

Extension point Typical app extension functionality
Action Manipulate or view content originating in a host app.
Audio Unit Generates an audio stream to send to a host app, or modifies an audio stream from a host app and sends it back to the host app.
Broadcast UI
Broadcast Upload
Call Directory Identify and block incoming callers by their phone number. To learn more, see CallKit Framework Reference.
Content Blocker Indicate to WebKit that your content-blocking app has updated its rules. (This app extension has no user interface.)
Custom Keyboard Replace the iOS system keyboard with a custom keyboard for use in all apps.
Document Provider Provide access to and manage a repository of files.
Game App Provide a game app for Apple Watch, as described in App Programming Guide for watchOS. (The Game App template is a version of the WatchKit App template, configured for game content.)
iMessage Interact with the Messages app. To learn more, see Messages.
Intents Handle tasks related to supporting Siri integration with your app. To learn more, see SiriKit Programming Guide.
Intents UI Customize the Siri or Maps interface after handling a task related to supporting Siri integration with your app. To learn more, see SiriKit Programming Guide.
Notification Content and Notification Service
Photo Editing Edit a photo or video within the Photos app.
Spotlight Index Index content within your app while it isn't running. To learn more, see Index App Content.
Share Post to a sharing website or share content with others.

See full list here

Code Snippets

For short code snippets, i'll be constructing this one to a more categorized collections. From common design patterns to common table view code, alert controller, etc.

Right now, the code snippets are in random, but I find using this small codes throughout my development. I'll be refining them, and if I see code snippets that can belong to utility classes, then I'll remove it from the snippets and add it accordingly to a class in a standard catalog.

Todo: Design Patterns code snippets will be in the Design Patterns repo

Usage: Add Snippets to your: ~/Library/Developer/Xcode/UserData/CodeSnippets

About

common functionalities in iOS applications bundle together to form a 'sort-of' catalog for easy viewing and easy copy-pasting to your projects

Resources

Readme

License

MIT license

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors