Background on problem:
I have an iPhone 6s that has updated itself to iOS 13.4. Before the iOS update, I could code + run my app on the device from
Here's an alternative solution that doesn't require downloading files from an untrusted source:
Install the latest release of Xcode that runs on Mojave (currently Xcode 11.3.1). It can be downloaded from Apple's developer pages.
From the same page, download a release of Xcode that supports iOS 13.4 (for example Xcode 11.4.1). Unzip it, rename it to "Xcode-11.4.1.app" and move it to the Applications folder, but don't run it.
Add a symbolic link for iOS 13.4 from the DeviceSupport folder in Xcode 11.4.1 to Xcode 11.3.1, as described in Peter Steinberger's Gist.
If you use the versions used in this answer, the command to add the symbolic link would be
sudo ln -s /Applications/Xcode-11.4.1.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/13.4 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
You can run Xcode 11.4 - 11.7 on your Mac which is running 10.14.
LSMinimumSystemVersion
in Xcode.app/Contents/Info.plist
from 10.15.x to 10.14However, this trick doesn't work for Xcode 12, which requires some frameworks that do not exists in macOS Mojave.
My Apple TV 4K was running tvOS 13.3 and I upgraded to 13.4 which required that I use this technique to keep working with Xcode 11.3.1.
What is odd is that in the DeviceSupport folder, Xcode 11.3.1 only ships with tvOS up to 13.2. So how did it ever work with a hardware device running 13.3? I guess 13.2 and 13.3 are close enough that 13.2 still works.
13.4 does not work out of the box, so I copied both 13.3 and 13.4 from the Xcode 11.4.1 app into my 11.3.1 app. All is well again.
You cannot run Xcode 11.4 on Mojave but you can add support for iOS 13.4
Consider that this way adds only the support for iOS 13.4, nothing else.
Update: This does not work with iOS 14 because iOS 14 requires Xcode 12.
You can run Xcode 11.4 - 11.7 on your Mac which is running 10.14.
LSMinimumSystemVersion
in Xcode.app/Contents/Info.plist
from 10.15.x to 10.14.6Now you can use Xcode 11.4 ~ 11.7 without upgrading to Catalina. However, this trick doesn't work for Xcode 12. I tried this trick on my mac mojave 10.4.6