In-app console and debug tools for iOS developers.

Overview

LocalConsole

Welcome to LocalConsole! This Swift Package makes on-device debugging easy with a convenient PiP-style console that can display items in the same way print() will in Xcode. This tool can also dynamically display view frames and restart SpringBoard right from your live app.

Setup

  1. In your Xcode project, navigate to File > Swift Packages > Add Package Dependancy...

  2. Paste the following into the URL field: https://github.com/duraidabdul/LocalConsole/

  3. Once the package dependancy has been added, import LocalConsole and create an easily accessible global instance of Console.shared.

import LocalConsole

let localConsoleManager = LCManager.shared

Usage

Once prepared, the localConsole can be used throughout your project.

// Show the console view.
localConsoleManager.isVisible = true

// Hide the console view.
localConsoleManager.isVisible = false
// Print items to the console view.
localConsoleManager.print("Hello, world!")

// Clear console text.
localConsoleManager.clear()

// Copy console text.
localConsoleManager.copy()
// Change the console view font size.
localConsoleManager.fontSize = 5

To-Do

  • Support for iOS 13
  • Screen edge console hiding
  • Make console view reactive to landscape/portrait switch
Comments
  • No longer visible above presented view controllers

    No longer visible above presented view controllers

    Version 1.11.0 causes the console to no longer sit on top of presented view controllers. Also when you tap the more menu you get:

    [Presentation] Presenting view controller <_UIContextMenuActionsOnlyViewController: 0x7fb2bf605470> from detached view controller <LocalConsole.ConsoleViewController: 0x7fb2be27ecb0> is discouraged.

    opened by jordanhbuiltbyhq 3
  • UI API called on a Main thread? -(Crash)

    UI API called on a Main thread? -(Crash)

    Seems like there is an issue 😄:

    `================================================================= Main Thread Checker: UI API called on a background thread: -[UIScrollView contentOffset] PID: 6701, TID: 2996419, Thread name: (none), Queue name: NSOperationQueue 0x7f8685ca3840 (QOS: UNSPECIFIED), QoS: 0 Backtrace: 4 ***** ***** 0x0000000104fdf804 $s12LocalConsole9LCManagerC5printyyypF + 164 5 ***** ***** 0x0000000104ae715b $s10CloudyLogs6LoggerC3log_4typeySS_ypSgtFZ + 235 6 ***** ***** 0x0000000104edeb3d $s6Shared6**O13CommunicationEADC14attemptToQueue7channelSo16NSBlockOperationCSgAE7ChannelO_tFyycfU2_ + 477 7 ***** ***** 0x0000000104ede7c0 $sIeg_IeyB_TR + 48 8 Foundation 0x00007fff207fa0be NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK + 7 9 Foundation 0x00007fff207f9fb6 -[NSBlockOperation main] + 98 10 Foundation 0x00007fff207fcfd2 NSOPERATION_IS_INVOKING_MAIN + 17 11 Foundation 0x00007fff207f9200 -[NSOperation start] + 785 12 Foundation 0x00007fff207fd947 NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION + 17 13 Foundation 0x00007fff207fd46a __NSOQSchedule_f + 182 14 libdispatch.dylib 0x000000010635e2c5 _dispatch_block_async_invoke2 + 83 15 libdispatch.dylib 0x000000010634f74e _dispatch_client_callout + 8 16 libdispatch.dylib 0x0000000106352066 _dispatch_continuation_pop + 557 17 libdispatch.dylib 0x000000010635147b _dispatch_async_redirect_invoke + 770 18 libdispatch.dylib 0x00000001063611b0 _dispatch_root_queue_drain + 351 19 libdispatch.dylib 0x0000000106361b0f _dispatch_worker_thread2 + 135 20 libsystem_pthread.dylib 0x00007fff60340417 _pthread_wqthread + 244 21 libsystem_pthread.dylib 0x00007fff6033f42f start_wqthread + 15 2021-06-21 18:01:24.765790-0500 ***** ***[6701:2996419] [reports] Main Thread Checker: UI API called on a background thread: -[UIScrollView contentOffset] PID: 6701, TID: 2996419, Thread name: (none), Queue name: NSOperationQueue 0x7f8685ca3840 (QOS: UNSPECIFIED), QoS: 0 Backtrace: 4 ***** ***** 0x0000000104fdf804 $s12LocalConsole9LCManagerC5printyyypF + 164 5 ***** ***** 0x0000000104ae715b $s10CloudyLogs6LoggerC3log_4typeySS_ypSgtFZ + 235 6 ***** ***** 0x0000000104edeb3d $s6Shared6O13CommunicationEADC14attemptToQueue7channelSo16NSBlockOperationCSgAE7ChannelO_tFyycfU2_ + 477 7 ***** ***** 0x0000000104ede7c0 $sIeg_IeyB_TR + 48 8 Foundation 0x00007fff207fa0be NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK + 7 9 Foundation 0x00007fff207f9fb6 -[NSBlockOperation main] + 98 10 Foundation 0x00007fff207fcfd2 NSOPERATION_IS_INVOKING_MAIN + 17 11 Foundation 0x00007fff207f9200 -[NSOperation start] + 785 12 Foundation 0x00007fff207fd947 NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION + 17 13 Foundation 0x00007fff207fd46a __NSOQSchedule_f + 182 14 libdispatch.dylib 0x000000010635e2c5 _dispatch_block_async_invoke2 + 83 15 libdispatch.dylib 0x000000010634f74e _dispatch_client_callout + 8 16 libdispatch.dylib 0x0000000106352066 _dispatch_continuation_pop + 557 17 libdispatch.dylib 0x000000010635147b _dispatch_async_redirect_invoke + 770 18 libdispatch.dylib 0x00000001063611b0 _dispatch_root_queue_drain + 351 19 libdispatch.dylib 0x0000000106361b0f _dispatch_worker_thread2 + 135 20 libsystem_pthread.dylib 0x00007fff60340417 _pthread_wqthread + 244 21 libsystem_pthread.dylib 0x00007fff6033f42f start_wqthread + 15

    Main Thread Checker: UI API called on a background thread: -[UIScrollView contentSize] PID: 6701, TID: 2996419, Thread name: (none), Queue name: NSOperationQueue 0x7f8685ca3840 (QOS: UNSPECIFIED), QoS: 0 Backtrace: 4 ***** ***** 0x0000000104fe9ca1 $s12LocalConsole16InvertedTextViewC11contentSizeSo6CGSizeVvg + 81 5 ***** ***** 0x0000000104fe9c18 $s12LocalConsole16InvertedTextViewC11contentSizeSo6CGSizeVvgTo + 40 6 ***** ***** 0x0000000104fdf860 $s12LocalConsole9LCManagerC5printyyypF + 256 7 ***** ***** 0x0000000104ae715b $s10CloudyLogs6LoggerC3log_4typeySS_ypSgtFZ + 235 8 ***** ***** 0x0000000104edeb3d $s6Shared6**O13CommunicationEADC14attemptToQueue7channelSo16NSBlockOperationCSgAE7ChannelO_tFyycfU2_ + 477 9 ***** ***** 0x0000000104ede7c0 $sIeg_IeyB_TR + 48 10 Foundation 0x00007fff207fa0be NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK + 7 11 Foundation 0x00007fff207f9fb6 -[NSBlockOperation main] + 98 12 Foundation 0x00007fff207fcfd2 NSOPERATION_IS_INVOKING_MAIN + 17 13 Foundation 0x00007fff207f9200 -[NSOperation start] + 785 14 Foundation 0x00007fff207fd947 NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION + 17 15 Foundation 0x00007fff207fd46a __NSOQSchedule_f + 182 16 libdispatch.dylib 0x000000010635e2c5 _dispatch_block_async_invoke2 + 83 17 libdispatch.dylib 0x000000010634f74e _dispatch_client_callout + 8 18 libdispatch.dylib 0x0000000106352066 _dispatch_continuation_pop + 557 19 libdispatch.dylib 0x000000010635147b _dispatch_async_redirect_invoke + 770 20 libdispatch.dylib 0x00000001063611b0 _dispatch_root_queue_drain + 351 21 libdispatch.dylib 0x0000000106361b0f _dispatch_worker_thread2 + 135 22 libsystem_pthread.dylib 0x00007fff60340417 _pthread_wqthread + 244 23 libsystem_pthread.dylib 0x00007fff6033f42f start_wqthread + 15 2021-06-21 18:01:24.845531-0500 ***** ***[6701:2996419] [reports] Main Thread Checker: UI API called on a background thread: -[UIScrollView contentSize] PID: 6701, TID: 2996419, Thread name: (none), Queue name: NSOperationQueue 0x7f8685ca3840 (QOS: UNSPECIFIED), QoS: 0 Backtrace: 4 ***** ***** 0x0000000104fe9ca1 $s12LocalConsole16InvertedTextViewC11contentSizeSo6CGSizeVvg + 81 5 ***** ***** 0x0000000104fe9c18 $s12LocalConsole16InvertedTextViewC11contentSizeSo6CGSizeVvgTo + 40 6 ***** ***** 0x0000000104fdf860 $s12LocalConsole9LCManagerC5printyyypF + 256 7 ***** ***** 0x0000000104ae715b $s10CloudyLogs6LoggerC3log_4typeySS_ypSgtFZ + 235 8 ***** ***** 0x0000000104edeb3d $s6Shared6O13CommunicationEADC14attemptToQueue7channelSo16NSBlockOperationCSgAE7ChannelO_tFyycfU2_ + 477 9 ***** ***** 0x0000000104ede7c0 $sIeg_IeyB_TR + 48 10 Foundation 0x00007fff207fa0be NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK + 7 11 Foundation 0x00007fff207f9fb6 -[NSBlockOperation main] + 98 12 Foundation 0x00007fff207fcfd2 NSOPERATION_IS_INVOKING_MAIN + 17 13 Foundation 0x00007fff207f9200 -[NSOperation start] + 785 14 Foundation 0x00007fff207fd947 NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION + 17 15 Foundation 0x00007fff207fd46a __NSOQSchedule_f + 182 16 libdispatch.dylib 0x000000010635e2c5 _dispatch_block_async_invoke2 + 83 17 libdispatch.dylib 0x000000010634f74e _dispatch_client_callout + 8 18 libdispatch.dylib 0x0000000106352066 _dispatch_continuation_pop + 557 19 libdispatch.dylib 0x000000010635147b _dispatch_async_redirect_invoke + 770 20 libdispatch.dylib 0x00000001063611b0 _dispatch_root_queue_drain + 351 21 libdispatch.dylib 0x0000000106361b0f _dispatch_worker_thread2 + 135 22 libsystem_pthread.dylib 0x00007fff60340417 _pthread_wqthread + 244 23 libsystem_pthread.dylib 0x00007fff6033f42f start_wqthread + 15 2021-06-21 23:01:24 +0000: Communication: service: 📶 ***** BLE: "1-604417" unitIdentifier: 13 not connected, will try to connect

    Main Thread Checker: UI API called on a background thread: -[UIView bounds] PID: 6701, TID: 2996419, Thread name: (none), Queue name: NSOperationQueue 0x7f8685ca3840 (QOS: UNSPECIFIED), QoS: 0 Backtrace: 4 ***** ***** 0x0000000104fdf8e6 $s12LocalConsole9LCManagerC5printyyypF + 390 5 ***** ***** 0x0000000104ae715b $s10CloudyLogs6LoggerC3log_4typeySS_ypSgtFZ + 235 6 ***** ***** 0x0000000104edeb3d $s6Shared6**O13CommunicationEADC14attemptToQueue7channelSo16NSBlockOperationCSgAE7ChannelO_tFyycfU2_ + 477 7 ***** ***** 0x0000000104ede7c0 $sIeg_IeyB_TR + 48 8 Foundation 0x00007fff207fa0be NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK + 7 9 Foundation 0x00007fff207f9fb6 -[NSBlockOperation main] + 98 10 Foundation 0x00007fff207fcfd2 NSOPERATION_IS_INVOKING_MAIN + 17 11 Foundation 0x00007fff207f9200 -[NSOperation start] + 785 12 Foundation 0x00007fff207fd947 NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION + 17 13 Foundation 0x00007fff207fd46a __NSOQSchedule_f + 182 14 libdispatch.dylib 0x000000010635e2c5 _dispatch_block_async_invoke2 + 83 15 libdispatch.dylib 0x000000010634f74e _dispatch_client_callout + 8 16 libdispatch.dylib 0x0000000106352066 _dispatch_continuation_pop + 557 17 libdispatch.dylib 0x000000010635147b _dispatch_async_redirect_invoke + 770 18 libdispatch.dylib 0x00000001063611b0 _dispatch_root_queue_drain + 351 19 libdispatch.dylib 0x0000000106361b0f _dispatch_worker_thread2 + 135 20 libsystem_pthread.dylib 0x00007fff60340417 _pthread_wqthread + 244 21 libsystem_pthread.dylib 0x00007fff6033f42f start_wqthread + 15 2021-06-21 18:01:24.888052-0500 ***** ***[6701:2996419] [reports] Main Thread Checker: UI API called on a background thread: -[UIView bounds] PID: 6701, TID: 2996419, Thread name: (none), Queue name: NSOperationQueue 0x7f8685ca3840 (QOS: UNSPECIFIED), QoS: 0 Backtrace: 4 ***** ***** 0x0000000104fdf8e6 $s12LocalConsole9LCManagerC5printyyypF + 390 5 ***** ***** 0x0000000104ae715b $s10CloudyLogs6LoggerC3log_4typeySS_ypSgtFZ + 235 6 ***** ***** 0x0000000104edeb3d $s6Shared6O13CommunicationEADC14attemptToQueue7channelSo16NSBlockOperationCSgAE7ChannelO_tFyycfU2_ + 477 7 ***** ***** 0x0000000104ede7c0 $sIeg_IeyB_TR + 48 8 Foundation 0x00007fff207fa0be NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK + 7 9 Foundation 0x00007fff207f9fb6 -[NSBlockOperation main] + 98 10 Foundation 0x00007fff207fcfd2 NSOPERATION_IS_INVOKING_MAIN + 17 11 Foundation 0x00007fff207f9200 -[NSOperation start] + 785 12 Foundation 0x00007fff207fd947 NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION + 17 13 Foundation 0x00007fff207fd46a __NSOQSchedule_f + 182 14 libdispatch.dylib 0x000000010635e2c5 _dispatch_block_async_invoke2 + 83 15 libdispatch.dylib 0x000000010634f74e _dispatch_client_callout + 8 16 libdispatch.dylib 0x0000000106352066 _dispatch_continuation_pop + 557 17 libdispatch.dylib 0x000000010635147b _dispatch_async_redirect_invoke + 770 18 libdispatch.dylib 0x00000001063611b0 _dispatch_root_queue_drain + 351 19 libdispatch.dylib 0x0000000106361b0f _dispatch_worker_thread2 + 135 20 libsystem_pthread.dylib 0x00007fff60340417 _pthread_wqthread + 244 21 libsystem_pthread.dylib 0x00007fff6033f42f start_wqthread + 15

    Main Thread Checker: UI API called on a background thread: -[UITextView text] PID: 6701, TID: 2996419, Thread name: (none), Queue name: NSOperationQueue 0x7f8685ca3840 (QOS: UNSPECIFIED), QoS: 0 Backtrace: 4 ***** ***** 0x0000000104fdfbba $s12LocalConsole9LCManagerC5printyyypFSSyXEfU_ + 202 5 ***** ***** 0x0000000104fdf9f9 $s12LocalConsole9LCManagerC5printyyypF + 665 6 ***** ***** 0x0000000104ae715b $s10CloudyLogs6LoggerC3log_4typeySS_ypSgtFZ + 235 7 ***** ***** 0x0000000104edeb3d $s6Shared6***O13CommunicationEADC14attemptToQueue7channelSo16NSBlockOperationCSgAE7ChannelO_tFyycfU2_ + 477 8 ***** ***** 0x0000000104ede7c0 $sIeg_IeyB_TR + 48 9 Foundation 0x00007fff207fa0be NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK + 7 10 Foundation 0x00007fff207f9fb6 -[NSBlockOperation main] + 98 11 Foundation 0x00007fff207fcfd2 NSOPERATION_IS_INVOKING_MAIN + 17 12 Foundation 0x00007fff207f9200 -[NSOperation start] + 785 13 Foundation 0x00007fff207fd947 NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION + 17 14 Foundation 0x00007fff207fd46a __NSOQSchedule_f + 182 15 libdispatch.dylib 0x000000010635e2c5 _dispatch_block_async_invoke2 + 83 16 libdispatch.dylib 0x000000010634f74e _dispatch_client_callout + 8 17 libdispatch.dylib 0x0000000106352066 _dispatch_continuation_pop + 557 18 libdispatch.dylib 0x000000010635147b _dispatch_async_redirect_invoke + 770 19 libdispatch.dylib 0x00000001063611b0 _dispatch_root_queue_drain + 351 20 libdispatch.dylib 0x0000000106361b0f _dispatch_worker_thread2 + 135 21 libsystem_pthread.dylib 0x00007fff60340417 pthread_wqthread + 244 22 libsystem_pthread.dylib 0x00007fff6033f42f start_wqthread + 15 2021-06-21 18:01:24.916817-0500 ***** *****[6701:2996419] [reports] Main Thread Checker: UI API called on a background thread: -[UITextView text] PID: 6701, TID: 2996419, Thread name: (none), Queue name: NSOperationQueue 0x7f8685ca3840 (QOS: UNSPECIFIED), QoS: 0 Backtrace: 4 ***** ***** 0x0000000104fdfbba $s12LocalConsole9LCManagerC5printyyypFSSyXEfU + 202 5 ***** ***** 0x0000000104fdf9f9 $s12LocalConsole9LCManagerC5printyyypF + 665 6 ***** ***** 0x0000000104ae715b $s10CloudyLogs6LoggerC3log_4typeySS_ypSgtFZ + 235 7 ***** ***** 0x0000000104edeb3d $s6Shared6***O13CommunicationEADC14attemptToQueue7channelSo16NSBlockOperationCSgAE7ChannelO_tFyycfU2_ + 477 8 ***** ***** 0x0000000104ede7c0 $sIeg_IeyB_TR + 48 9 Foundation 0x00007fff207fa0be NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK + 7 10 Foundation 0x00007fff207f9fb6 -[NSBlockOperation main] + 98 11 Foundation 0x00007fff207fcfd2 NSOPERATION_IS_INVOKING_MAIN + 17 12 Foundation 0x00007fff207f9200 -[NSOperation start] + 785 13 Foundation 0x00007fff207fd947 NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION + 17 14 Foundation 0x00007fff207fd46a __NSOQSchedule_f + 182 15 libdispatch.dylib 0x000000010635e2c5 _dispatch_block_async_invoke2 + 83 16 libdispatch.dylib 0x000000010634f74e _dispatch_client_callout + 8 17 libdispatch.dylib 0x0000000106352066 _dispatch_continuation_pop + 557 18 libdispatch.dylib 0x000000010635147b _dispatch_async_redirect_invoke + 770 19 libdispatch.dylib 0x00000001063611b0 _dispatch_root_queue_drain + 351 20 libdispatch.dylib 0x0000000106361b0f _dispatch_worker_thread2 + 135 21 libsystem_pthread.dylib 0x00007fff60340417 _pthread_wqthread + 244 22 libsystem_pthread.dylib 0x00007fff6033f42f start_wqthread + 15`

    opened by moyoteg 3
  • Close console

    Close console

    Hey! Thanks for making this great tool.

    Can we have a "Close Console" option (basically setting console.isVisible = false) similar to the "Clear Console" or the ability to add our own options?

    opened by radutx 2
  • "Share Text..." button causes application to crash.

    The application crashes when I press the "Share Text..." button.

    SwiftUI Life Cycle iOS 15.7 iPad Pro (9.7")

    2022-10-21 16:18:09.633928+0300 XXX[26460:1212498] invalid mode 'kCFRunLoopCommonModes' provided to CFRunLoopRunSpecific - break on _CFRunLoopError_RunCalledWithInvalidMode to debug. This message will only appear once per execution.
    2022-10-21 16:18:52.754372+0300 XXX[26460:1212498] [Default] Task XXX[26460]/1#3 LF=0 couldn't find entitlement CopresenceCore.Entitlement.publicAPI error nil
    2022-10-21 16:18:52.867519+0300 XXX[26460:1212498] *** Terminating app due to uncaught exception 'NSGenericException', reason: 'UIPopoverPresentationController (<UIPopoverPresentationController: 0x104b88760>) should have a non-nil sourceView or barButtonItem set before the presentation occurs.'
    *** First throw call stack:
    (0x182651d1c 0x199e76ee4 0x185183998 0x184b0ea6c 0x185189cf4 0x184c06234 0x184b21764 0x104888700 0x104889fc8 0x1048988ac 0x1048984fc 0x18260d0d4 0x1825ca5f8 0x1825dd250 0x1a2f14988 0x184ddfa88 0x184b78fc8 0x189e31d68 0x189d7c83c 0x189d621dc 0x100dd775c 0x100dd7800 0x10425c4d0)
    libc++abi: terminating with uncaught exception of type NSException
    dyld4 config: DYLD_LIBRARY_PATH=/usr/lib/system/introspection DYLD_INSERT_LIBRARIES=/Developer/usr/lib/libBacktraceRecording.dylib:/Developer/usr/lib/libMainThreadChecker.dylib:/Developer/Library/PrivateFrameworks/DTDDISupport.framework/libViewDebuggerSupport.dylib
    *** Terminating app due to uncaught exception 'NSGenericException', reason: 'UIPopoverPresentationController (<UIPopoverPresentationController: 0x104b88760>) should have a non-nil sourceView or barButtonItem set before the presentation occurs.'
    terminating with uncaught exception of type NSException
    
    opened by wynioux 2
  • Input blocked on iPads without home button

    Input blocked on iPads without home button

    When running on an iPad or iPad simulator that has no home button, if LCManager.shared.isVisible is true, all other input seems to be blocked. Touches don't get passed down.

    Did a bit of debugging and it seems that when running on an iPad with no home button, the ConsoleWindow hit test will return a View when we're not expecting it to (would be expecting that function to be returning nil).

    It's unclear to me why this would behave differently on different iPads, but maybe this makes sense to someone smarter than me?

    opened by moorea 2
  • TabbarController support

    TabbarController support

    Thanks for making this awesome tool!

    I use it in a tab bar controller app. Unfortunately when the console is shown the tab bar gets another empty tab added for the console. Probably this window.rootViewController?.addChild(consoleViewController) is the problem.

    Any idea on how to fix this?

    opened by radutx 0
  • Ability to specify which features are accessible

    Ability to specify which features are accessible

    Hello! This is such a cool little package thanks for making it.

    I was wondering if you've considered making it possible to disable debug features. For example, I don't really want to have user defaults and the restart springboard options available, but show view frames is neat. I'll create a PR for it. :)

    opened by jordanhbuiltbyhq 0
Releases(1.12.1)
Owner
Duraid Abdul
WWDC20 Scholar, iOS Developer, Mechanical Engineering at UAlberta
Duraid Abdul
DevToys for iPad - a SwiftUI reimplementation of DevToys, a Swiss Army Knife for developers, for iPadOS

DevToys for iPad - a SwiftUI reimplementation of DevToys, a Swiss Army Knife for developers, for iPadOS

Kenta Kubo 25 Nov 5, 2022
ReactionButton is a control that allows developers to add this functionality to their apps in an easy way.

Since Facebook introduced reactions in 2016, it became a standard in several applications as a way for users to interact with content. ReactionButton is a control that allows developers to add this functionality to their apps in an easy way.

Jorge Ovalle 305 Oct 11, 2022
In this mini app covered the concepts like basics of SwiftUI and Navigations and Animations and List with CRUD functions and MVVM and App Launch and App icons adding and also applied persistence using UserDefaults Concept.

TodoList In this application used the concepts from the beginner level project of SwiftUI_Evolve_1 The following concepts covered in this mini app Swi

Sivaram Yadav 2 Dec 4, 2021
An iOS app that visually clones Spotify's app and consumes the official Spotify's Web API to show(and play) songs, podcasts, artists and more.

SpotifyClone An iOS app that visually clones Spotify's app and consumes the official Spotify's Web API to show(and play) songs, podcasts, artists and

Gabriel Denoni 11 Dec 27, 2021
This To-Do app was developed using Swift and SwiftUI and works on iOS, MacOS (Apple Silicon) and WatchOS. The tasks are kept on storage even when the app is restarted.

ToDo-SwiftUI This app has a lot of sentimental value for me, given that it helped me a lot to understand the process of doing an iOS app and became th

Augusto Galindo Ali 6 Jul 12, 2022
Todo is an iOS App written in Swift. This app is used for an online video training course. This app demonstrates how to use UITableViewController.

Todo Todo is an iOS App written in Swift. This app is used for an online video training course. This app demonstrates how to use UITableViewController

Jake Lin 273 Dec 29, 2022
Mahmoud-Abdelwahab 5 Nov 23, 2022
The app provides additional actions for the Shortcuts app on macOS and iOS.

Actions Supercharge your shortcuts The app provides additional actions for the Shortcuts app on macOS and iOS. Submit action idea (Submit an issue bef

Sindre Sorhus 1.2k Dec 29, 2022
A todo list iOS app developed with swift5 and coredata to persist data, this app help people organise their tasks on categories.

A todo list iOS app developed with swift5 and coredata to persist data, this app help people organise their tasks on categories. The app is simple, intuitive, and easy to use and update tasks informations.

null 1 Oct 10, 2022
Small app trying to recreate the Github's repos section from the iOS app with RxSwift and .nibs

Github Profile Repos Small app trying to recreate the Github's repos section from the iOS app with RxSwift and .nibs. This project is currently in pro

Leonardo 1 Apr 5, 2022
NetFun-ios-app - iOS app using BFF service to display processed data.

NetFun-ios-app iOS app using BFF service to display processed data. The iOS demo developed in SwiftUI and it uses BFF service to show expected UI comp

Minhaz Panara 0 Jan 3, 2022
iOS app that detects LaTeX symbols from drawings. Built using PencilKit, SwiftUI, Combine and CoreML for iOS 14 and macOS 11.

DeTeXt Finding the symbol you want to use in LaTeX can be hard since you can't memorize all the possible commands and packages for every symbol you mi

Venkat 73 Dec 8, 2022
IOS Dracker Payment - An iOS and React app to send/receive money and manage debt

An iOS and React app to send/receive money and manage debt. This app allows users to create transactions, add descriptions, tag images, tag notes, and manage them.

Dharmendra solanki 0 Jan 30, 2022
Porting the example app from our Advanced iOS App Architecture book from UIKit to SwiftUI.

SwiftUI example app: Koober We're porting the example app from our Advanced iOS App Architecture book from UIKit to SwiftUI and we are sharing the cod

raywenderlich 55 Dec 19, 2022
SwiftUI App to view the App Activity Record from iOS 15

App Activity Viewer A viewer for the iOS 15 "Record App Activity" export. FAQ How do I create an App Activity Report? Go to the "Settings" app of your

Jannik Arndt 13 Nov 16, 2022
iOS app for Ribbit, Broker API Reference App

Ribbit Reference Implementation (iOS) The reference implementation for designing the iOS user interface of a broker-dealer trading application with th

Alpaca 23 Dec 14, 2022
The app demonstrates how to use Firebase in a SwiftUI iOS app

Firebase SwiftUIDemo app This app demonstrates how to use Firebase in a SwiftUI iOS app. Firebase Setup Go to firebase.com Click new project. Copy app

Andrew Gholson 0 Nov 28, 2021
IOS-Quiz-App- - A trivia quiz app built with Swift using MVC structure

Quiz App A trivia quiz app built with Swift using MVC structure. Default Quiz

null 0 Feb 25, 2022