![Community banner](https://programming.dev/pictrs/image/241a2ce8-e8bc-4a4d-8e92-484933724938.png)
![ios_dev](https://programming.dev/pictrs/image/985b8f3e-f488-4f16-8b4b-b2017803ef46.png?format=webp&thumbnail=48)
iOSProgramming
- Fatbobman's Swift Weekly #037
Fatbobman's Swift Weekly #037 | Entering the Era of Futures
- Text Effects with TextRenderer
- onGeometryChange
- SwiftData vs Realm
- App Icon for iOS 18
- Translation Framework
- WWDC Sessions Guide
and more… #WWDC
- Creating Stunning Dynamic Text Effects with TextRenderfatbobman.com Creating Stunning Dynamic Text Effects with TextRender | Fatbobman's Blog
This article will delve into TextRender, a new feature introduced at WWDC 2024
At WWDC 2024, SwiftUI introduced the TextRender protocol, granting developers new powers to adjust the rendering performance of the Text component, making it possible to achieve many previously unimaginable effects. This article will delve into this new feature.
- Fatbobman's Swift Weekly #036 - Impressions on WWDC 2024
In this issue, I will share my personal insights of WWDC 2024 and compile a list of great articles on WWDC 2024's new features to help you understand each update in detail!
- Customizing Gestures in SwiftUI ( Adding new gesture features introduced at WWDC 2024 )fatbobman.com Customizing Gestures in SwiftUI | Fatbobman's Blog
This article shows how to customize gestures in SwiftUI. It covers creating swipe, press, and click gestures, as well as using view modifiers and GestureState.
- Fatbobman's Swift Weekly #035weekly.fatbobman.com Fatbobman's Swift Weekly #035
A Spectacular Keynote, Yet Practical Implementation Requires Time
Fatbobman's Swift Weekly #035 | A Spectacular Keynote, Yet Practical Implementation Requires Time
- Dive into Swift 6, SwiftUI & UIKit’s latest from WWDC 2024
- Q&A of TCA
- Non-sendable Closure
- Core Image
- Transferable Protocol
- Fatbobman's Swift Weekly #034
Fatbobman's Swift Weekly #034 | WWDC 2024: AI is Not Everything
- SwiftData's Potential & Challenges
- AttributeGraph Insights
- Animating App Icons
- @preconcurrency Usage
- Scenes in SwiftUI
- WeatherKit Features
- Concurrency Migration Guide
- Fatbobman's Swift Weekly #033weekly.fatbobman.com Fatbobman's Swift Weekly #033
Boosting Engagement: Forum Updates Alone Fall Short
Fatbobman's Swift Weekly #033|Boosting Engagement: Forum Updates Alone Fall Short
- SwiftUI Changes
- Declarative Text Kit
- Build Website in Swift
- MVVM in SwiftUI
- Using TipKit
- Common Errors from UIKit to SwiftUI
- The Impact of AI Search Engines
- Fatbobman's Swift Weekly #032weekly.fatbobman.com Fatbobman's Swift Weekly #032
Recognize the Importance of Accessibility Before It's Needed
Fatbobman's Swift Weekly #032|Recognize the Importance of Accessibility Before It's Needed
- Swift Web Servers Performance
- Debugging Animations
- SwiftData Update Issue
- Selective Testing
- Strategies for Backend API
- Anticipation for WWDC
- What Does spacing = nil Mean in SwiftUI?fatbobman.com What Does spacing = nil Mean in SwiftUI? | Fatbobman's Blog
This article will explore the concept of Spacing in SwiftUI in-depth, and share some related tips and considerations.
In SwiftUI, many layout container constructors include a spacing parameter with a default value of nil, which controls the spacing between adjacent views. This article will start with this default parameter to explore the concept of Spacing in SwiftUI in-depth, and share some related tips and considerations.
- Apple and Google deliver support for unwanted tracking alerts in iOS and Android
https://www.apple.com/newsroom/2024/05/apple-and-google-deliver-support-for-unwanted-tracking-alerts-in-ios-and-android/
- Conveniently generate your app PrivacyInfo.xcprivacy file with this Privacy Manifest generator
https://www.privacymanifest.dev/
- Generate the PrivacyInfo.xcprivacy file for your app with this iOS Privacy Manifest Maker
https://wemakeapps.net/manifest-maker
- Fatbobman's Swift Weekly #031weekly.fatbobman.com Fatbobman's Swift Weekly #031
Apple Uses M4 to Showcase Commitment to Embracing AI
- Mastering the containerRelativeFrame Modifier in SwiftUIfatbobman.com Mastering the containerRelativeFrame Modifier in SwiftUI | Fatbobman's Blog
This article will delve into the containerRelativeFrame modifier, covering its definition, layout rules, use cases, and relevant considerations.
At the WWDC 2023, Apple introduced the containerRelativeFrame view modifier to SwiftUI. This modifier simplifies some layout operations that were previously difficult to achieve through conventional methods. This article will delve into the containerRelativeFrame modifier, covering its definition, layout rules, use cases, and relevant considerations. At the end of the article, we will also create a backward-compatible replica of containerRelativeFrame for older versions of SwiftUI, further enhancing our understanding of its functionalities.
- Fatbobman's Swift Weekly #29 - Blog Speed Enhancement and Apple's New AI Modelfatbobman.com Fatbobman's Swift Weekly #29 -- Blog Speed Enhancement and Apple's New AI Model
Recently, I have been receiving intermittent feedback from blog readers indicating that the access speed is slow, with some readers even needing more than 10 minutes to load
- In-Depth Exploration of Overlay and Background Modifiers in SwiftUIfatbobman.com In-Depth Exploration of Overlay and Background Modifiers in SwiftUI | Fatbobman's Blog
This article explores overlay and background view modifiers, their key differences from ZStack, and their ideal use cases.
In the toolbox of SwiftUI, overlay and background are two extremely useful view modifiers that play an indispensable role in various development scenarios. This article will delve into the unique attributes of these two modifiers, clarify their fundamental differences from ZStack, and identify the scenarios they are best suited for.
- Fatbobman's Swift Weekly #028 | Experience the joy of pixel games on your iPhone!weekly.fatbobman.com Fatbobman's Swift Weekly #028
Experience the joy of pixel games on your iPhone!
Apple recently updated its App Store Review Guidelines, now allowing emulator apps into the App Store. Just a few days ago, an emulator app named Delta was launched on the store. Delta is an all-in-one emulator designed for iOS, supporting a variety of Nintendo handheld games. This app was actually developed a long time ago but was previously only available to users in non-App Store formats due to policy restrictions.
- Core Data Reform: Achieving Elegant Concurrency Operations like SwiftDatafatbobman.com Core Data Reform: Achieving Elegant Concurrency Operations like SwiftData | Fatbobman's Blog
This article aims to explore how to introduce elegant and safe concurrency operations similar to those of SwiftData into Core Data, implementing a Core Data version of @ModelActor.
SwiftData, as the successor to Core Data, has introduced a multitude of innovative and modern design ideas. Despite its availability for some time now, many developers have yet to adopt it in their projects. This situation is partly due to SwiftData’s higher requirements for the operating system version. Additionally, because SwiftData is not yet mature enough in some functionalities, developers might choose to continue using Core Data even if their operating system version meets SwiftData’s requirements. Can we integrate some of SwiftData’s excellent design philosophies and ingenious implementations into the practical use of Core Data? This article aims to explore how to introduce elegant and safe concurrency operations similar to those of SwiftData into Core Data, implementing a Core Data version of @ModelActor.
- SwiftUI Views and @MainActorfatbobman.com SwiftUI Views and @MainActor | Fatbobman's Blog
This article will discuss the meaning of @MainActor, as well as tips and considerations for applying @MainActor within SwiftUI views.
An increasing number of developers are starting to enable strict concurrency checks in preparation for the arrival of Swift 6. Among the warnings and errors received, a portion relates to SwiftUI views, many of which stem from developers not correctly understanding or using @MainActor. This article will discuss the meaning of @MainActor, as well as tips and considerations for applying @MainActor within SwiftUI views.
- Practical SwiftData: Building SwiftUI Applications with Modern Approachesfatbobman.com Practical SwiftData: Building SwiftUI Applications with Modern Approaches | Fatbobman's Blog
This article will explain how to integrate SwiftData with modern programming concepts smoothly into SwiftUI applications.
In the previous article Concurrent Programming in SwiftData, we delved into the innovative concurrent programming model proposed by SwiftData, including its principles, core operations, and related considerations. This elegant programming solution has earned considerable praise. However, as more developers attempt to use SwiftData in actual SwiftUI applications, they have encountered some challenges, especially after enabling Swift’s strict concurrency checks. They found that SwiftData’s actor-based concurrency model is difficult to integrate with traditional application construction methods. This article will explain, in a tutorial-like manner, how to integrate SwiftData with modern programming concepts smoothly into SwiftUI applications and provide strategies to address the current challenges faced by developers.
- WWDC24 Announced
It’s another virtual conference year with an optional and free in person opening day. https://developer.apple.com/wwdc24/
- Should I iOS…
I am planning on making an android app because I have a Google pixel 6 I got as a birthday gift and I love how open Android has gotten over the years.
I was wondering if it’s worth saving up to develop an iOS app. (The same app on Android, but for iOS) I know that the AppStore can be a good revenue spot for my app, not sure. My app will be free + Open Source Software, GPL (Version 3) of which I plan to add my own premium features or either a donation option for the privacy advocate folks.
I’ve had an iPhone 12 since 2021, and I’ve gotten used to our iOS works, how the system works in terms of iOS background and process’s.
One question;
> can I use GPL (version 3) for my iOS app on the AppStore?
I’m just want your thoughts if I should…
Thanks!
- Looking for Feedback: "Watch Videos Later & Follow YouTube (RSS) Feeds"-App
I’ve been working on this as a side project and would love to get some feedback on it :)
Features:
- Single Queue
- Follow YouTube feeds
- Triage videos
- Filter out #shorts
- Custom playback speed per channel
- (pre-select) chapters
- Picture-in-Picture
- … and some other stuff
- Apple announces changes to iOS, Safari, and the App Store in the European Unionwww.apple.com Apple announces changes to iOS, Safari, and the App Store in the European Union
Apple announced changes to iOS, Safari, and the App Store impacting developers’ apps in the EU to comply with the DMA.
The new business terms for iOS apps in the EU have three elements:
Reduced commission — iOS apps on the App Store will pay a reduced commission of either 10 percent (for the vast majority of developers, and subscriptions following their first year) or 17 percent on transactions for digital goods and services.
Payment processing fee — iOS apps on the App Store can use the App Store’s payment processing for an additional 3 percent fee. Developers can use a payment service provider within their app or link users to their website to process payments for no additional fee to Apple.
Core Technology Fee — iOS apps distributed from the App Store and/or an alternative app marketplace will pay €0.50 for each first annual install per year over a 1 million threshold.
- WWDC 2023: Build accessible apps with SwiftUI and UIKit
Here are some tips to know so as to build accessible iOS apps in SwiftUI and UIKit, e.g. use of traits, notifications and zoom, with code samples.
- WWDC 2023: Perform accessibility audits for your app
Here are some tips about how you can make accessibility tests for your iOS apps with some screen shots and code samples
- iOS Dev Weekly: Issue 637iosdevweekly.com Issue 637
I’ll keep using 🥽 to represent the Vision Pro until Unicode adds a VR/AR headset emoji, and there’s nothing any of you can do to stop me!
- A11y guidelinesa11y-guidelines.orange.com Home - Orange digital accessibility guidelines
Guidelines, methods, resources and tools proposed by the Orange skill center for digital accessibility
Orange group keeps alive and available an interesting and very rich web site providing plenty of rules and advices about accessibility. The content targets iOS, Android, web and also other mediums.
- Apple announces RCS support for iMessagearstechnica.com Apple announces RCS support for iMessage
Texts to your green bubble friends will come with status indicators, better media.
- iOS Dev Weekly: Issue 635iosdevweekly.com Issue 635
The Swift Mentorship Program and package score transparency on the Swift Package Index. 🎉
- Just discovered Kin, nice tool for damaged pbxprojgithub.com GitHub - Serchinastico/Kin: Sane PBXProj files
Sane PBXProj files. Contribute to Serchinastico/Kin development by creating an account on GitHub.
Kin is a minimalistic tool to check whether your project.pbxproj file is correct.
Kin is just a syntax checker built with ANTLR 4 with a very thin layer to be usable from command line.
Kin is helpful and under license Apache 2.0
- Masking Third Party Dependencieswww.swiftjectivec.com Masking Third Party Dependencies
It’s not a groundbreaking pattern, but it pays to mask third-party code. Here’s how I do it.
I did something like this for analytics on the company app. It needs to record analytics to multiple providers for which a fan out pattern was a good fit. There's a single entry point to log an event. Any number of loggers then pick up that event and send it out to the provider. It has worked well and is even used for functionality inside of the app that should happen after a certain set of events occur in the app. For instance it prompts the user to rate and review the app after the user has performed a conversion event. A similar set of events will trigger the app to prompt the user to allow push notifications.
- How (not) to monitor SwiftUI @Stateblog.thomasdurand.fr How (not) to monitor SwiftUI @State
While I was working on the first version of my latest app SharePal ⚡️, I figured that I’d like to add haptic feedback for distinct action within the app. Something that did not worked well… Since I’m targeting iOS 16 as a base, I…
It's a nice explanation and exploration of how state in SwiftUI works.
- Mastering Observation framework in Swiftswiftwithmajid.com Mastering Observation framework in Swift
Apple introduced the new Observation framework powered by the macro feature of the Swift language. The new Observation framework, in combination with the Swift Concurrency features, allows us to replace the Combine framework that looks deprecated by Apple. This week, we will learn how to use the Obs...
> Apple introduced the new Observation framework powered by the macro feature of the Swift language. The new Observation framework, in combination with the Swift Concurrency features, allows us to replace the Combine framework that looks deprecated by Apple. This week, we will learn how to use the Observation framework to handle data flow in our apps.
I'm not sure that I buy the idea that Combine is deprecated. This does help reduce one use for it where it while increasing performance.
- Swift Data by Examplewww.hackingwithswift.com SwiftData by Example - free quick start tutorials for Swift developers
Get hands-on example code to help you learn important Apple frameworks faster.
SwiftData by Example is the world's largest collection of SwiftData examples, tips, and techniques to help you build apps, solve problems, and understand how SwiftData really works.
- How async/await works internally in Swiftswiftrocks.com How async/await works internally in Swift
You probably know how to use async/await. But have you ever wondered how it works under the hood?
> async/await in Swift was introduced with iOS 15, and I would guess that at this point you probably already know how to use it. But have you ever wondered how async/await works internally? Or maybe why it looks and behaves the way it does, or even why was it even introduced in the first place?
- @Model for CoreDatawww.alwaysrightinstitute.com @Model for CoreData
At WWDC 2023 Apple finally released a persistence framework specifically for Swift: SwiftData. My ManagedModels provides a similar API, on top of regular CoreData, and doesn’t require iOS 17+.
I've never been a big Core Data fan since it has cost me many days of my life debugging odd issues. To be fair, the issues weren't caused by Core Data. It was all of the foot-guns it left around that the junior developers on the team were more than happy to pick up and play with. This does look like an interesting use of macros though and is certainly a good example of how to craft more complex macros.
- Swift if and switch can now be expressionswww.avanderlee.com If and switch expressions in Swift
By using if and switch statements as expressions, you can omit the return keyword and reduce the lines of code while maintaining readability.
This is one feature that I missed from some other languages like Kotlin. It isn’t super useful for ifs but a switch with a lot of cases? Bring it on.