Skip to content

Instantly share code, notes, and snippets.

@danielewood
Last active October 21, 2021 17:25
Show Gist options
  • Save danielewood/203defb09a5f0387d7cbbc4d12c636d6 to your computer and use it in GitHub Desktop.
Save danielewood/203defb09a5f0387d7cbbc4d12c636d6 to your computer and use it in GitHub Desktop.
Allow Building iOS 15+ compatible IPAs using Xcode 12.4, the last build for Catalina.
  1. Download the latest Xcode IPA.
  2. Unzip the XIP
  3. Rename to Xcode.app to Xcode-beta.app (Genericized, so it works with 13, 13.1, etc)
  4. Move Xcode-beta.app to /Applications
  5. Symlink the Device support from Xcode-beta into your Xcode 12.4 App:
MAX_iPhoneOS=$(ls Xcode_13.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/ | awk  'BEGIN{max=0}{if(($1)>max)  max=($1)}END {print max}')
sudo ln -s /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/${MAX_iPhoneOS}/ /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

MAX_WatchOS=$(ls Xcode_13.app/Contents/Developer/Platforms/WatchOS.platform/DeviceSupport/ | awk  'BEGIN{max=0}{if(($1)>max)  max=($1)}END {print max}')
sudo ln -s /Applications/Xcode-beta.app/Contents/Developer/Platforms/WatchOS.platform/DeviceSupport/${MAX_WatchOS}/ /Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform/DeviceSupport

MAX_AppleTVOS=$(ls Xcode_13.app/Contents/Developer/Platforms/AppleTVOS.platform/DeviceSupport/ | awk  'BEGIN{max=0}{if(($1)>max)  max=($1)}END {print max}')
sudo ln -s /Applications/Xcode-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/DeviceSupport/${MAX_AppleTVOS}/ /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/DeviceSupport
  1. Update your project and make sure the OTHER_CODE_SIGN_FLAGS variable has the following within it: "--generate-entitlement-der"

Example from the pbxproj:

		{
			buildSettings = {
				OTHER_CODE_SIGN_FLAGS = "--generate-entitlement-der";
			};
			name = Debug;
		};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment