41554 blogs · [ { "id": "01a0d9c5-68ea-71be-8848-b860d354a878", "title": "Creating a Project in Xcode 27", "url": "https://swiftdevjournal.com/posts/xcode27-create-project/", "published_at": "2026-09-24T18:05:01+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af5fd5b3f3", "title": "Using Top Functions Mode in Instruments to Quickly Find the Slowest Code", "url": "https://swiftdevjournal.com/posts/top-functions/", "published_at": "2026-08-10T17:23:46+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af60c3308f", "title": "SwiftUI Limits I Encountered", "url": "https://swiftdevjournal.com/posts/swiftui-limits/", "published_at": "2026-05-18T17:27:55+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af61699d7f", "title": "Make a SwiftUI Toolbar Customizable", "url": "https://swiftdevjournal.com/posts/make-swiftui-toolbar-customizable/", "published_at": "2026-05-06T16:59:28+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af61ac3e15", "title": "Composing Parsers with the swift-parsing Library", "url": "https://swiftdevjournal.com/posts/composing-parsers/", "published_at": "2026-03-11T18:19:03+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af61df7ae7", "title": "Measure App Launch Time with Instruments", "url": "https://swiftdevjournal.com/posts/measure-app-launch-time/", "published_at": "2026-02-10T17:34:53+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af62b18da5", "title": "Add an Open Recent Menu to a SwiftUI app", "url": "https://swiftdevjournal.com/posts/open-recent-menu/", "published_at": "2026-02-05T19:00:00+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af635df753", "title": "Supporting SwiftUI Sidebar Selection with Multiple Data Types", "url": "https://swiftdevjournal.com/posts/sidebar-selection/", "published_at": "2026-01-06T18:29:32+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af63a8e984", "title": "Introduction to the Swift Subprocess Package", "url": "https://swiftdevjournal.com/posts/subprocess/", "published_at": "2025-12-29T18:12:41+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af63c71a52", "title": "Reducing the Number of .sheet Modifiers in Your SwiftUI Views", "url": "https://swiftdevjournal.com/posts/reducing-sheet-modifiers/", "published_at": "2025-12-15T19:07:01+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af646e6511", "title": "Find the SwiftUI Views that Update the Most Using Instruments", "url": "https://swiftdevjournal.com/posts/swiftui-frequent-view-updates/", "published_at": "2025-11-03T16:44:02+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af64ea19e8", "title": "Swift-Parsing Library Introduction", "url": "https://swiftdevjournal.com/posts/swift-parsing-intro/", "published_at": "2025-10-13T18:54:57+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af65192b3d", "title": "Find the Slow Spots in Your Code with the CPU Profiler Instrument", "url": "https://swiftdevjournal.com/posts/cpu-profiler/", "published_at": "2025-07-24T17:29:07+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af65874712", "title": "Show an Alert from a Menu Item in a SwiftUI Mac App", "url": "https://swiftdevjournal.com/posts/show-swiftui-alert-from-mac-menu/", "published_at": "2025-06-23T16:44:56+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af662ce297", "title": "Open Document-like Windows Using SwiftUI WindowGroup", "url": "https://swiftdevjournal.com/posts/swiftui-window-group/", "published_at": "2025-06-16T18:53:48+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af66ca7e0a", "title": "Instruments Flame Graph Introduction", "url": "https://swiftdevjournal.com/posts/instruments-flame-graph-intro/", "published_at": "2025-03-24T18:09:38+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af678ef1e7", "title": "Using Jujutsu Version Control in Xcode Projects", "url": "https://swiftdevjournal.com/posts/jujutsu-xcode/", "published_at": "2025-03-17T17:31:16+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af6829514d", "title": "See How Many Times Your SwiftUI Views Redraw Using Instruments", "url": "https://swiftdevjournal.com/posts/swiftui-instruments/", "published_at": "2025-03-10T17:07:02+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af68d8cb2f", "title": "Set the Sidebar Initial Width in SwiftUI Navigation Split View", "url": "https://swiftdevjournal.com/posts/set-sidebar-initial-width-in-split-view/", "published_at": "2025-02-24T19:22:06+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af697345cc", "title": "Downloading Older Versions of Xcode", "url": "https://swiftdevjournal.com/posts/downloading-older-xcode-versions/", "published_at": "2025-01-28T18:50:14+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af69a5fb7f", "title": "Troubleshooting File Loading Problems in Swift Apps", "url": "https://swiftdevjournal.com/posts/troubleshooting-file-loading/", "published_at": "2024-11-25T19:08:58+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af6a5848e2", "title": "SwiftUI Tip: Avoid Nesting ObservableObjects", "url": "https://swiftdevjournal.com/swiftui-tip-avoid-nesting-observableobjects/", "published_at": "2024-08-26T23:02:12+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af6aa4e8d9", "title": "macOS by Tutorials Book Review", "url": "https://swiftdevjournal.com/macos-by-tutorials-book-review/", "published_at": "2024-08-05T17:33:14+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af6ac3e4bb", "title": "Save Data in Your Swift App with PropertyListEncoder", "url": "https://swiftdevjournal.com/save-data-in-your-swift-app-with-propertylistencoder/", "published_at": "2024-05-29T19:41:28+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af6b5d97fe", "title": "Running a Command-Line Program from a Mac App", "url": "https://swiftdevjournal.com/running-a-command-line-program-from-a-mac-app/", "published_at": "2024-04-08T17:39:53+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af6b87a019", "title": "Creating a UIKit Xcode Project", "url": "https://swiftdevjournal.com/creating-a-uikit-xcode-project/", "published_at": "2024-02-12T19:02:16+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af6bdfc04f", "title": "How to Learn SwiftUI to Develop Mac Apps", "url": "https://swiftdevjournal.com/how-to-learn-swiftui-to-develop-mac-apps/", "published_at": "2024-02-05T19:09:03+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af6ca750c2", "title": "Deleting an Xcode Project’s Git Repository", "url": "https://swiftdevjournal.com/deleting-an-xcode-projects-git-repository/", "published_at": "2024-01-25T18:48:49+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af6d840de4", "title": "Where is the Info.plist file?", "url": "https://swiftdevjournal.com/where-is-the-info-plist-file/", "published_at": "2024-01-02T19:20:01+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af6e252c2d", "title": "Dealing with the init(destination:tag:selection ) was deprecated in iOS 16.0 message", "url": "https://swiftdevjournal.com/dealing-with-the-initdestinationtagselection-was-deprecated-in-ios-16-0-message/", "published_at": "2023-12-14T19:36:59+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af6ec5bc40", "title": "Dealing with Core Data Duplicate Class Errors", "url": "https://swiftdevjournal.com/dealing-with-core-data-duplicate-class-errors/", "published_at": "2023-11-20T18:23:29+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af6f585158", "title": "Highlighting the Selected Item Button in a SwiftUI List", "url": "https://swiftdevjournal.com/highlighting-the-selected-item-button-in-a-swiftui-list/", "published_at": "2023-10-09T17:55:44+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af6f8d2572", "title": "Creating a SwiftUI Toolbar Button with an Image and a Label", "url": "https://swiftdevjournal.com/creating-a-swiftui-toolbar-button-with-an-image-and-a-label/", "published_at": "2023-10-02T19:30:30+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af6ff90d5a", "title": "Adding a Help Menu to a SwiftUI App", "url": "https://swiftdevjournal.com/adding-a-help-menu-to-a-swiftui-app/", "published_at": "2023-09-11T17:56:46+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af70502426", "title": "Showing a SwiftUI sheet from a Mac Menu", "url": "https://swiftdevjournal.com/showing-a-swiftui-sheet-from-a-mac-menu/", "published_at": "2023-08-30T19:13:28+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af705b91cf", "title": "Showing Local HTML Content in a WKWebView", "url": "https://swiftdevjournal.com/showing-local-html-content-in-a-wkwebview/", "published_at": "2023-08-07T18:20:56+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af70bb52e4", "title": "Running a Mac App Outside of Xcode", "url": "https://swiftdevjournal.com/running-a-mac-app-outside-of-xcode/", "published_at": "2023-07-31T18:56:53+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af7109b61f", "title": "Scene Editor Development: Showing a SwiftUI View Based on a Selection", "url": "https://swiftdevjournal.com/scene-editor-development-showing-a-swiftui-view-based-on-a-selection/", "published_at": "2023-07-17T18:34:39+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af71fd9a86", "title": "Using ReferenceFileDocument to Save SwiftUI Documents", "url": "https://swiftdevjournal.com/using-referencefiledocument-to-save-swiftui-documents/", "published_at": "2023-06-26T17:59:45+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af72734d32", "title": "Scene Editor Development: Unable to Open Scenes", "url": "https://swiftdevjournal.com/scene-editor-development-unable-to-open-scenes/", "published_at": "2023-06-19T18:40:56+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af728f538d", "title": "Scene Editor Development: Saving with NSKeyedArchiver", "url": "https://swiftdevjournal.com/scene-editor-development-saving-with-nskeyedarchiver/", "published_at": "2023-05-30T18:18:40+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af72c3fc48", "title": "Scene Editor Development: Trouble Conforming to Codable", "url": "https://swiftdevjournal.com/scene-editor-development-trouble-conforming-to-codable/", "published_at": "2023-05-22T17:32:39+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af730491cf", "title": "Scene Editor Development: SwiftUI Navigation Issues", "url": "https://swiftdevjournal.com/scene-editor-development-swiftui-navigation-issues/", "published_at": "2023-05-15T17:49:30+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af73375aca", "title": "Scene Editor Development: Updating a SwiftUI List When Adding an Item", "url": "https://swiftdevjournal.com/scene-editor-development-updating-the-scene-graph-when-adding-an-item-to-the-scene/", "published_at": "2023-05-08T17:28:57+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af73cc9b2d", "title": "SwiftUI Open and Save Panels", "url": "https://swiftdevjournal.com/swiftui-open-and-save-panels/", "published_at": "2023-05-04T17:56:29+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af74b60e3a", "title": "Scene Editor Development: Intro", "url": "https://swiftdevjournal.com/scene-editor-development-intro/", "published_at": "2023-05-01T17:53:45+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af7520fb42", "title": "Working on a SwiftUI Project in Xcode and Swift Playgrounds", "url": "https://swiftdevjournal.com/working-on-a-swiftui-project-in-xcode-and-swift-playgrounds/", "published_at": "2023-04-14T18:39:30+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af75bfcfe4", "title": "Scrolling a SwiftUI Sprite View", "url": "https://swiftdevjournal.com/scrolling-a-swiftui-sprite-view/", "published_at": "2023-03-30T18:38:43+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af75ce3968", "title": "Using a UIKit or AppKIt View in SwiftUI", "url": "https://swiftdevjournal.com/using-a-uikit-or-appkit-view-in-swiftui/", "published_at": "2023-02-20T18:48:41+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af761b7e5e", "title": "Storing a Swift Enum in Core Data", "url": "https://swiftdevjournal.com/storing-a-swift-enum-in-core-data/", "published_at": "2023-02-13T19:01:42+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af765f76ad", "title": "Fixing the Type () cannot conform to View Error in Swift", "url": "https://swiftdevjournal.com/fixing-the-type-cannot-conform-to-view-error-in-swift/", "published_at": "2023-01-23T18:18:39+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af77120ec4", "title": "Fixing the Thread 1: Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value error", "url": "https://swiftdevjournal.com/fixing-the-thread-1-fatal-error-unexpectedly-found-nil-while-implicitly-unwrapping-an-optional-value-error/", "published_at": "2023-01-17T18:49:30+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af7782f461", "title": "Fixing the ForEach requires that T conform to Identifiable error in Swift", "url": "https://swiftdevjournal.com/fixing-the-foreach-requires-that-t-conform-to-identifiable-error-in-swift/", "published_at": "2023-01-11T19:11:18+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af77ed51c6", "title": "Fixing the “Async call in a function that doesn’t support concurrency” error in Swift", "url": "https://swiftdevjournal.com/fixing-the-async-call-in-a-function-that-doesnt-support-concurrency-error-in-swift/", "published_at": "2023-01-05T19:27:54+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af78a8f7d0", "title": "Replace Swift print Statements with Xcode Breakpoint Actions", "url": "https://swiftdevjournal.com/replace-swift-print-statements-with-xcode-breakpoint-actions/", "published_at": "2022-12-12T19:11:30+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af794a2672", "title": "Showing a Swift Enum’s Values in a SwiftUI Picker", "url": "https://swiftdevjournal.com/showing-a-swift-enums-values-in-a-swiftui-picker/", "published_at": "2022-12-06T18:53:43+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af79757d92", "title": "Genrerating Swift Code for REST APIs with CreateAPI", "url": "https://swiftdevjournal.com/genrerating-swift-code-for-rest-apis-with-createapi/", "published_at": "2022-11-21T19:26:12+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af79a8dc65", "title": "Navigation Basics for SwiftUI on macOS", "url": "https://swiftdevjournal.com/navigation-basics-for-swiftui-on-macos/", "published_at": "2022-11-11T03:00:17+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af7a4e7f79", "title": "Working with Lists in Multiplatform SwiftUI Apps", "url": "https://swiftdevjournal.com/working-with-lists-in-multiplatform-swiftui-apps/", "published_at": "2022-11-07T18:34:36+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af7b001b73", "title": "Saving Images in Core Data", "url": "https://swiftdevjournal.com/saving-images-in-core-data/", "published_at": "2022-10-31T18:06:03+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af7b7b49cf", "title": "Xcode Multiplatform App Targets", "url": "https://swiftdevjournal.com/xcode-multiplatform-app-targets/", "published_at": "2022-10-24T17:57:43+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af7bc54bc9", "title": "Using the Sparkle Framework in a Sandboxed App", "url": "https://swiftdevjournal.com/using-the-sparkle-framework-in-a-sandboxed-app/", "published_at": "2022-09-26T18:19:45+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af7c3e844f", "title": "Accessing the Sparkle Binary from its Swift Package", "url": "https://swiftdevjournal.com/accessing-the-sparkle-binary-from-its-swift-package/", "published_at": "2022-09-21T17:35:26+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af7c9d2288", "title": "Passing Data to SwiftUI Views", "url": "https://swiftdevjournal.com/passing-data-to-swiftui-views/", "published_at": "2022-09-12T18:51:04+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af7d7fc306", "title": "Getting Started with the Get Networking Framework", "url": "https://swiftdevjournal.com/getting-started-with-the-get-networking-framework/", "published_at": "2022-08-15T18:39:47+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af7dd29e5d", "title": "Saving Passwords in the Keychain in Swift", "url": "https://swiftdevjournal.com/saving-passwords-in-the-keychain-in-swift/", "published_at": "2022-07-12T18:29:42+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af7e4c4f57", "title": "Intro to Making SwiftUI Apps with Swift Playgrounds", "url": "https://swiftdevjournal.com/intro-to-making-swiftui-apps-with-swift-playgrounds/", "published_at": "2022-06-07T17:40:42+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af7edd15ec", "title": "Rija Development: Using OAuth Tokens to Make REST API Calls", "url": "https://swiftdevjournal.com/rija-development-using-oauth-tokens-to-make-rest-api-calls/", "published_at": "2022-05-23T17:50:17+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af7f35b6d9", "title": "Log in to Websites with ASWebAuthenticationSession", "url": "https://swiftdevjournal.com/log-in-to-websites-with-aswebauthenticationsession/", "published_at": "2022-05-11T17:52:38+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af7f6430c4", "title": "Rija Development: OAuth Authorization", "url": "https://swiftdevjournal.com/rija-development-oauth-authorization/", "published_at": "2022-05-06T17:52:19+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af7fc499b5", "title": "Rija Development: Using Jira’s REST APIs", "url": "https://swiftdevjournal.com/rija-development-using-jiras-rest-apis/", "published_at": "2022-05-02T17:52:34+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af80a33edf", "title": "Rija Development: Intro", "url": "https://swiftdevjournal.com/rija-development-intro/", "published_at": "2022-04-25T18:46:04+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af80b03af4", "title": "Dealing with “Failed to prepare device for development” Error Message in Xcode", "url": "https://swiftdevjournal.com/dealing-with-failed-to-prepare-device-for-development-error-message-in-xcode/", "published_at": "2022-03-25T18:56:19+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af813d73a6", "title": "Why Won’t My Xcode Project Build?", "url": "https://swiftdevjournal.com/why-wont-my-xcode-project-build/", "published_at": "2022-03-23T19:58:02+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af81f89d15", "title": "Document Types in SwiftUI Apps", "url": "https://swiftdevjournal.com/document-types-in-swiftui-apps/", "published_at": "2022-01-14T19:24:13+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af825fa882", "title": "Edit Swift Files Outside Xcode", "url": "https://swiftdevjournal.com/edit-swift-files-outside-xcode-2/", "published_at": "2021-11-24T19:21:36+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af831dd702", "title": "Disable a Text Field in a SwiftUI List Until Tapping Edit Button", "url": "https://swiftdevjournal.com/disable-a-text-field-in-a-swiftui-list-until-tapping-edit-button/", "published_at": "2021-11-02T18:03:09+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af83953267", "title": "Moving List Items Using Drag and Drop in SwiftUI Mac Apps", "url": "https://swiftdevjournal.com/moving-list-items-using-drag-and-drop-in-swiftui-mac-apps/", "published_at": "2021-10-28T18:44:05+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af83cb91b7", "title": "What Xcode Files Should Git Track and Ignore?", "url": "https://swiftdevjournal.com/what-xcode-files-should-git-track-and-ignore/", "published_at": "2021-10-21T19:08:30+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af849594d9", "title": "Accessing the Document in a SwiftUI Menu", "url": "https://swiftdevjournal.com/accessing-the-document-in-a-swiftui-menu/", "published_at": "2021-09-20T17:50:02+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af8560d827", "title": "Using New API Features in Swift While Supporting Older OS Versions", "url": "https://swiftdevjournal.com/using-new-api-features-in-swift-while-supporting-older-os-versions/", "published_at": "2021-09-08T18:07:59+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af8646bab6", "title": "Convert a Swift Range to Use String.Index", "url": "https://swiftdevjournal.com/convert-a-swift-range-to-use-string-index/", "published_at": "2021-09-02T18:44:53+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af86fcc430", "title": "Using File Wrappers in a SwiftUI App", "url": "https://swiftdevjournal.com/using-file-wrappers-in-a-swiftui-app/", "published_at": "2021-08-27T18:11:55+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af8749782b", "title": "Creating a Master-Detail Interface in SwiftUI", "url": "https://swiftdevjournal.com/creating-a-master-detail-inteface-in-swiftui/", "published_at": "2021-08-23T18:27:46+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af87e85cca", "title": "Using a Scrollable Text View in a Mac SwiftUI App", "url": "https://swiftdevjournal.com/using-a-scrollable-text-view-in-a-mac-swiftui-app/", "published_at": "2021-08-16T17:40:47+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af8835affe", "title": "Removing Items from SwiftUI Lists in Mac Apps", "url": "https://swiftdevjournal.com/removing-items-from-swiftui-lists-in-mac-apps/", "published_at": "2021-07-01T17:35:58+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af891d717e", "title": "Storing an Array of Custom Structs in Core Data", "url": "https://swiftdevjournal.com/storing-an-array-of-custom-structs-in-core-data/", "published_at": "2021-06-23T18:35:47+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af89f3e340", "title": "Resources for Learning Combine", "url": "https://swiftdevjournal.com/resources-for-learning-combine/", "published_at": "2021-04-22T18:37:13+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af8a012ad4", "title": "Saving Data When Your Swift App Quits", "url": "https://swiftdevjournal.com/saving-data-when-your-app-quits/", "published_at": "2021-04-12T17:48:34+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af8acb6e76", "title": "Xcode Installation Questions", "url": "https://swiftdevjournal.com/xcode-installation-questions/", "published_at": "2021-04-05T17:58:43+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af8b284045", "title": "Where are the Single View and Master-Detail App Project Templates?", "url": "https://swiftdevjournal.com/where-are-the-single-view-and-master-detail-app-project-templates/", "published_at": "2021-02-15T19:53:03+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af8b3787ce", "title": "Using Environment Variables in Swift Apps", "url": "https://swiftdevjournal.com/using-environment-variables-in-swift-apps/", "published_at": "2021-01-25T19:44:04+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af8bea33d1", "title": "Should I learn Swift or SwiftUI?", "url": "https://swiftdevjournal.com/should-i-learn-swift-or-swiftui/", "published_at": "2021-01-11T05:02:19+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af8c97455a", "title": "Getting Started with Swift Unit Testing in Xcode", "url": "https://swiftdevjournal.com/getting-started-with-swift-unit-testing-in-xcode/", "published_at": "2020-12-15T19:05:21+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af8d70d805", "title": "Make a Markdown Editor in SwiftUI", "url": "https://swiftdevjournal.com/make-a-markdown-editor-in-swiftui/", "published_at": "2020-11-23T19:43:37+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af8e5dc8d1", "title": "Renaming Xcode Projects", "url": "https://swiftdevjournal.com/renaming-xcode-projects/", "published_at": "2020-10-19T18:18:42+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af8f0186d1", "title": "How to Notarize a Mac App", "url": "https://swiftdevjournal.com/how-to-notarize-a-mac-app/", "published_at": "2020-10-08T19:01:44+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af8f893961", "title": "Customizing the About Box in Your Mac App", "url": "https://swiftdevjournal.com/customizing-the-about-box-in-your-mac-app/", "published_at": "2020-09-14T18:41:25+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af8fa167ef", "title": "Working with Open and Save Panels in Mac Apps", "url": "https://swiftdevjournal.com/working-with-open-and-save-panels-in-mac-apps/", "published_at": "2020-09-08T18:05:09+00:00" }, { "id": "01a087e8-8379-70e3-ac1f-d8af8ff0f6d5", "title": "Changing the Button Title for Open and Save Panels", "url": "https://swiftdevjournal.com/changing-the-button-title-for-open-and-save-panels/", "published_at": "2020-09-01T19:20:49+00:00" } ] posts Claim your blog
Back to swiftdevjournal.com
Blog · corpus.blog/blogs/swiftdevjournal.com/posts

swiftdevjournal.com

swiftdevjournal.com

2026

2025

2024

2023

2022

2021

2020