r/SwiftUI • • Oct 17 '24

News Rule 2 (regarding app promotion) has been updated

136 Upvotes

Hello, the mods of r/SwiftUI have agreed to update rule 2 regarding app promotions.
We've noticed an increase of spam accounts and accounts whose only contribution to the sub is the promotion of their app.

To keep the sub useful, interesting, and related to SwiftUI, we've therefor changed the promotion rule:

  • Promotion is now only allowed for apps that also provide the source code
  • Promotion (of open source projects) is allowed every day of the week, not just on Saturday anymore

By only allowing apps that are open source, we can make sure that the app in question is more than just 'inspiration' - as others can learn from the source code. After all, an app may be built with SwiftUI, it doesn't really contribute much to the sub if it is shared without source code.
We understand that folks love to promote their apps - and we encourage you to do so, but this sub isn't the right place for it.


r/SwiftUI • • 3h ago

Titre : Comment gérer correctement les zones de sécurité pour une barre de navigation inférieure Liquid Glass dans une application iOS Capacitor ?

Thumbnail
1 Upvotes

r/SwiftUI • • 4h ago

Promotion (must include link to source code) [Update] Mooziac v1.2.0: native macOS menu bar app, now with a YouTube video player

Enable HLS to view with audio, or disable this notification

1 Upvotes

Hey everyone!

I shared Mooziac here a while ago. It’s a lightweight music player I’ve been building for macOS, and v1.2.0 is now out!

The biggest addition in this release is a YouTube video player, so you can switch from listening to watching without leaving Mooziac.

GitHub: https://github.com/shirkeharsh/mooziac

What’s new in v1.2.0?
A separate video window that you can switch to from the menu bar player.
Up to 4K playback, with 1080p as the default.
Hardware-accelerated video decoding for better efficiency.
Keyboard shortcuts: F for fullscreen, J/K/L to seek, [ / ] to change playback speed, and Cmd+Shift+C to copy a timestamped link.
The edge volume gesture also works while watching videos.

Other features
Built with Swift and AppKit.
Supports Apple Silicon and Intel Macs.
YouTube Music and local music in one app.
FLAC, MP3, WAV, AAC, and M4A support.
Synced .lrc lyrics and an interactive waveform.
Offline playback for downloaded tracks.
Discord Rich Presence.
No analytics, tracking, or remote logging.

Mooziac is free and open source under the MIT license. If you’re interested, feel free to check out the code, report bugs, or contribute.


r/SwiftUI • • 1d ago

Promotion (must include link to source code) NoteKit: an in-place Markdown editor for SwiftUI apps (TextKit 2, zero deps, MIT)

5 Upvotes

NoteKit is a Markdown editor for Mac and iOS built on the system text view (TextKit 2). You see the Markdown source, styled in place as you type. No dependencies, MIT, macOS 14 / iOS 17.

https://github.com/tfcace/notekit

  • Markers like # and ** step aside away from the caret and reappear when it returns.
  • Task boxes, bullets, quote bars and rules are drawn in place of their markers. Tasks tick on click/tap/⌘⏎.
  • Per-line text direction: RTL and LTR lines coexist in one note, task boxes included.
  • Obsidian syntax: wikilinks, callouts, tags, highlights, frontmatter, embeds, Templater. Unknown syntax is shown as written.
  • NSTextView / UITextView underneath, so undo, spell check, dictation and input methods just work.

r/SwiftUI • • 17h ago

Isometric Hardware with SwiftUi

Enable HLS to view with audio, or disable this notification

0 Upvotes

r/SwiftUI • • 1d ago

Built a radial launcher at the cursor in SwiftUI with a global hotkey that needs no Accessibility permission (open source)

1 Upvotes

I've been working on TactileBar, an open-source (GPLv3) macOS menu bar app with 26 system toggles and live telemetry. The latest release adds a radial launcher, and a few implementation details might be useful to others here:

Global hotkey without permissions. The ring opens with ⌃⌥Space from any app. I used Carbon's RegisterEventHotKey instead of a CGEventTap or NSEvent global monitor. It doesn't need Accessibility or Input Monitoring permission, so the user never sees a scary prompt.

Hold vs. tap on one shortcut. If you hold the key, the ring opens at the cursor and fires the slice you release on. A quick tap keeps it open for keyboard or mouse use (1–8, arrows, Return). The difference is just timing between key-down and key-up.

Everything is drawn with Canvas. The switch icons, the dial and the ring slices are all vector paths drawn in code, with no image assets. The dial packs 26 sectors plus three concentric gauges (CPU, RAM, disk).

Keeping idle CPU at 0%:

- Mach sampling (CPU and RAM) runs only while the popover is visible.

- The views are split into small u/Observable subviews, so a CPU tick doesn't re-render the whole panel.

- I removed every GeometryReader and use a fixed 540×576pt layout.

- The menu bar icons are cached as NSImage.

No dependencies. It uses only native frameworks: IOBluetooth, CoreAudio, DiskArbitration and IOKit.

Repo: https://github.com/tr0drigues/TactileBar

I'm happy to go deeper on any of these, and I'd welcome a code review of the hotkey and ring code if anyone feels like it.


r/SwiftUI • • 1d ago

I found out that SwiftUI's .glassEffect(in:) takes any Shape (not just rounded rectangles).

Enable HLS to view with audio, or disable this notification

23 Upvotes

r/SwiftUI • • 1d ago

Promotion (must include link to source code) Open Source SwiftUI coder editor

3 Upvotes

For those of us on Linux or Windows, it's not entirely possible to build SwiftUI apps; I'm not trying to build an Xcode for these platforms, not at all.

However, as a student or just someone exploring mobile dev, it may not make sense to go out and buy a MacBook immediately. Switaculous is a gentle introduction to Swift and SwiftUI; it's meant to be an educational tool that anybody can install and start experimenting with to learn iOS development even if you can't afford a Mac.

It's not going to allow you to publish apps, but it has good support for SwiftUI components like HStack, VStack, Text, etc., and even SwiftData.

https://github.com/kevincoder-co-za/switaculous

Fully open-sourced and MIT-licensed.


r/SwiftUI • • 1d ago

MenuBarExtra or NSStatusItem/NSPanel: which interaction requirements drove your choice?

Thumbnail
1 Upvotes

r/SwiftUI • • 1d ago

How to elongate text in swift?

Post image
2 Upvotes

How can I achieve the same thing the Lock Screen does with this particular type face, using Swift?


r/SwiftUI • • 2d ago

Tutorial Maths, Metal, Mandelbrot, and SwiftUI

Thumbnail
blog.jacobstechtavern.com
16 Upvotes

r/SwiftUI • • 2d ago

Native TabView with Action Button update!!!

26 Upvotes

Hello there, I wanted to share a small SwiftUI/UIKit experiment I’ve been working on. I have built a custom Liquid Glass tab bar in SwiftUI that dynamically expands into a 4th tab when you switch views!
The project is open source and has no external dependencies.

GitHub Repo: https://github.com/aqylbermeshtech/Custom-tab-bar-with-action-button

PS:I wrote there before actually about the native tab bar with action button and you pointed out that using UISegmentedControl is not a good idea so i remade it into a TabView one.Pls reach out if you see any problems.


r/SwiftUI • • 2d ago

News This Website Is Now Made in Swift, with SwiftUI-like syntax

Thumbnail
sindresorhus.com
43 Upvotes

r/SwiftUI • • 2d ago

Question Swift UI Table on iOS

5 Upvotes

There is a table view in SwiftUI, but only displays as such on Mac. I want to have a table where I can sort by the columns on iOS, but swift ui doesn't seem to natively support that. How do you get around that design constraint. It kinda seems like Apple is discouraging showing tables on iOS all together.


r/SwiftUI • • 2d ago

Aerial Downloader | First application built using SwiftUI

Post image
2 Upvotes

This is my first attempt on building a simple app using SwiftUI. You can download macOS screensavers locally on your device.

https://github.com/Red1860/AerialDownloader


r/SwiftUI • • 2d ago

Question Catch-22 with App Review: rejected under 2.1(b) for not submitting IAPs, but ASC won’t let me submit more than one (FIRST_NON_CONSUMABLE_MUST_BE_SUBMITTED_ON_VERSION)

0 Upvotes

Has anyone hit this and found a way out? I’ve shipped several apps with IAPs and never seen it before.

Setup

  • A new app with its first version, 1.0.
  • 41 non-consumable IAPs: individual items plus a few bundles, one of which unlocks all content.
  • All 41 are Ready to Submit, with prices, localizations and review screenshots.

What happens

  1. I add the IAPs to version 1.0. ASC accepts only one of them.
  2. The other 40 are refused with FIRST_NON_CONSUMABLE_MUST_BE_SUBMITTED_ON_VERSION. It’s the same in the web UI and the App Store Connect API.
  3. As I read it, the first non-consumable has to be approved before any others can be submitted.
  4. So I submit 1.0 with the one IAP. App Review rejects it under 2.1(b): “the app includes references to in-app purchase products but the associated In-App Purchase products have not been submitted for review. Submit the IAPs and upload a new binary.”
  5. I appealed and explained. The next reviewer sent the same rejection, and added that IAPs are tested in sandbox and “do not need to be approved to function while in review”.

So review won’t approve the version until all the IAPs are submitted, and ASC won’t let me submit them until one has been approved through review. Neither can happen first.

What I’ve tried

  • Submitting the IAPs in the web UI and through the API: one goes in, the rest error.
  • New builds, resubmitting, and replying in Resolution Center with the exact error.
  • An App Review Board appeal.

Questions

  • Has anyone had FIRST_NON_CONSUMABLE_MUST_BE_SUBMITTED_ON_VERSION block the second and later IAPs, not just the first?
  • Did contacting Developer Support (rather than App Review) get it fixed on Apple’s side?
  • Or did you work around it, for example by shipping 1.0 selling only one bundle and adding the rest in 1.0.1?

Just to clarify, i have only seen this "bug" since ASC got updated recently with support for assets etc.

Any experience appreciated. Happy to share more detail.

EDIT: Solved, thanks everyone. It’s not a hard limit; it depends where you add the IAPs from.

  • Fails: adding IAPs to the first version from the version page, the In-App Purchases list, or the App Store Connect API. All but one give FIRST_NON_CONSUMABLE_MUST_BE_SUBMITTED_ON_VERSION.
  • Works (web UI only): open each IAP’s own page, press Add for Review, and choose the iOS draft. Then press Add for Review on the version page into the same draft, and submit.
  • If your version is stuck in an “Unresolved Issues” submission, hover over each item there for the red remove icon, take them out, and add them to the new draft.
  • Your reviewer messages stay on the old submission, so repeat anything that was already cleared in the App Review notes.

r/SwiftUI • • 2d ago

How do you keep a window-pushing app from freezing when the other app hangs?

2 Upvotes

I'm the developer of SideSchedule, a calendar sidebar for macOS that reserves a strip of the screen like the Dock and pushes other windows out of it. The scary part was never the pushing, it was a hung app taking my sidebar down with it.

What I ended up with: finding the overlapping windows uses CGWindowListCopyWindowInfo (about 2 ms, filtered to layer 0), so a stalled app can't block that part. Accessibility calls only happen for apps that actually overlap, on a background queue, with a 0.25 s messaging timeout. I tested it by sending SIGSTOP to an app and dragging its window into the strip.

Is a messaging timeout the best I can do here, or is there a cleaner way to skip an unresponsive app before asking it anything? SwiftUI plus AppKit, Swift package, no Xcode project. (didact.digital/sideschedule if you want to see what it does.)


r/SwiftUI • • 2d ago

Tutorial [Open Source] Blurt: a macOS dictation app with a standalone Swift 6 engine

4 Upvotes

Blurt is a macOS dictation app that puts speech-to-text into the app you’re already using. I work at AssemblyAI; our team built it and released it under the MIT license. Full source: https://github.com/AssemblyAI/blurt

The SwiftUI part is the native app shell. The core pipeline lives in BlurtEngine, a standalone Swift 6 package with no external dependencies: mic capture, a dictation session actor, a tested hotkey state machine, then clipboard/paste injection into the focused app. Transcription and cleanup happen in one API request. We prewarm the connection while you speak and switch to the transcribing state before reading the finished recording, so the stop action feels immediate.

The engine is split behind protocol seams and can be tested with stubs. I’d value feedback from SwiftUI/Swift developers on the package boundaries, concurrency, or the hotkey state machine.

One important tradeoff: this is cloud-backed, not local transcription. Audio is sent to AssemblyAI, and you need an API key (there’s a free tier). The repository includes the app and engine source.


r/SwiftUI • • 2d ago

Question Liquid Glass widget background on the normal Home Screen — am I missing something?

7 Upvotes

I'm working on a calendar widget (SwiftUI / WidgetKit) and I'm a bit lost with the background.

I've noticed that some widgets from other apps seem to get Liquid Glass really nicely, even when the Home Screen is in the normal full-color appearance (not Clear or Tinted). The wallpaper and even the Dock seem to show through them.

With mine, I always end up with a solid plate behind the content — white in Light Mode, black in Dark Mode — no matter what I put in containerBackground. I'm not sure if I'm doing something wrong or if there's a way I just don't know about.

What I've tried so far (iPhone, iOS 26, full-color Home Screen):

- Color.clear in containerBackground (as a view and as a style)

- glassEffect in the container, and on a view inside the content

- .ultraThinMaterial, .fill.tertiary, .background.secondary

- AccessoryWidgetBackground()

- very low opacity colors

- containerBackgroundRemovable(true/false), contentMarginsDisabled()

- setting widgetRenderingMode to .accented / .vibrant

I'm building with Xcode 27. From Apple's docs, it sounds like the glass background is only for the Clear/Tinted Home Screen, but I feel like there might be something I'm missing.

Has anyone managed this, or does anyone know how it works? Any hint would really help. Thanks!


r/SwiftUI • • 2d ago

Promotion (must include link to source code) I open-sourced Chorus, a SwiftUI Mac app for comparing AI chats

0 Upvotes

I made Chorus because I kept copying the same question between AI tabs. It sends one prompt to ChatGPT, Claude, Gemini and other sites, with replies side by side.

The shell is SwiftUI, with WKWebViews hosted through NSViewRepresentable. One detail that may be useful: the web views are owned outside the representable and reparented when panels move, rather than recreated.

It uses your existing web accounts. No API key is needed for those panels, but each service's limits still apply. The tradeoff is that site redesigns can break sending or reply detection.

Free and open source (GPLv3): https://github.com/askchorus/chorus

37-second demo and download: https://askchorus.app/?utm_source=reddit&utm_medium=social&utm_campaign=swiftui_20261019

I'd welcome feedback on the SwiftUI/WebKit integration.


r/SwiftUI • • 3d ago

Tutorial How do people create Muscle Maps in Swift?

Post image
8 Upvotes

r/SwiftUI • • 4d ago

[Open Source] I built TactileBar — a Dieter Rams / Teenage Engineering inspired macOS Menu Bar command deck with 26 native switches, 1-click Bluetooth audio, and Mach kernel telemetry (Zero dependencies, 0% idle CPU)

0 Upvotes

Hey r/SwiftUI ! I got tired of running 6 different menu bar apps (one for Keep Awake, one for Bluetooth headphones, one for ejecting disks, one for CPU/RAM, one for hiding desktop icons, and another for cleaning the keyboard/screen).

So I built TactileBar in pure Swift / SwiftUI Canvas with zero external dependencies:


r/SwiftUI • • 4d ago

I built a full video editor SDK for iOS. Roast my DX

0 Upvotes

Just shipped 0.2.0 of a video editor SDK for iOS: one Swift package, two views, UIKit or SwiftUI, with timeline, text, effects, music and MP4 export.

Integration walkthrough: https://nitrakit.dev/blog/ios-video-editor/

Feedback on the DX is what I'm after most, plus anything you'd want from an in-app editor that it can't do yet.


r/SwiftUI • • 5d ago

Tutorial Everything is Shared (And That’s the Problem)

Thumbnail
medium.com
19 Upvotes

Level-up Coding just published my latest article on how my dependency injection library, Factory, fails in a multi-window environment. (Think iPhone Duo and IPad.)

And it's not just a problem with Factory, but one baked into pretty much any modern dependency injection system (including, dare I say, yours). 

And that also includes the use of shared singletons...

Find out why and what you can do about it, and the changes I made to Factory to support multi-window environments.


r/SwiftUI • • 5d ago

[UPDATE] AuraFlow 1.3.2 — Open Source macOS live wallpaper app, now with terminal animations and TUI support

Thumbnail
gallery
4 Upvotes

AuraFlow is an open-source live wallpaper app for macOS with support for local videos and built with Swift/SwiftUI, a built-in wallpaper catalog, playback controls, and wallpaper management. This update adds terminal animations and TUI wallpapers, CLI search and installation through Homebrew, custom commands, and local Wallpaper Engine video and web project imports. It also brings shared scaling and launch-at-login controls, download progress and cancellation, plus fixes for Lock Screen playback, scrolling, and switching between wallpapers.

GitHub: https://github.com/mkanami/AuraFlow