iOSProgramming

315 readers
1 users here now

A community to discuss iOS, macOS, watchOS, tvOS, and visionOS development. Ask questions. Share articles. Share links to open source projects. Links to commercial projects are acceptable if it is not self-promotional in nature.

For now, it is okay to ask for feedback on an app. Please be considerate and do not spam the community.

Quick Links

founded 2 years ago
MODERATORS
1
 
 

It's impossible with typical usage of Xcode.

2
 
 

A highly configurable and performant tool for obfuscating Swift literals embedded in the application code that you should protect from static code analysis, making the app more resistant to reverse engineering.

Simply integrate the tool with your Swift package or Xcode project, configure your own obfuscation algorithm along with the list of secret literals, and build the project 🚀

Swift Confidential can save you a lot of time, especially if you are developing an iOS app and seeking to meet OWASP MASVS-RESILIENCE requirements.

3
 
 

Some tips and best practices for a11y testing of iOS apps

4
 
 

The first draft of WCAG 2.2 applied to Mobile Applications (WCAG2Mobile) has just been released!

5
 
 

The internet keeps telling me that they go in the model, but some developers tell me that it goes in the view model

Model (Data / Networking / Algorithms) objects represent special knowledge and expertise. They hold an application’s data and define the logic that manipulates that data.
https://developer.apple.com/forums/thread/699003

Therefore, the model can be thought of as representing the app's domain model, which usually includes a data model along with business and validation logic.
https://learn.microsoft.com/en-us/dotnet/architecture/maui/mvvm

Model: Contains the data or the business logic. Any changes in data are communicated to the ViewModel.
https://medium.com/@dilipp817/understanding-mvvm-architecture-a-beginners-guide-to-model-view-viewmodel-8fb05c285710

The Model's purpose is to represent (or model) your business domain. Therefore, business logic by definition goes in the Model, not the ViewModel.https://developer.apple.com/forums/thread/699003
https://stackoverflow.com/questions/37671866/should-i-implement-business-logic-on-a-model-or-a-viewmodel

Even though the vast majority of business logic is present in the data layer, the UI layer can also contain business logic. This can be the case when combining data from multiple repositories to create the screen UI state, or when a particular type of data doesn't require a data layer.\

ViewModel is the right place to handle business logic in the UI layer. The ViewModel is also in charge of handling events and delegating them to other layers of the hierarchy when business logic needs to be applied to modify application data.
https://developer.android.com/topic/libraries/architecture/viewmodel

6
7
8
 
 

Publication croisée depuis https://lemm.ee/post/60073413

9
10
 
 

Apps uploaded to App Store Connect must be built with Xcode 16 or later.

11
12
 
 

SwiftUI's scrollTargetBehavior provides precise scrolling control, but default paging misaligns in landscape mode. This article explores its limitations and implements a custom ScrollTargetBehavior for perfect paging alignment

13
 
 

Simplify group expense management with Splito, the ultimate open-source solution to track, split, and settle shared costs seamlessly.

Why Choose Splito?

Splito makes managing group expenses with friends, family, or colleagues effortless:

  • Group Trips
  • Shared Household Bills
  • Event Planning

Features You'll Love:

  • Create and manage groups for expense tracking.
  • Split costs fairly and settle payments effortlessly.
  • View transaction history and recover deleted data.
  • Receive reminders for unpaid balances.

Download Now & Start Splitting Fairly! https://apps.apple.com/in/app/splito-split-enjoy-together/id6477442217

Exciting Upcoming Features 🌟

  • Multi-currency support and group wallets.
  • Spending charts, group reports, and public polls.
  • Comments on expenses to add notes to transactions.

We’d love to hear your thoughts to help us make it even better!

Explore the Project! 👇

https://github.com/canopas/splito

14
15
16
 
 

Fatbobman's Swift Weekly #051 | Xcode Is Not Alone

  • NSManagedObjectID and PersistentIdentifier
  • Container in SwiftUI
  • Reduce Local AI Model Size
  • Blend modes
  • Tips of NSFetchedResultsController
  • Communication Patterns in SwiftUI
  • Mesh Gradients
17
 
 

Core Data and SwiftData are powerful data management frameworks designed by Apple for developers, capable of efficiently handling complex object relationships, hence known as object graph management frameworks. In these two frameworks, NSManagedObjectID and PersistentIdentifier serve similar functions and are both extremely important. This article will delve into their features, usage methods, and important considerations.

18
 
 

Fatbobman's Swift Weekly #050 | Has Your App Been Defeated by the New System?

  • Data Binning
  • Style Text in Terminal
  • Pass Binding in NavigationDestination
  • SPM Snippets
  • Realm Deprecation
  • ContentMargins in SwiftUI
  • NSAttributedString Changes
19
 
 

Data binning is a commonly used data processing technique that typically divides continuous numerical or temporal data into multiple intervals (which are mostly adjacent and non-overlapping). This method not only covers the entire data range but also provides clear demarcation for data points within each interval. By performing data binning, we can analyze, visualize, and statistically process complex datasets more effectively. This article will explore how to use the advanced APIs provided by Swift Charts to achieve precise and efficient data binning.

20
 
 

Fatbobman's Swift Weekly #049 | Innovation Comes in Many Forms

  • Core Data Issue
  • Observable vs ObservableObject
  • SwiftData Expressions
  • Obj-c to SwiftUI
  • Swift Testing
  • Memory Leak
  • visionOS 2 PortalComponent
21
 
 

Fatbobman's Swift Weekly #048 | Apple Watch, The Sturdy Linchpin of the Apple Ecosystem

  • Hover Effects
  • AirDrop Conundrum
  • LockedCameraCapture Framework
  • iOS Performance
  • visionOS in Medical
  • Github Contribution Graph with Swift Charts
22
 
 

Fatbobman's Swift Weekly #047 | Societal Progress Through the Lens of Driver's License Medical Examinations

  • TipKit
  • Gucci App on VisionPro
  • App Size
  • Darwin Notifications
  • Custom Symbols in Control Center Widgets
  • init of View
  • UDP in SwiftNIO
23
 
 

Fatbobman's Swift Weekly #046 | Warning-Free Compilation is Not the Ultimate Goal of Swift 6

  • EditorConfig in Xcode
  • SwiftUI for Mac 2024
  • Guide to Xcode Cloud
  • Swift and WebAssembly
  • From Highlighting to AI
  • _ConditionalContent in List SubView
24
 
 

Fatbobman's Swift Weekly #045 | We Need More "Wukong"

  • Codable and Enums in SwiftData Models
  • Global Sheets Pattern in SwiftUI
  • SwiftUI: Perception and Reality
  • Emoji in 2024
  • Disabling Xcode Asset Symbol Generation
  • Insights on App Review
25
 
 

publication croisée depuis : https://programming.dev/post/18354166

A small publication with a Swift gist about a SwiftUI custom View which will swing to HStack or VStack dependent to the dynamic type size.

view more: next ›