• Coming Soon on App Store
  • Home
  • Contents
    • Articles
    • Videos
  • Channels

Nav Menu

  • Home
  • Articles
  • Videos
  • Channels

Copyright By SoftSky App LTD - 2025

  • Contact Us
  • Terms of Use
  • Privacy Policy

Create with Swift is brought to you by imaginary institute, a creative design and tech consultancy, bringing imagination and innovation to the visionaries and shapers of tomorrow. We are powerful collective of developers, designers, transformers and imaginative thinkers. We work at the intersection of technology, design, education & innovation.

RSShttps://www.createwithswift.com/rss
  • intermediate
  • By Create With Swift
  • Nov 27

Understanding the Transferable Protocol in Swift

How to use Core Transferable’s Transferable to make models shareable via drag/drop, PasteButton, and ShareLink. Define transferRepresentation using Codable/Data/File, use ProxyRepresentation, and declare UTType for custom types. Shows a DataRepresentation example mapping Post.text to Data.

  • beginner
  • By Create With Swift
  • Nov 25

Responding to gestures: Rotating

Handle two-finger rotation in SwiftUI using RotateGesture. Set a minimum activation threshold with minimumAngleDelta (default 1°). Update state in onChanged (e.g., currentAngle = value.rotation), attach with .gesture, and apply rotationEffect to rotate the view.

  • beginner
  • By Create With Swift
  • Nov 21

Managing In-App Purchases in your apps

Overview of App Store monetization with StoreKit 2: set up IAPs in App Store Connect; choose between Non‑Consumable/Consumable and Non‑renewing/Auto‑renewable subscriptions; pricing and MRR tradeoffs; pointers to WWDC sessions for SwiftUI integration.

  • beginner
  • By Create With Swift
  • Nov 20

Designing Humanist Data Visualization for Mobile

How to design human-centered data visualization on mobile: map data types to user goals, prefer simple charts (bars, pie, rings), use tap/scroll (no hover), high contrast, screen reader and color‑independent cues, fast loads. Test with real data, edge cases, localization/RTL, devices. Be ethical and transparent; use AI to surface patterns—not write the story.

  • beginner
  • By Create With Swift
  • Nov 18

Building Peer-to-Peer Sessions: Sending and Receiving Data with Multipeer Connectivity

Send/receive data with Multipeer Connectivity: set up MCPeerID and MCSession (.required encryption), send UTF‑8 Data to session.connectedPeers via send(..., .reliable). Implement MCSessionDelegate to observe state and handle didReceive on the main thread; invite peers using MCNearbyServiceBrowser.

  • beginner
  • By Create With Swift
  • Nov 14

Building Peer-to-Peer Sessions: Advertising and Browsing Devices

Guide to discover/connect peers with Multipeer Connectivity. Add NSLocalNetworkUsageDescription and NSBonjourServices. Build PeerSessionManager with MCPeerID, MCSession(.required), MCNearbyServiceAdvertiser/Browser and delegates; track discovered/connected peers; start/stop; auto-accept invites.

  • intermediate
  • By Create With Swift
  • Nov 13

Prompting users to review your app

How to prompt App Store reviews with StoreKit 2’s RequestReviewAction in SwiftUI. Use @Environment(\.requestReview), delay with Task.sleep, and track per‑version prompts via UserDefaults. Follow timing best practices; iOS may disable requests; Apple limits to 3 prompts/365 days.

  • intermediate
  • By Create With Swift
  • Nov 11

Tracking workouts with HealthKit in iOS apps

Build an iOS HealthKit workout tracker (iOS 26): set Info.plist + request auth; configure HKWorkoutConfiguration/Session and HKLiveWorkoutBuilder/DataSource; update metrics (HR, kcal, distance); manage start/pause/resume/end in SwiftUI; save via finishWorkout(). Device-only.

  • intermediate
  • By Create With Swift
  • Nov 7

Creating Ornaments in visionOS

Guide to visionOS ornaments: keep important controls/info attached to a window. Prefer system TabView tab bars and toolbars (.toolbar, .bottomOrnament). Covers SwiftUI ornament(visibility:attachmentAnchor:contentAlignment:), UnitPoint/UnitPoint3D, scene/parent anchors, and design tips (glass, borderless buttons, sizing).

  • intermediate
  • By Create With Swift
  • Nov 6

Creative Coding: Randomness and Noise

Shows generative art in SwiftUI using randomness and noise. Draw/animate with Canvas, Path, TimelineView; define a NoiseGenerator protocol (Uniform/Non‑Uniform) to distort paths. Notes Perlin/Simplex/Worley and sensors for organic, controllable motion.

  • intermediate
  • By Create With Swift
  • Nov 4

Making Apps More Personal with Language Discovery

iOS 26’s Language Discovery infers user languages on-device and exposes rich Locale data via Locale.preferredLocales. Sample SwiftUI managers/picker match exact or language-code, prioritize user locales, and display RTL, calendar, numbering, and currency for culturally aware UX.

  • beginner
  • By Create With Swift
  • Oct 31

Create with Swift at Pragma Conference 2025

Recap of a Pragma 2025 session on creative coding with Swift, SwiftUI, and Xcode—no new tools needed. Covers a workflow of drawing simple shapes, animating them, and adding randomness/noise. Includes links to intro articles and a GitHub repo with SwiftUI examples.

  • beginner
  • By Create With Swift
  • Oct 30

Liquid Glass: Redefining design through Hierarchy, Harmony and Consistency

Apple’s Liquid Glass (iOS 26 HIG) shifts to content‑ and interaction‑driven UIs: dynamic hierarchy (adaptive tab/toolbar, grouped actions), harmony via glass materials aligned to hardware, and cross‑device consistency. Guidance: prioritize clarity, think in systems, use materials/motion purposefully.

  • intermediate
  • By Create With Swift
  • Oct 28

Text Effects using TextRenderer in SwiftUI

Guide to SwiftUI’s iOS 18 TextRenderer: implement draw(layout:in:) using Text.Layout and GraphicsContext to control text. Build line fades, line pulse (Animatable + scaling), per‑glyph bounce via TextAttribute with optional blur, and run-level floating. Tips: copy context to isolate; transform/filter order matters.

  • beginner
  • By Create With Swift
  • Oct 24

Exploring Widgets: Crafting glanceable experiences

Guide to crafting widgets as glanceable, persistent, snapshot-based surfaces (vs notifications/Live Activities). Reduce cognitive load: single task, clear hierarchy, proven layouts, brand consistency, personalization. For visionOS: spatial persistence, legibility, Paper/Glass, proximity-aware views.

  • intermediate
  • By Create With Swift
  • Oct 21

Integrating Device Camera in SwiftUI Apps

SwiftUI lacks a camera API. This guide bridges AVFoundation via UIKit: build a CameraManager (AVCaptureSession, AVCapturePhotoOutput, AVCaptureVideoPreviewLayer), a UIViewRepresentable preview, and SwiftUI views using @ObservedObject/@State and a capture delegate. Covers begin/commit config, cleanup, and fullScreenCover.

  • intermediate
  • By Create With Swift
  • Oct 17

Using rich text in the TextEditor with SwiftUI

Use SwiftUI TextEditor with AttributedString for rich text. Covers Markdown parsing, composing text, selections via AttributedTextSelection, reading typingAttributes, and transformAttributes(in:&selection) for normalized updates. Toolbar example uses fontResolutionContext to toggle bold.

  • beginner
  • By Create With Swift
  • Oct 17

Getting Started with Multipeer Connectivity in Swift

Starter guide to Multipeer Connectivity for nearby peer-to-peer networking without internet. Sets Info.plist keys (NSLocalNetworkUsageDescription, NSBonjourServices), creates MCPeerID and serviceID, MCSession (.required encryption), MCAdvertiserAssistant, MCBrowserViewController, delegates, plus a PeerHandler example.

  • intermediate
  • By Create With Swift
  • Oct 14

Image caching in SwiftUI

AsyncImage doesn’t cache between views. This adds a SwiftUI CachedAsyncImage using NSCache: load from cache on appear, save after first load via URLSession. Thread-safe with limits, MainActor UI updates for smooth, faster repeats.

  • beginner
  • By Create With Swift
  • Oct 10

Building for Love: Creating Authentic Connections

Apps win by evoking emotion, not just working. Apply Emotional Design (visceral, behavioral, reflective), focus on a clear core feature, cut cognitive load, add forgiving flows (undo/autosave), respectful timing/personalization, and small delights to build trust and retention.

  • intermediate
  • By Create With Swift
  • Oct 9

Taking control of your navigation in SwiftUI with NavigationPath

Shows how to take programmatic control of SwiftUI navigation using NavigationStack(path:root:) with a bound path. Use a typed [T] path for simple, type-safe stacks, or a type-erased NavigationPath for multiple types. Push via path.append, pop via removeAll/removeLast. Define navigationDestination(for:) per type or you’ll get an empty view.

  • intermediate
  • By Create With Swift
  • Oct 7

Performing search with SwiftData in a SwiftUI app

Connect SwiftUI’s searchable(text:placement:prompt:) to SwiftData by building a dynamic @Query with #Predicate. Pass searchText into a separate ItemListView so the query reinitializes, filters at the DB level (using localizedStandardContains), sorts by name, and shows empty/result states.

  • intermediate
  • By Create With Swift
  • Oct 3

Programmatic navigation with navigation destination in SwiftUI

SwiftUI programmatic navigation with NavigationStack: navigationDestination(isPresented:) for boolean triggers; navigationDestination(item:) for Hashable selections; .navigationDestination(for:) + NavigationPath/NavigationLink(value:) for type‑driven flows.

  • beginner
  • By Create With Swift
  • Oct 2

Implementing draw animations for SF Symbols in SwiftUI

How to use SF Symbols 7 draw animations in SwiftUI (iOS 26) via .symbolEffect(.drawOn/.drawOff, options:isActive:). Choose .wholeSymbol, .byLayer (default), or .individually. Customize with .nonRepeating, .speed(_), .repeat(.continuous). Control with state-bound isActive to trigger animations.

  • beginner
  • By Create With Swift
  • Sep 30

Presenting critical information in SwiftUI with alerts

How to present critical information in SwiftUI with .alert: boolean-driven alerts, optional message, item-specific alerts using presenting, and error alerts using LocalizedError with recoverySuggestion. Includes guidance on clear actions, roles (.destructive/.cancel), minimal choices, and using alerts sparingly.

  • intermediate
  • By Create With Swift
  • Sep 26

Implementing drag and drop with the SwiftUI modifiers

Guide to implementing drag and drop in SwiftUI using onDrag and onDrop. Uses NSItemProvider + UniformTypeIdentifiers to transfer data, encoding custom models to JSON (Codable) and decoding on drop. Handles isTargeted feedback, async loading to main thread, and covers preview and delegate options.

  • beginner
  • By Create With Swift
  • Sep 25

Playback controls for video in a SwiftUI app

Implement custom video controls in SwiftUI with AVKit’s VideoPlayer: play/pause via isPlaying, stop using pause() + seek(.zero), 10‑sec skip/back using currentTime, CMTime(preferredTimescale: 600) and max/min clamping, plus a Slider bound to currentTime/duration that seeks after editing.

  • beginner
  • By Create With Swift
  • Sep 23

Playing a video in a SwiftUI app

Beginner tutorial showing how to play a local video in SwiftUI with AVKit. Initialize an @State AVPlayer from a bundled mp4 and pass it to VideoPlayer for native playback controls. Style with SwiftUI modifiers and layer over a card layout via ZStack/VStack.

  • beginner
  • By Create With Swift
  • Sep 19

Listing contacts with the Contacts framework

Fetch contacts with Contacts: select CNKeyDescriptor keys (given/family names, phone numbers), create CNContactFetchRequest (optional predicate), and enumerate via CNContactStore.enumerateContacts to build results. Access requires user authorization.

  • beginner
  • By Create With Swift
  • Sep 18

Getting started with the Contacts framework

Intro to Contacts on iOS: add Privacy - Contacts Usage Description, use CNContactStore to requestAccess(for: .contacts) and read authorizationStatus(for:). A SwiftUI ViewModel (@MainActor, ObservableObject) uses async/await to request permission and show CNAuthorizationStatus in the UI.

  • intermediate
  • By Create With Swift
  • Sep 16

Creating custom layouts with SwiftUI

Create custom SwiftUI layouts with the Layout protocol by implementing sizeThatFits and placeSubviews using ProposedViewSize and Subviews. Example FixedSpacer shows fixed spacing and vertical centering—yielding precise, reusable control and better performance than GeometryReader.

  • beginner
  • By Create With Swift
  • Sep 12

Understanding Live Activities: visual micro-storytelling

Explains how to design Live Activities for Lock Screen, Dynamic Island, StandBy, and the Watch Smart Stack. Covers four use cases—Tracking, Timer, Phases, Updates—when not to use them, and key design rules: hierarchy, brand restraint, contextual visuals, progressive disclosure, respectful persistence.

  • intermediate
  • By Create With Swift
  • Sep 11

Displaying web content in SwiftUI

WWDC25 brings SwiftUI’s native WebView (WebKit) for iOS 26+. Use WebView(url:) for quick loads or WebView(_:) with WebPage for granular control, observable state, and async JavaScript via callJavaScript. Configure with SwiftUI modifiers (navigation, zoom, previews). No UIKit bridge; better memory/state sync.

  • beginner
  • By Create With Swift
  • Sep 9

Lazy-loading views with LazyVStack in SwiftUI

Why VStack struggles with large lists and how LazyVStack fixes it by lazily creating rows only when visible. Use it inside ScrollView with ForEach and stable IDs. Avoid storing critical state in cells; prefer @StateObject/@ObservableObject/@Observable (~80–90% less RAM).

  • beginner
  • By Create With Swift
  • Sep 5

Exploring Concentricity in SwiftUI

Explains Apple’s concentricity design principle and how to build concentric UI in SwiftUI using the new ConcentricRectangle (iOS 26). Shows fill/padding, choosing corners with .concentric(minimum:), isUniform for sheets/popovers, and inheriting a container’s corner radius.

  • beginner
  • By Create With Swift
  • Sep 4

Adapting your widgets for visionOS

Guide to adapting widgets for visionOS: add the new systemExtraLargePortrait to supportedFamilies, use tinting, and choose placement with supportedMountingStyles (.elevated, .recessed). Select Paper or Glass via widgetTexture. Widgets appear only in AR, not full immersion.

  • beginner
  • By Create With Swift
  • Sep 2

Enhancing the tab bar with a bottom accessory

Shows how to add a persistent control above a TabView using tabViewBottomAccessory(_:), introduced with iOS 26’s Liquid Glass. Enable integration on scroll with tabBarMinimizeBehavior(.onScrollDown). Explains expanded vs inline placements. Note: placement detection is flaky in iOS 26 beta.

  • beginner
  • By Create With Swift
  • Aug 29

Design as brand: The power of choice and belief

Brand is shaped by your iOS app’s interactions. Lean on HIG and express values via icon, splash, onboarding, haptics, and notifications. Co-create with the community, use A/B tests and analytics without flattening identity, avoid deceptive patterns, and choose bold authenticity.

  • beginner
  • By Create With Swift
  • Aug 28

Making the tab bar collapse while scrolling

The new SwiftUI tabBarMinimizeBehavior modifier in iOS 26 lets TabView’s tab bar collapse on scroll, aligning with Liquid Glass’s content-first design. Covers .automatic/.never and iPhone-only .onScrollDown/.onScrollUp, plus pairing with TabRole (e.g., .search).

  • intermediate
  • By Create With Swift
  • Aug 26

Adapting toolbar elements to the Liquid Glass Design System

SwiftUI toolbars for iOS 26’s Liquid Glass: symbol‑first overlay. Use ToolbarItem confirmation/cancellation placements, .glassProminent for full‑surface tint, and structure with ToolbarItemGroup and ToolbarSpacer. Group by role; avoid mixing text with symbols.

  • intermediate
  • By Create With Swift
  • Aug 22

Checking and editing the details of a calendar event

Integrates EventKitUI with SwiftUI to view, create, and edit Calendar events. ViewModel uses EKEventStore with async permission and predicate-based fetch, plus template events. Wraps EventKit UI controllers via UIViewControllerRepresentable and delegates; refreshes on dismiss.

  • beginner
  • By Create With Swift
  • Aug 21

Setting alarms for calendar events

How to add EventKit alarms to calendar events. Create EKAlarm with absoluteDate or relativeOffset (negative = before start), attach via event.addAlarm(_:), and save. Events can hold multiple alarms. Requires calendar access. Mentions geofenced alarms and macOS alarm types.

  • beginner
  • By Create With Swift
  • Aug 19

Fetching events from the user’s calendar

Retrieve calendar events with EventKit: initialize EKEventStore, request access via requestFullAccessToEvents(), create a date-range predicate with predicateForEvents(withStart:end:calendars:), fetch using events(matching:), sort by startDate, and update state on MainActor. User consent required.

  • beginner
  • By Create With Swift
  • Aug 15

Creating and saving calendar events

Guide to creating/saving Calendar events in SwiftUI with EventKit: add NSCalendarsFullAccessUsageDescription, reuse a single EKEventStore, requestFullAccessToEvents (iOS 17+, async), create EKEvent, set title/start/end/defaultCalendarForNewEvents, save via save(_:span:).

  • intermediate
  • By Create With Swift
  • Aug 14

Getting access to the user’s calendar

How to request and manage access to a user’s Calendar and Reminders with EventKit. Add Info.plist usage strings, use EKEventStore to requestFullAccessToEvents/Reminders or write-only events, check authorizationStatus(for:). Provides a SwiftUI view model to track/request permissions. Test on device/Simulator.

  • intermediate
  • By Create With Swift
  • Aug 12

Designing custom AlarmKit interfaces in SwiftUI

Design AlarmKit UIs in SwiftUI: set Stop/Secondary buttons via AlarmPresentation.Alert; pick secondaryButtonBehavior (.countdown/.custom); apply tint with AlarmAttributes.tintColor; attach AlarmMetadata (Codable/Hashable/Sendable; Color unsupported).

  • beginner
  • By Create With Swift
  • Aug 8

Scheduling and Managing Alarms in SwiftUI with AlarmKit

How to schedule alarms with AlarmKit in SwiftUI: add NSAlarmKitUsageDescription, request/check authorization via AlarmManager.shared, build AlarmPresentation.Alert and AlarmAttributes, then schedule a .timer(duration:) via .schedule(id:configuration:). Demo uses a button and TimelineView; alert fires with screen off.

  • intermediate
  • By Create With Swift
  • Aug 7

Exploring the Foundation Models framework

Hands-on tour of iOS 26’s Foundation Models for on-device Apple Intelligence: obtain SystemLanguageModel, build LanguageModelSession, use respond and streamResponse; generate typed output with @Generable/@Guide; define Tool calls; tune GenerationOptions. Check availability/guardrails. Beta API; may change.

  • intermediate
  • By Create With Swift
  • Aug 5

Implementing advanced speech-to-text in your SwiftUI app

Implement real-time speech-to-text in SwiftUI with Apple’s SpeechAnalyzer. Capture mic audio via AVAudioEngine (.measurement, .duckOthers), convert with AVAudioConverter, and feed AsyncStream to SpeechTranscriber. Manage SFSpeech/mic permissions, handle volatile results, and add Microphone/Speech Recognition capabilities.