Skip to content

delasign/swiftui-starter-project

Repository files navigation

🚀 Quick start

  1. Open Xcode

    Open this project in Xcode

  2. Resolve Package Versions

    In Xcode, Select File -> Packages -> Resolve Package Dependencies.

    This is required to get the StringJSON macro working.

💻 Keyboard Shortcuts

Select Many lines Control + Shift + Click

##Find

Find in File Command + F

Find and Replace in Project Command + Shift + F

##Find and Replace Same as the above and select replace from the dropdown.

📁 Projects

You may be interested in our other open source projects.

  1. Swift (UIKit) 🔗
  2. SwiftUI (VisionOS) 🔗

📰 Guides

  1. Apple App Launch Screen Best Practices 🔗
  2. How to localize iOS, VisionOS MacOS, TVOS & WatchOS apps in SwiftUI 🔗
  3. Apple App Store E-Commerce Business Guide 🔗
  4. E-Commerce Fees in Apple App Store Apps 🔗
  5. Apple In-App Purchases and Subscriptions Development Guide 🔗
  6. How to reduce risk when developing Apple e-commerce apps 🔗
  7. How to build an app that uses Apple In-App Purchases and Subscriptions 🔗
  8. Free Open-Source Apple StoreKit 2 Swift Project 🔗
  9. How to Create a Website Smart App Banner for your App & App Clip. 🔗
  10. iOS Accessibility Resource Guide 🔗
  11. Debugging recommendations for XCode & Swift (iOS) 🔗
  12. Apple Metal Resources Guide 🔗
  13. SwiftUI: What are property wrappers and which should I use? 🔗
  14. SwiftUI SwiftData Quick Start Guide 🔗
  15. How to delete a MacOS app built from XCode 🔗

📚 Tutorials

Core

SwiftUI User Interfaces

  1. How to make an entire view clickable in SwiftUI 🔗
  2. How to set the size of an image in SwiftUI 🔗
  3. How to set a frame proportional to a window or screen in SwiftUI 🔗
  4. 🔗
  5. How to set the frame of a view to fill its parents width and height 🔗
  6. How to apply SafeAreaInsets in SwiftUI 🔗

SwiftUI Property Wrappers

  1. SwiftUI: What are property wrappers and which should I use? 🔗
  2. SwiftUI: Property Wrapper 🔗
  3. SwiftUI: Binding Property Wrapper 🔗
  4. SwiftUI: Environment Property Wrapper 🔗
  5. SwiftUI: Bindable Property Wrapper 🔗
  6. SwiftUI: SceneStorage Property Wrapper 🔗
  7. SwiftUI: AppStorage Property Wrapper 🔗
  8. How to bind a variable from an @Environment object in SwiftUI 🔗

SwiftUI Macros

  1. What is a Macro in Swift? 🔗
  2. SwiftUI: Observable Macro 🔗
  3. SwiftData: Model Macro 🔗
  4. How to create a complex member Macro in Swift 🔗

SwiftUI Protocols

  1. What is a Protocol in Swift? 🔗
  2. SwiftUI: Identifiable Protocol 🔗

Debugging

  1. How to add and use a breakpoint in XCode 🔗
  2. How to view all breakpoints in XCode 🔗
  3. How to activate or deactivate breakpoints in XCode 🔗
  4. How to remove a breakpoint in XCode 🔗
  5. How to profile CPU usage using Instruments in XCode 🔗
  6. How to diagnose a hang, severe hang or freeze in XCode 🔗

Design Systems

  1. How to create a Styleguide in SwiftUI 🔗
  2. Can I override the SwiftUI App fonts and sizes? 🔗
  3. How to create and use a Color Set in XCode 🔗

SwiftData

  1. SwiftUI SwiftData Quick Start Guide 🔗
  2. How to use SwiftData in a Singleton within a SwiftUI app 🔗

Async / Await

  1. How to use async and await in Swift projects 🔗

Previews

  1. How to create localizable XCode Previews 🔗
  2. How to create multiple XCode previews within a single view 🔗
  3. How to preview light and dark mode in XCode Previews 🔗
  4. How to preview SwiftData in XCode Previews 🔗
  5. How to show or hide the XCode Preview Canvas 🔗
  6. How to check if code is running in an XCode Preview in Swift 🔗

Scene Phases

  1. How to listen to changes in Phases in a SwiftUI app 🔗
  2. How to execute functions when a user quits a SwiftUI app 🔗
  3. How to interrupt, delay or stop a MacOS SwiftUI App from terminating 🔗

Menus

  1. How to replace or remove the new window command from the file menu 🔗
  2. How to add commands to the file menu of a SwiftUI MacOS app 🔗
  3. How to add a menu that appears on right click in a SwiftUI MacOS app 🔗

Files (File Manager)

  1. How to create a temporary file in a MacOS application 🔗
  2. How to delete a file in Swift within a MacOS app 🔗
  3. How to find the temporary files an XCode MacOS app generates 🔗

Swift Testing

  1. How to setup Swift Testing in a Swift or SwiftUI project in Xcode 🔗
  2. How to import a project into Swift Testing 🔗
  3. How to add the LanguageCoordinator to Swift Testing 🔗
  4. How to use Command Line Arguments in Swift Testing 🔗
  5. How to create a UITest that uses SwiftData thats only stored in memory 🔗

Accessibility Identifiers

  1. How to use accessibility identifiers in Swift Testing 🔗
  2. How to use nested accessibility identifiers in Swift Testing 🔗
  3. How to find a view using an accessibility identifier in Swift Testing 🔗
  4. How to debug accessibility identifiers in XCode 🔗

NSOpenPanel

  1. How to find the NSOpenPanel in a Swift UI Test 🔗
  2. How to automate search in a NSOpenPanel Swift UI Test 🔗
  3. How to open a folder in an NSOpenPanel in a Swift Test 🔗

Errors

  1. Error: Can't add App Target to Target to be Tested. 🔗

Errors

  1. How to resolve the "Declaration name is not covered by macro" error 🔗
  2. How to resolve "Fatal Error in Environment+Objects" in XCode Previews 🔗
  3. onKeyPress Modifier not registering in a SwiftUI MacOS app 🔗
  4. How to resolve Error:Function declares an opaque return type some View 🔗
  5. Error: Can't add App Target to Target to be Tested. 🔗

Other

  1. How to check if an app is in the Simulator in Swift 🔗
  2. How to add an App Delegate to a SwiftUI app 🔗
  3. How to make sure SwiftData deletes objects when app terminates 🔗
  4. How to listen for key presses in a MacOS SwiftUI app 🔗
  5. How to place focus on a view in SwiftUI 🔗
  6. How to use an EmptyView within a function with return type some View 🔗

About

A Xcode SwiftUI starter project with tutorials.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages