WWDC is only weeks away, so it's time for me to update my wishlist. One wish came true last year, how many will it be in 2023?| FlineDev Blog – Insights on Swift, Xcode, and Apple Development
I recently discovered, while setting up my first Apple Silicon Mac, that Xcode does not have access to your shell environment. But there’s one caveat to that. (Thanks to Boris for confirming!) This post will hopefully be a reminder to my future self when I encounter this issue again.| Jesse Squires
After setting up my new M3 MacBook Pro, I decided to do some quick performance comparisons with my old Intel machine. Anecdotally, I would have told you that...| Jesse Squires
Put unit tests next to tested Swift code, and run tests from the same Xcode target.| Marcin Krzyżanowski
what? In short: dynamic linking happened. Dynamic linking - what it is? It's an operation that happens when part of the code spreads across different files (called libraries), and the binary content of the library is loaded in runtime. A dynamic linker (which is a system tool) finds| Marcin Krzyżanowski
By implementing Sparkle into RocketSim, I’ve been able to allow developers to install my app on macOS outside of the Mac App Store. I found out that many developers don’t like logging into an iCloud account on their work machine, making it hard to installs apps from the official App Store. Yet, I did not … → The post Sparkle: Distribution apps in- and out of the Mac App Store appeared first on SwiftLee.| SwiftLee
Explore breakthrough features like Foundation Models bringing on-device AI, ChatGPT integration in Xcode, AlarmKit enabling true alarm apps, and major improvements to visionOS spatial experiences.| FlineDev Blog – Insights on Swift, Xcode, and Apple Development
Learn the difference between po, p, and v to inspect variables in Xcode's console.| iOS development by tanaschita.com
In 2025, playing your own music on an iPhone is surprisingly hard, unless you pay Apple or navigate a maze of limitations. So I built my own player from scratch, with full text search, iCloud support, and a local-first experience. GitHub link Why I Built My Own Audio Player Like many people, I’ve picked up too many subscriptions, some through Apple (iCloud, Apple Music), others got lost in random platforms (like Netflix, which I forgot I was still paying for). I actually used Apple Music re...| nexo blog
Learn how to manage different iOS build environments with .xcconfig files.| iOS development by tanaschita.com
Learn how to add and configure debug, staging, and release environments in your iOS app using Xcode.| iOS development by tanaschita.com
Learn the foundational concepts of Xcode build configuration and how targets, schemes, and configurations work together.| iOS development by tanaschita.com
For a long time I thought Visual Studio was probably better at coding in C++ than Xcode, mostly based on anecdotal evidence. I’ve now worked with Xcode just shy of a year and can root my opinion in some concrete differences.| Lasse Laursen
Meeting the requirements for screenshots is a frustrating experience. On iOS, tooling like SimulatorStatusMagic, Nine41, and fastlane snapshot help make the process easier. However, on macOS there is much less support (and, sadly, demand) for automated tooling — so you are kind of on your own to figure it out. I spent some time recently solving this process for myself. I want to share how I have managed to automate perfect screenshots for the Mac App Store.| Jesse Squires
Xcode automatically creates schemes for your app and other targets included in your project, which allow you to build and run those targets. I recently ran i...| Jesse Squires
Swift macros are powerful but can break your CI pipeline with trust errors. Learn how to implement a simple post-clone script that solves the "Target must be enabled" error in Xcode Cloud once and for all.| FlineDev Blog – Insights on Swift, Xcode, and Apple Development
Did you know that Xcode can spell check your code and comments? Based on my experience working on large teams and large Xcode projects, this is a little-know...| Jesse Squires
ApprovalTests is a new testing tool for Swift, providing an alternative to assertions. Watch this 5-minute demo to learn the basics of getting started.| Quality Coding
Learn how to use different accessibility modifiers in SwiftUI.| iOS development by tanaschita.com
Learn how to add local dependencies to your iOS project by using Swift Package Manager and Xcode| iOS development by tanaschita.com
Learn how to add, update and delete remote dependencies using the Swift Package Manager and Xcode| iOS development by tanaschita.com
Learn how to create and manage Swift Packages.| iOS development by tanaschita.com
Learn to support plurals for multiple languages.| iOS development by tanaschita.com
Increase your productivity when working with Xcode.| iOS development by tanaschita.com
A workflow to memorize Xcode keyboard shortcuts.| iOS development by tanaschita.com
Learn how to log events and errors in your iOS app with Swift's logging API.| iOS development by tanaschita.com
Learn how to improve type safety when working with semantic colors.| iOS development by tanaschita.com
An unexpected solution to finding a crash explanation.| Chris Wu
UIKit provides two diffable data source APIs, one for collections and one for tables.| Jesse Squires
Just found this today in a Slack channel. It seems we can actually reference and re-use Xib files by overriding awakeFromCoder! > If we are loading from placeholder view, we create a real view and then ...| Christian Tietze
Want to learn how to efficiently profile the size of your app or binary on iOS? This article covers simple techniques and advanced tools, providing valuable insights for developers aiming to optimize app performance and minimize bloat. Check it out!| Testableapple
Intro| Testableapple
There came a day when we needed to run Unit or E2E tests on older iOS versions on CI. Sounds like a piece of cake. What could go wrong? Turns out dealing with older runtimes is not that easy and obvious. Let’s get into this briefly and find out what options we have.| Testableapple
While the new Swift Testing framework announced this year at WWDC24 is getting a lot of attention, there are some notable improvements coming to UI testing in XCTest in Xcode 16.| Jesse Squires
Discover the importance of inspecting network traffic in app development. Explore different tools and optimize your app's performance.| SwiftLee
More and more Apple Platform developers are migrating away from CocoaPods in favor the Swift Package Manager, which is Apple’s first-party tool for managing ...| Jesse Squires
At last year’s WWDC, Apple introduced privacy manifests. They recently sent out a reminder that the deadline for complying with these new requirements is May...| Jesse Squires
Recently I was thinking about the idea I’d posted on simplifying backwards compatibility in Swift, and was also thinking about some of the principles of kindness that I wrote about in my article on API design.| Dave DeLong
On macOS 14 Sonoma there is a regression in Swift 5.9 which causes Swift scripts that import Cocoa frameworks to fail. This issue was first reported by @rdj....| Jesse Squires
How to fix this unfortunately common problem.| Ampersand Softworks
While working on updating iOS screenshots for the App Store recently, I discovered that simctl status_bar is still broken. And unfortunately, I do not expect...| Jesse Squires
Software development best practices prescribe strict separation of configuration from code. Learn how you can use xcconfig files to make your Xcode projects more compact, comprehensible, and powerful.| NSHipster
Learn how to manually symbolicate crash reports using Xcode Organizer, IPS files and dSYM files to generate symbols.| SwiftLee
Background| blog.darlinghq.org
In the previous post, I described a problematic warning introduced by the new linker in Xcode 15. In it, I shared that the warning can be effectively disabled by passing a suitable argument to the linker:OTHER_LDFLAGS = -Wl,-no_warn_duplicate_librariesThis simple declaration will address the pr| Indie Stack
Apple released Xcode 15 a couple weeks ago, after debuting the beta at WWDC in June, and shipping several beta updates over the summer.I’ve been using the betas on my main work machine, and for months I’ve been mildly annoyed by warnings such as these:ld: warning: ignoring duplicate| Indie Stack
Apple added a new build setting to Xcode last year, ENABLE_USER_SCRIPT_SANDBOXING, which controls whether any "Run Script" build phases will be run in a sandbox or not. From the Xcode 14 Release Notes:You can now enable sandboxing for shell script build phases using the ENABLE_USER_SCRIPT_SANDBOX| Indie Stack
While perusing Xcode's AppleScript scripting dictionary, I was surprised to discover a rather robust "example code" section included right there among the usually spartan reference of the app's scriptable entities:Curious to learn more, I used a relatively little-known trick for examining the ra| Indie Stack
In recent months I've noticed an accumulation of garbage log messages when I'm debugging an app in Xcode. Line after line along the lines of:[] [0x124858a00] CVDisplayLinkStart[] [0x124858a20] CVDisplayLink::start[] [0x600003c3cee0] CVXTime::resetToday I went digging to find the source of th| Indie Stack
Learn to capture screenshots & record videos in iOS Simulator using built-in options and Terminal commands.| John Codeos
Build a PDF Reader app in iOS with Swift! Our quick tutorial teaches you how to use PDFKit and UIDocumentPickerViewController to select and display PDF files| John Codeos
Learn how to animate a view when the keyboard appears or disappears.| John Codeos
Managing credentials in native tests on iOS is not as straightforward as it might seem. In this post, I share with you how we can achieve this after all and even make it work not only from the Command-line via xcodebuild but also from its majesty Xcode.| Testableapple
Learn how to simplify the process of adding and deleting files in your Xcode project programmatically using Xcodeproj, a powerful Ruby gem developed by the CocoaPods team. Discover how this tool enables seamless manipulation of the complex project.pbxproj file, eliminating the need for manual edits and streamlining code generation in Xcode.| Testableapple
When developing exploits or working on jailbroken devices, it's often useful to build command-line tools for iOS. While the Xcode UI does not support this, I...| bazad.github.io