54,302 blogs ยท [ { "id": "01a087c6-8a31-728d-9954-fdf3fade30f5", "title": "Using Cursor in Xcode 27", "url": "https://polpiella.dev/cursor-xcode-27/", "published_at": "2026-06-26T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf3fb8ccf0b", "title": "How to install Xcode 26's Metal Toolchain on CI/CD", "url": "https://polpiella.dev/metal-toolchain-ci-cd/", "published_at": "2025-09-30T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf3fc09c470", "title": "A Peek into My Debugging Process (With Real Examples)", "url": "https://polpiella.dev/how-i-fix-bugs-in-my-apps/", "published_at": "2025-07-22T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf3fcf5c5d5", "title": "How to combine lists of Strings into natural and localized sentences in Swift", "url": "https://polpiella.dev/join-list-of-strings/", "published_at": "2025-02-02T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf3fd925787", "title": "How to check if a modifier key is pressed when clicking on a menu bar item in macOS apps", "url": "https://polpiella.dev/menu-bar-modifier-key/", "published_at": "2025-01-19T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf3fdf54fdd", "title": "Using withObservationTracking to monitor changes in @Observable properties outside SwiftUI views", "url": "https://polpiella.dev/observable-outside-of-a-view/", "published_at": "2025-01-11T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf3fe0f518d", "title": "How to keep your macOS app's menu bar item running after quitting the app", "url": "https://polpiella.dev/keep-menu-bar-running-after-quitting-app/", "published_at": "2024-12-31T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf3fec7aa88", "title": "How to change your app's business model from paid to freemium using StoreKit", "url": "https://polpiella.dev/paid-app-to-freemium/", "published_at": "2024-12-06T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf3fed4ee54", "title": "How to create and upload high-quality App Store assets with RocketSim and Helm", "url": "https://polpiella.dev/creating-and-uploading-app-store-assets/", "published_at": "2024-11-20T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf3ff0613b9", "title": "Automate GitHub Tasks with GitHub CLI in Actions Workflows: A Step-by-Step Guide", "url": "https://polpiella.dev/how-to-use-the-github-cli-from-github-actions-workflows/", "published_at": "2024-11-14T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf3ffd55dba", "title": "Automate Apple app code signing using fastlane match", "url": "https://polpiella.dev/automate-code-signing-with-fastlane-match/", "published_at": "2024-11-08T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf400c45a69", "title": "How to automatically update build and version numbers in your app using Fastlane", "url": "https://polpiella.dev/bump-numbers-ci-cd/", "published_at": "2024-10-30T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf40171142c", "title": "How to expedite an app review on the App Store", "url": "https://polpiella.dev/expedited-app-reviews/", "published_at": "2024-10-23T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf40173a075", "title": "How to install the same version of Ruby and Fastlane locally and on CI/CD", "url": "https://polpiella.dev/install-ruby-and-gems-on-ci-cd/", "published_at": "2024-10-17T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf401a8a564", "title": "How to listen for property changes in an @Observable class using AsyncStreams", "url": "https://polpiella.dev/observable-property-changes/", "published_at": "2024-10-10T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf40275008e", "title": "How to run Swift Data and Core Data operations in the background and share models across concurrency contexts", "url": "https://polpiella.dev/core-data-swift-data-concurrency/", "published_at": "2024-10-04T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf403420ac6", "title": "How to build a Safari extension with SwiftUI", "url": "https://polpiella.dev/safari-extensions-swiftui/", "published_at": "2024-09-25T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf40404ede1", "title": "How to pass Bindings to views in SwiftUI's NavigationDestination modifier", "url": "https://polpiella.dev/binding-navigation/", "published_at": "2024-09-16T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf40468a3f8", "title": "How to make ZStack content fully scrollable in a SwiftUI ScrollView", "url": "https://polpiella.dev/scrollable-zstack/", "published_at": "2024-08-28T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf4050b3883", "title": "How to use EditorConfig files in Xcode", "url": "https://polpiella.dev/xcode-editor-config/", "published_at": "2024-08-22T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf405efcbdd", "title": "Developer guide to Swift AWS Lambdas", "url": "https://polpiella.dev/developer-guide-to-swift-aws-lambdas/", "published_at": "2024-08-15T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf406899371", "title": "How to automatically detect memory leaks on CI/CD using UI tests", "url": "https://polpiella.dev/automatically-detect-memory-leaks-using-ui-tests/", "published_at": "2024-08-07T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf406a3544b", "title": "How to programmatically parse the contents of an XCResult bundle", "url": "https://polpiella.dev/parse-contents-of-xcresult-files/", "published_at": "2024-08-01T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf4072e3133", "title": "How to get the checksum of a file in Swift", "url": "https://polpiella.dev/get-checksum/", "published_at": "2024-07-25T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf4073e7b8e", "title": "How to use recursive functions in Swift", "url": "https://polpiella.dev/how-to-use-recursive-functions-in-swift/", "published_at": "2024-07-19T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf407c20fd0", "title": "Check if your app has a newer version on the App Store using Swift", "url": "https://polpiella.dev/newer-version-lookup/", "published_at": "2024-07-11T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf407c6aa25", "title": "Show and hide SwiftUI inspectors with an identifiable item", "url": "https://polpiella.dev/swiftui-inspector-modifier/", "published_at": "2024-07-03T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf4083a02e3", "title": "Free, on-device translations with the Swift Translation API", "url": "https://polpiella.dev/swift-translation-api/", "published_at": "2024-06-19T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf408a1cbcf", "title": "Getting started with Swift Testing", "url": "https://polpiella.dev/swift-testing/", "published_at": "2024-06-12T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf4098039b0", "title": "How to create a SwiftUI floating window in macOS 15", "url": "https://polpiella.dev/creating-a-floating-window-using-swiftui-in-macos-15/", "published_at": "2024-06-11T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf409874f6f", "title": "Removing components from a Date in Swift", "url": "https://polpiella.dev/removing-information-from-a-date-in-swift/", "published_at": "2024-05-30T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf409ea07a7", "title": "How to build segmented circular progress views in SwiftUI with Swift Charts", "url": "https://polpiella.dev/swiftui-charts-progress-views/", "published_at": "2024-05-22T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf40a542ed4", "title": "Building a Swift package using the Swift 6 language mode", "url": "https://polpiella.dev/swift-6-language-mode/", "published_at": "2024-05-15T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf40b2f9f15", "title": "How to profile your app's performance and Main Thread usage with Instruments and os_signposts", "url": "https://polpiella.dev/time-profiler-instruments/", "published_at": "2024-05-08T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf40beb86ac", "title": "Safely unwrap optional values in SwiftUI bindings", "url": "https://polpiella.dev/safely-unwrap-optional-value-in-swiftui-binding/", "published_at": "2024-05-01T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf40c4e39e9", "title": "Creating an App Store Connect-like picker for macOS with SwiftUI", "url": "https://polpiella.dev/app-store-connect-like-picker-with-swiftui/", "published_at": "2024-04-27T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf40cb7e5eb", "title": "Swift 6: Access level on import statements", "url": "https://polpiella.dev/swift-6-import-access-level/", "published_at": "2024-04-17T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf40cf022b2", "title": "Use Swift to recursively search for content in a directory's files with Glob patterns and Regular Expressions", "url": "https://polpiella.dev/recursive-search-glob-and-regex/", "published_at": "2024-04-11T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf40d2f0e65", "title": "Master the reduce operator in Swift and make your code more performant", "url": "https://polpiella.dev/mastering-the-reduce-operator-in-swift/", "published_at": "2024-04-03T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf40e25594a", "title": "Multi-platform Swift Package releases with GitHub Actions", "url": "https://polpiella.dev/multi-platform-swift-package-releases-with-github-actions/", "published_at": "2024-03-27T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf40e871e87", "title": "Generate and read analytics reports from the App Store Connect API", "url": "https://polpiella.dev/analytics-reports-api-app-store-connect/", "published_at": "2024-03-20T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf40f2ae0dd", "title": "Core Data staged migrations", "url": "https://polpiella.dev/staged-migrations/", "published_at": "2024-03-15T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf40f62bf93", "title": "How to generate Swift interfaces from Pkl configuration files using SPM plugins", "url": "https://polpiella.dev/how-to-generate-swift-interfaces-from-pkl-files-with-spm-plugins/", "published_at": "2024-03-06T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf40ffdfafa", "title": "Validate your XCTest utilities and extensions with unit tests", "url": "https://polpiella.dev/validate-your-xctest-utilities-with-unit-tests/", "published_at": "2024-02-29T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf410c6751c", "title": "Custom Core Data migrations", "url": "https://polpiella.dev/custom-core-data-migrations/", "published_at": "2024-02-21T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf411247b87", "title": "Automating app releases for multiple platforms with Xcode Cloud", "url": "https://polpiella.dev/cross-platform-app-releases-with-xcode-cloud/", "published_at": "2024-02-14T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf411266b3d", "title": "Setting up SharePlay on an iOS app", "url": "https://polpiella.dev/setting-up-shareplay-on-an-ios-app-from-scratch/", "published_at": "2024-02-07T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf41206c0d9", "title": "Generating beautiful open-graph images dynamically", "url": "https://polpiella.dev/generating-beautiful-open-graph-images-dynamically/", "published_at": "2024-01-24T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf4122af0ea", "title": "Image to image local Stable Diffusion pipelines with ControlNet in Swift", "url": "https://polpiella.dev/image-to-image-local-stable-diffusion-pipelines-with-controlnet-and-core-ml/", "published_at": "2024-01-17T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf4128f09da", "title": "How I stay up to date as a software developer", "url": "https://polpiella.dev/stay-up-to-date-as-a-software-developer/", "published_at": "2024-01-10T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf4131b45fc", "title": "How to use Stable Diffusion models in a Swift app", "url": "https://polpiella.dev/stable-diffusion-swift-apps/", "published_at": "2024-01-03T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf41400a4be", "title": "Looking back at my 2023", "url": "https://polpiella.dev/looking-back-at-my-2023/", "published_at": "2023-12-26T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf4147271c2", "title": "How to get the most played Apple Music songs and albums using Swift", "url": "https://polpiella.dev/most-played-apple-music/", "published_at": "2023-12-20T00:00:00+00:00" }, { "id": "01a087c6-8a31-728d-9954-fdf4154b0ebd", "title": "Enable upcoming Swift features", "url": "https://polpiella.dev/enable-upcoming-swift-features-in-spm/", "published_at": "2023-12-13T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6eba1b164", "title": "Distributing a Swift Macro using CocoaPods", "url": "https://polpiella.dev/cocoapods-swift-macros/", "published_at": "2023-12-06T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6ec3f5430", "title": "How to import Swift macros without using Swift Package Manager", "url": "https://polpiella.dev/binary-swift-macros/", "published_at": "2023-11-29T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6ed19495d", "title": "Using Swift SDKs to cross-compile Swift packages to Linux", "url": "https://polpiella.dev/swift-sdks/", "published_at": "2023-11-24T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6ed62e353", "title": "Migrating a Core Data store to an App Group shared container", "url": "https://polpiella.dev/core-data-migration-app-group/", "published_at": "2023-11-15T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6edb78410", "title": "Building and testing Swift packages on Windows using GitHub Actions", "url": "https://polpiella.dev/running-swift-on-widnows-with-gha/", "published_at": "2023-11-01T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6ee094045", "title": "Launching a SwiftUI view from the terminal", "url": "https://polpiella.dev/launching-a-swiftui-view-from-the-terminal/", "published_at": "2023-10-18T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6ee811d2c", "title": "Adding an Info.plist file to a Swift executable", "url": "https://polpiella.dev/info-plist-swift-cli/", "published_at": "2023-10-11T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6eea688f5", "title": "Using Core Data and Swift Data side by side", "url": "https://polpiella.dev/core-data-and-swift-data/", "published_at": "2023-10-05T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6eef2b789", "title": "MusicKit and App Clips", "url": "https://polpiella.dev/musickit-and-app-clips/", "published_at": "2023-09-27T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6efd95cbc", "title": "How to create an App Clip for your app", "url": "https://polpiella.dev/create-app-clips/", "published_at": "2023-09-20T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6f07cc203", "title": "Swift on Linux CI/CD using swiftly", "url": "https://polpiella.dev/setting-up-swift-on-linux-ci-cd-using-swiftly/", "published_at": "2023-09-13T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6f176dc96", "title": "Xcode 15: Automated accessibility audits", "url": "https://polpiella.dev/xcode-15-automated-accessibility-audits/", "published_at": "2023-08-30T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6f1afa218", "title": "Named capture groups in Swift regular expressions", "url": "https://polpiella.dev/named-capture-groups-in-swift-regular-expressions/", "published_at": "2023-08-23T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6f2acfc9d", "title": "Building a searchable map with SwiftUI and MapKit", "url": "https://polpiella.dev/mapkit-and-swiftui-searchable-map/", "published_at": "2023-08-16T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6f3549bad", "title": "Delightful SwiftUI image drag & drop for a macOS app", "url": "https://polpiella.dev/qreate-drag-and-drop/", "published_at": "2023-08-09T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6f3ab0395", "title": "Scheduled Swift AWS lambdas", "url": "https://polpiella.dev/scheduled-swift-aws-lambdas/", "published_at": "2023-08-02T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6f4718162", "title": "How to show the app icon and version in a SwiftUI view", "url": "https://polpiella.dev/show-app-icon-and-version-in-a-swiftui-view/", "published_at": "2023-07-26T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6f4bf27f5", "title": "Load custom fonts into your app using Swift Package Plugins", "url": "https://polpiella.dev/load-custom-fonts-with-no-code-using-swift-package-plugins/", "published_at": "2023-07-05T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6f54f2b6a", "title": "Configuring SwiftData in a SwiftUI app", "url": "https://polpiella.dev/configuring-swiftdata-in-a-swiftui-app/", "published_at": "2023-06-28T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6f5bc8f2f", "title": "Understanding mergeable libraries", "url": "https://polpiella.dev/understanding-mergeable-libraries/", "published_at": "2023-06-21T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6f630d4f1", "title": "Version-specific Package.swift files", "url": "https://polpiella.dev/version-specific-package-manifests/", "published_at": "2023-06-14T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6f6ac903e", "title": "Xcode Cloud: Generating and translating TestFlight test notes automatically", "url": "https://polpiella.dev/setting-testflight-test-notes-for-xcode-cloud-builds/", "published_at": "2023-06-09T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6f766308c", "title": "Automatic deployment of Swift AWS lambdas on CI/CD", "url": "https://polpiella.dev/automatic-deployment-of-swift-aws-lambdas-on-ci-cd/", "published_at": "2023-05-31T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6f7fa475d", "title": "Private Swift packages on CI/CD", "url": "https://polpiella.dev/private-swift-packages-on-ci-cd/", "published_at": "2023-05-24T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6f8779b82", "title": "How to avoid a big refactor with the @_exported attribute", "url": "https://polpiella.dev/how-we-avoided-a-big-refactor-with-the-exported-attribute/", "published_at": "2023-05-17T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6f8e89aff", "title": "How to launch a macOS SwiftUI app from a Safari extension", "url": "https://polpiella.dev/how-to-launch-an-app-from-a-safari-extension/", "published_at": "2023-05-10T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6f9c16fac", "title": "Export SwiftUI views as images in macOS", "url": "https://polpiella.dev/how-to-save-swiftui-views-as-images-in-macos/", "published_at": "2023-05-03T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6fa58539f", "title": "GitHub Actions workflows side effects", "url": "https://polpiella.dev/github-action-workflows-side-effects/", "published_at": "2023-04-26T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6fa955a61", "title": "Scheduling app releases with Xcode Cloud", "url": "https://polpiella.dev/scheduling-app-releases-with-xcode-cloud/", "published_at": "2023-04-19T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6fb792b03", "title": "Deploying beta versions of your app to TestFlight and AppCenter using Xcode Cloud", "url": "https://polpiella.dev/how-to-deploy-beta-versions-of-your-app-to-testflight-and-appcenter-with-xcode-cloud/", "published_at": "2023-04-12T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6fbb21cae", "title": "Automating Swift command line tool releases with GitHub Actions", "url": "https://polpiella.dev/automating-swift-package-releases-with-github-actions/", "published_at": "2023-04-05T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6fc0656c4", "title": "Collecting Xcode Cloud metrics using webhooks", "url": "https://polpiella.dev/xcode-cloud-webhooks/", "published_at": "2023-03-29T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6fc2d1175", "title": "Making macOS SwiftUI text views editable on click", "url": "https://polpiella.dev/swiftui-editable-list-text-items/", "published_at": "2023-03-22T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6fd222fbd", "title": "GitHub webhooks ๐Ÿค Xcode Cloud", "url": "https://polpiella.dev/github-webhooks-and-xcode-cloud/", "published_at": "2023-03-15T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6fd4270e2", "title": "How to make an interactive picker for a Swift command-line tool", "url": "https://polpiella.dev/how-to-make-an-interactive-picker-for-a-swift-command-line-tool/", "published_at": "2023-03-08T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6fd5d4b90", "title": "Managing multiple Xcode versions on CI using Fastlane", "url": "https://polpiella.dev/managing-xcode-installs-using-fastlane/", "published_at": "2023-03-01T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6fe40e5d2", "title": "Coming in Swift 5.9: Network requests in Swift package plugins", "url": "https://polpiella.dev/network-requests-in-swift-package-plugins/", "published_at": "2023-02-22T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6fe7f00ae", "title": "Safely pinning SPM dependencies to exact versions", "url": "https://polpiella.dev/safely-pinning-spm-depedencies-to-exact-versions/", "published_at": "2023-02-15T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6fec27f1e", "title": "Using App Store Connect API to trigger Xcode Cloud workflows", "url": "https://polpiella.dev/using-app-store-connect-api-to-trigger-xcode-cloud-workflows/", "published_at": "2023-02-08T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6ffbe8fa7", "title": "Changing orientation for a single screen in SwiftUI", "url": "https://polpiella.dev/changing-orientation-for-a-single-screen-in-swiftui/", "published_at": "2023-02-01T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e6ffbf528b", "title": "Scheduling tweets with GitHub Actions and Swift", "url": "https://polpiella.dev/scheduling-tweets-with-github-actions-and-swift/", "published_at": "2023-01-25T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e70020917a", "title": "Making a serverless Swift function with Fastly and Upstash", "url": "https://polpiella.dev/making-a-serverless-swift-function-with-fastly-and-upstash/", "published_at": "2023-01-18T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e7003e7204", "title": "Fastlane and App Store Connect API keys", "url": "https://polpiella.dev/fastlane-appstore-connect-api-and-github-actions/", "published_at": "2023-01-11T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e7009554da", "title": "Xcode Cloud scripts: Fastlane and Cocoapods", "url": "https://polpiella.dev/xcode-cloud-scripts-fastlane-and-cocoapods/", "published_at": "2023-01-04T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e7012a5bf7", "title": "Looking back at my 2022", "url": "https://polpiella.dev/looking-back-at-my-2022/", "published_at": "2022-12-28T00:00:00+00:00" }, { "id": "01a087c6-8a32-7221-b0ab-c2e701b25636", "title": "Managing multiple versions of Swift locally", "url": "https://polpiella.dev/managing-multiple-swift-versions-locally/", "published_at": "2022-12-21T00:00:00+00:00" } ] posts Claim your blog
Back to polpiella.dev
Blog ยท corpus.blog/blogs/polpiella.dev/posts

polpiella.dev

polpiella.dev

2026

2025

2024

2023

2022