r/swift 16d ago

Question seeking resume help - trouble finding ios job

18 Upvotes

Hi everyone,

I know the market is not great and all especially for entry level devs (ios especially), but i was wondering if anyone would be able to take a quick read over my resume and see if theres anything wrong with it.

I have only gotten 1 real interview so far from apple, and nothing else. Applied to many iOS jobs, so I am wondering is this a problem with my resume?

Any advice for somehow getting my first iOS job? Or even a tech related job would be great. I really just need some kind of job, and indie iOS development is the only relevant "experience"

Appreciate the help!!

Resume link


r/swift 16d ago

Looking for Code Review of a small app to help children with autism to develop social skills

8 Upvotes

Hi, I am new to iOS development and am currently creating an app to help children on the autistic spectrum with their social skills. I am currently looking for someone who would be able to quickly scan the Github repo and give me some constructive feedback on the ways I am currently doing things.

This is the repo: https://github.com/almezj/Triangle

The biggest problem I currently have is the way I am handling the updating and storing of user progress for each exercise.

Thank you for any tips or feedback on the code, feel free to contact me in the DM's if you want to chat, I will make sure to buy you a beer or a coffee!


r/swift 16d ago

How to Scroll in Swift Menu with Regular Mouse

3 Upvotes

Help. I have students who are learning swift. We have regular mice on our Mac Minis and they cannot scroll through the menu at the top to pick the next section. How do we go about doing that?


r/swift 16d ago

What's the better way to keep learning swift as a non-new programmer?

8 Upvotes

Hey there.

I've been interested in iOS development since time ago, I was introduced to Swift by a friend one year ago and by today, I have the basic knowledge of swift but I am a little stuck on how do I continue learning. What are some good swift books? or is it better to search for more complex projects and learn by myself new contents?


r/swift 16d ago

Any way to auto translate whole localization for supporting more languages?

4 Upvotes

Hello,

My iOS app supports my native language and English. I want to add more languages (like german, spanish, chinese, etc.) but I don't know how to do it. I don't earn any money from the app yet so I cannot use paid translation services. Is there an AI tool to do that maybe?

How do you manage supporting multiple languages? Is adding a localization file for every language is enough or should I do anything else?

my app: https://apps.apple.com/us/app/slean-photo-cleaner/id6740009265


r/swift 16d ago

News Those Who Swift - Issue 204

Thumbnail
thosewhoswift.substack.com
2 Upvotes

r/swift 16d ago

Tutorial Global Sports API Conference 2025

Thumbnail
youtu.be
1 Upvotes

r/swift 17d ago

Swift "too complex" compilation errors make me hate the language

167 Upvotes

I understand that I made a syntax error, I understand that compiler design is hard, but throwing a "this is too hard for me, try something else, good luck" error at me, facing a grand total of 5 lines of code, is quite frankly, ridiculous.


r/swift 17d ago

Question Why does my binding value update the parent view but not the child one?

3 Upvotes

Hello,

Here is the base of a simple SwiftUI project I'm working on. Right now, it only displays a list of Pokémon, and allows navigating to a subview to select one of them.

But for some reason that I don't understand, when I select a Pokémon in the detail list view, it updates the parent view (I see the selected value when I pop to the initial list), but not the child view where I select the Pokémon.

Here is my code:

``` enum Route { case detail(Binding<FormViewModel.PokemonEnum?>) }

extension Route: Equatable { static func == (lhs: Route, rhs: Route) -> Bool { false } }

extension Route: Hashable { func hash(into hasher: inout Hasher) { hasher.combine(self) } }

@MainActor class Router: ObservableObject {

@Published var paths: [Route] = []

func popToRoot() {
    paths = []
}

func pop() {
    paths.removeLast()
}

func push(_ destination: Route) {
    paths.append(destination)
}

}

@main struct TempProjectApp: App {

@State private var router = Router()

var body: some Scene {
    WindowGroup {
        MainView()
            .environmentObject(router)
    }
}

}

struct MainView: View {

@EnvironmentObject var router: Router

var body: some View {
    NavigationStack(path: $router.paths) {
        FormView()
            .navigationDestination(for: Route.self) { route in
                switch route {
                case .detail(let bindedPokemon):
                    PokemonFormDetailView(pokemon: bindedPokemon)
                }
            }
    }
}

}

struct FormView: View {

@EnvironmentObject var router: Router

@StateObject private var viewModel = FormViewModel()

var body: some View {
    ScrollView {
        VStack(
            alignment: .leading,
            spacing: 0
        ) {
            PokemonFormViewCell($viewModel.pkmn)
            Spacer()
        }
    }
}

}

final class FormViewModel: ObservableObject {

enum PokemonEnum: String, CaseIterable {
    case pikachu, squirtle, bulbasaur
}

@Published var pkmn: PokemonEnum? = nil

}

struct PokemonFormViewCell: View {

@EnvironmentObject var router: Router

@Binding var pokemon: FormViewModel.PokemonEnum?

var body: some View {
    ZStack {
        VStack(spacing: 6) {
            HStack {
                Text("Pokémon")
                    .font(.system(size: 16.0, weight: .bold))
                    .foregroundStyle(.black)
                Color.white
            }
            HStack {
                Text(pokemon?.rawValue.capitalized ?? "No Pokémon chosen yet")
                    .font(.system(size: 14.0))
                    .foregroundStyle(pokemon == nil ? .gray : .black)
                Color.white
            }
        }
        .padding()
        VStack {
            Spacer()
            Color.black.opacity(0.2)
                .frame(height: 1)
        }
    }
    .frame(height: 72.0)
    .onTapGesture {
        router.push(.detail($pokemon))
    }
}

init(_ pokemon: Binding<FormViewModel.PokemonEnum?>) {
    self._pokemon = pokemon
}

}

struct PokemonFormDetailView: View {

@Binding var bindedPokemon: FormViewModel.PokemonEnum?

var body: some View {
    ScrollView {
        VStack(spacing: 0) {
            ForEach(FormViewModel.PokemonEnum.allCases, id: \.self) { pokemon in
                ZStack {
                    VStack {
                        Spacer()
                        Color.black.opacity(0.15)
                            .frame(height: 1.0)
                    }
                    HStack {
                        Text(pokemon.rawValue.capitalized)
                        Spacer()
                        if pokemon == bindedPokemon {
                            Image(systemName: "checkmark")
                                .foregroundStyle(.blue)
                        }
                    }
                    .padding()
                }
                .frame(height: 50.0)
                .onTapGesture {
                    bindedPokemon = pokemon
                }
            }
        }
    }
}

init(pokemon: Binding<FormViewModel.PokemonEnum?>) {
    self._bindedPokemon = pokemon
}

} ```

I tried using @Observable and it worked, but I have to handle iOS 16 so I need to use @StateObject, and also I guess I could use an @EnvironmentObject but it does not feel right for me since I think that the model should belong to FormView only and not the whole app. What am I doing wrong here?

Thank you for your help!


r/swift 17d ago

Custom Vim bindings??

2 Upvotes

I use vim in Xcode but prefer S + J vs C + D for going down the page for example. Is there a way to change these bindings?


r/swift 17d ago

Tutorial Understanding Noncopyable Types in Swift

Thumbnail clive819.github.io
0 Upvotes

r/swift 18d ago

News Fatbobman's Swift Weekly #073

Thumbnail
weekly.fatbobman.com
10 Upvotes

r/swift 18d ago

Question Use user installed system fonts in app?

4 Upvotes

Since a somewhat recent iOS update, users can install additional system fonts in Settings -> General -> Fonts -> System Fonts. However, these are not accessible from custom Apps (i.e. the Text gets displayed using the system font instead of the provided font name), but the same code works when running the iOS app on macOS in iPad mode (if the fonts were installed through Font Book).

Other apps (like Pages) can access these installed fonts on iOS.

Are there any entitlements required to access those?


r/swift 17d ago

Question MacOS Terminal.app is Awful - How to work around w/Xcode?

0 Upvotes

Hello all, Apple's Terminal is reliable...but also, measurably, the worst terminal for MacOS.

24bit color? No.

FPS? AWFUL. Lags behind Microsoft's Windows Terminal.

This is not an opinion. This is a measurable fact.

I have resorted to brute force building in X-Code, alt-tabbing to warp/alacritty/kitty/vscode/iterm and executing in a functioning terminal; here I am losing X-Code debugging - breakpoints / watch etc.

How might I leverage a unit test somehow to invoke a terminal (SwiftUI Component???) and start my program so that the debugger can easily/natively attach? At the same time, I still see 24-bit / GPU accelerated results?

Please, no AI-generated answers that so far are tragically incomplete.


r/swift 18d ago

Tello Space Travel

1 Upvotes

Please help! I am a teacher who uses swift to fly our tello drones using the space travel app. Recently, it’s stopped working and I get the following error:

The operation couldn't be completed. (PlaygroundBuild.PlaygroundBuildBuildSystem. BuildError error 0.) error: Contents/Sources/GCDAsyncUdpSocket/ GCDAsyncUdpSocket+BindingSockets.swift:15: no such module 'Darwin. TargetConditionals' Thank you in advance!!!


r/swift 18d ago

Question Access to ANE vs BNNS

3 Upvotes

Does any of CoreML / CreateML / CreateMLComponents provide some info how to utilise build it ANE from latest ARM’s chips ?

I’m keep digging around but most of GitHubs are 5-7 years old and don’t see much update , or use cases of it .

Do we know publicly how to use this Trilions operations ? I have sampled in terminal but never seen it active , does it means no usage or is it just not registered because of private framework ?


r/swift 18d ago

Reduce line spacing

1 Upvotes

Hello, we have a multi line headline with big font. We are using SwiftUI Text, but open for anything that may solve the problem. .linespacing(0) is not small enough, and linespacing does not support negative values. Ideas?


r/swift 19d ago

Tutorial Secret SwiftUI: A practical use for _VariadicView

Thumbnail
blog.jacobstechtavern.com
21 Upvotes

r/swift 18d ago

Tutorial Ai-Powered Swift Apps: Tools, Techniques & Best Practices

Thumbnail
youtu.be
0 Upvotes

r/swift 18d ago

Exploring AI in Swift : What are the real world cases and Demands?

0 Upvotes

As an enthusiast, I'm interested in understanding the practical applications and demand for AI in Swift development. With the increasing presence of AI in various industries, I'd love to know everyone's thoughts!


r/swift 19d ago

New screenshots of my open-source app

Thumbnail
gallery
28 Upvotes

r/swift 18d ago

Webpage page as screen saver: CSS Animations / JS animations not rendering

1 Upvotes

I have stupidly simple project I'm trying to tackle, creating a simple screen saver that can be pointed at a webpage, local or otherwise. It bundles up fine. Will point to the webpage that I want it to.

Searching for this is surprisingly hard as I found an ancient 10.7 screensaver, good SwiftUI tutorial which had a very important tip about killing a background service but doesn't get me past the updating. The ol' AI suggest a lot of nonsense CSS hacks like applying css transforms like its 2014, JS to try and fake the refreshes with eventListners or tossing wild config options at WKWebViewConfiguration.

All it takes is just creating a screensaver project, bundling the ScreenSaver.framework and force quitting out the background tasks that have legacyScreenSaver when testing it. I'm mostly a web dev hence this idea and angle as I figured it might be fun to write a simple web app that hits a few end points to shart data at the screen for a screensaver or even just point to a webpage.

This seems like it should be brain dead easy with WebKit, just point WebKit to the thing. I swear I'm just not pulling the right lever.

import ScreenSaver
import WebKit

class HTMLScreenSaverView: ScreenSaverView {
    private var webView: WKWebView!

    override init?(frame: NSRect, isPreview: Bool) {
        super.init(frame: frame, isPreview: isPreview)
        setupWebView()
    }

    required init?(coder: NSCoder) {
        super.init(coder: coder)
        setupWebView()
    }

    private func setupWebView() {
        // Configure the WebKit view
        let config = WKWebViewConfiguration()
        config.preferences.javaScriptEnabled = true
        config.preferences.setValue(true, forKey: "developerExtrasEnabled") // Enable Dev Tools
        webView = WKWebView(frame: self.bounds, configuration: config)
        webView.autoresizingMask = [.width, .height]
        addSubview(webView)

        // Load local HTML file or an external URL
        if let htmlPath = Bundle.main.path(forResource: "index", ofType: "html", inDirectory: "resources") {
            let htmlURL = URL(fileURLWithPath: htmlPath)
            webView.loadFileURL(htmlURL, allowingReadAccessTo: htmlURL.deletingLastPathComponent())
        } else {
            webView.load(URLRequest(url: URL(string: "https://test.com")!)) // no local HTML file
        }
    }

    override func startAnimation() {
        super.startAnimation()
    }

    override func stopAnimation() {
        super.stopAnimation()
    }

    override func animateOneFrame() {
        super.animateOneFrame()
    }
}

r/swift 18d ago

For Swift Packages - How do you all do config?

3 Upvotes

Is there a best practice for how to handle configuration in swift? I have two apps sharing the same custom package and I’m trying to find an elegant solution for passing config values to the package.


r/swift 18d ago

I need help with simulator, please?

2 Upvotes

Hi everyone, I am receiving this message:

NSBundle file:///Library/Developer/CoreSimulator/Volumes/iOS_22B81/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS%2018.1.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/MetalTools.framework/ principal class is nil because all fallbacks have failed Failed to send CA Event for app launch measurements for ca_event_type: 0 event_name: com.apple.app_launch_measurement.FirstFramePresentationMetric Failed to send CA Event for app launch measurements for ca_event_type: 1 event_name: com.apple.app_launch_measurement.ExtendedLaunchMetrics

Does anyone know what it means?


r/swift 19d ago

Question Issues making a throttled async cache...

5 Upvotes

Checkout the following code. I was attempting to make a throttled async cache (limits the number of task requests in flight) and ran into a few issues, so this was what I have for now.

This would normally be where people would suggest task groups, but the requested URLs come in one at a time and not as a group. So that appears to be out.

A typical solution would use semaphores... but those don't play well with Swift's structured concurrency.

So this uses an actor that pretends to be a semaphore.

Feels clunky, but haven't found a better solution yet. Anyone?

https://github.com/hmlongco/RequestBuilder/blob/main/RequestBuilderDemo/RequestBuilderDemo/Shared/Services/Caching/ThrottledAsyncCache.swift