Swift

550 readers
3 users here now

This group focus on the content related to the development of Apple Eco-system software. So feel free to share and talk about, for example;

founded 3 years ago
MODERATORS
151
 
 

Weekly Newsletter Progress and Blog Updates | Fatbobman's Swift Weekly #067

  • Advanced Navigation
  • Git Revision in App
  • Text Animation Issue
  • Buildable Folders
  • Backend with Vapor
  • SwiftUI Lists
  • Quick Tips of SwiftUI
152
 
 

Integrating AI into the Daily Workflow | Fatbobman's Swift Weekly #066

  • Preview Under the Hood
  • Adopting Swift 6
  • Enums Codable
  • Typed Throws
  • Debounced Search
  • SwiftData CRUD
  • Sync with CKSyncEngine
  • Swift Runtime
153
154
 
 

Fatbobman's Swift Weekly #065 | Perspective Shift: Viewing the Developer's Dual Identity Through the Airport Debate

  • _VariadicView
  • Copilot and SwiftUI
  • Keep Menu Bar Alive
  • retroactive Keyword
  • Reentrancy and Logical Race
  • MongoDB in Swift
155
 
 

Fatbobman's Swift Weekly #64 | Happy New Year 2025

  • State Issue in Swift 6
  • TabView Advancements
  • Genmoji in Non-Rich Text
  • Dissolve Effect
  • Write Swift Like Apple
  • Widgets, AppIntents, Siri Shortcuts and WatchKit
156
 
 

In Xcode 16, to improve SwiftUI’s performance under Swift 6 mode, Apple made several adjustments to the SwiftUI framework’s APIs to meet stricter concurrency checks. The most notable change is the comprehensive annotation of the View protocol with @MainActor. While these optimizations generally enhance the developer experience in Swift 6 mode, they also introduce some seemingly anomalous compile-time errors in specific scenarios. This article delves into why certain view modifiers cannot directly use @State properties and provides corresponding solutions.

157
 
 

Fatbobman's Swift Weekly #063 | Breakthroughs in Xenotransplantation of Kidneys

  • onAppear Issues
  • Validation Patterns in SwiftUI
  • SwiftUI Data Flow
  • Xcode Library Customization
  • Noncopyable
  • Sending vs Sendable
  • LinkText
158
 
 

Introduction

Integrating Firebase Authentication into your SwiftUI app offers a secure and efficient way to manage user sign-ins.

With Firebase, you can authenticate users using various login methods, like Google, Apple, Email, phone number, and many more authentications.

We’ll walk you through setting up Firebase Authentication in a SwiftUI app, focusing on three key authentication providers: Google, Apple, and Phone number login.

We aim to simplify the setup and implementation process to help you build a secure, user-friendly app.

Our Open source project is also available on this GitHub Repository.

Firebase Project Setup

Implementing a secure and scalable phone login feature in your SwiftUI app using Firebase Authentication is within your grasp.

This guide also lays the foundation for integrating Google and Apple login, ensuring your app is ready for real-world scenarios.

Adopting a modular structure and MVVM architecture ensures maintainability and easy future expansions.

Eager to explore more?

To explore the step-by-step instructions, best practices, and details implementations, check out our full guide at Canopas Blog.

Happy coding!

159
 
 

onAppear is an extremely crucial lifecycle method in SwiftUI, used to inject key logic when a view is presented. Since view instances may be created and rebuilt frequently, developers often choose to prepare data and perform initialization operations within these methods. In theory, the timing of these lifecycle method calls should be predictable and consistent. However, in certain specific scenarios, onAppear may be called unexpectedly and unnecessarily. This not only can lead to performance overhead but also may cause uncontrollable changes in the application’s state. This article will uncover this easily overlooked SwiftUI behavior trap and provide temporary countermeasures.

160
1
Fatbobman's Swift Weekly #062 (weekly.fatbobman.com)
submitted 2 years ago* (last edited 2 years ago) by fatbobman@programming.dev to c/swift@programming.dev
 
 

Fatbobman's Swift Weekly #062 | Making Swift Stronger, Keeping It Simple

  • Model Inheritance in Core Data
  • Use of Swift and SwiftUI in iOS 18
  • SF Symbol
  • Mocking Network Connection in Testing
  • Image Playground
  • Swift Macro
  • MLX Swift
161
162
 
 

Model inheritance in Core Data is a powerful mechanism.

Dive into this article to uncover the magic of parent, child, and abstract entities, and master class inheritance techniques. This article will also be helpful for SwiftData users.

163
 
 

Fatbobman's Swift Weekly #061 | Two Hours Without a Smartphone

  • Concurrency Step-by-Step
  • Eight Fun SwiftUI Details
  • What Happens When Move File in Git
  • any and some
  • Simple State Sharing and Persistence in Swift
164
 
 

Fatbobman's Swift Weekly #060 | Older or Outer? Reminiscing About the Pre-Smart Era

  • The Anomaly of onChange
  • Using AppKit in Catalyst
  • Calling Hidden Swift Functions
  • Natural Language Framework
  • macOS Threading
  • Dev Conversations
  • Debugging Layouts
165
 
 

SwiftUI provides the onChange modifier, allowing developers to listen for changes in specific values within a view and execute corresponding actions when those values change. Intuitively, as long as a view is part of the currently visible branch of the view tree (active), the corresponding closure should be triggered when the observed value changes. However, in certain navigation scenarios, the onChange modifier seems to become “selectively deaf,” inexplicably remaining silent even when the observed value changes. Is this a carefully designed feature by Apple, or a long-hidden code defect? This article aims to unveil this phenomenon and provide necessary caution to developers.

166
 
 

Hi! I'm new to Swift and macOS development. I'm currently writing an app for me that allows me to backup my files and photos from icloud to NAS.

Getting the photos was easy, but I'm not sure how to get files stored in icloud drive. Do I need an Apple Developer account for the right permissions? If so, why can I download photos without it?