MrCloud / xcbetarunner

Run & Debug projects [easily] with stable Xcode on beta iOS devices

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SwiftDate

Debug & Test your app on iOS's beta device using stable Xcode version

★★ Star me to follow the project! ★★
Created and maintained by Daniele Margutti - www.danielemargutti.com

What's xcbetarunner?

xcbetarunner is a really simple command line utility which allows you to deploy and test your application using stable XCode version inside a device where you have installed an iOS Beta or Pre-Release version.

Usage

There are three different commands you can use with xcbetarunner:

1. List iOS DeviceSupport's SDK for an Xcode version

The following command return a list of all iOS DeviceSupport's SDKs available in a particular Xcode version (if xc parameter is not specified /Applications/Xcode is used instead).

~ xcbetarunner -a list [-xc <path_to_xcode>]

Result is something like this:

~ xcbetarunner -a list
📲 Welcome to xcbetarunner

18 SDKs supported by Xcode 10.0(18A313):
- 11.4 (15F79)
- 11.3
- 11.2
- 11.1
- 11.0
...

2. Compare for new DeviceSupport's SDKs between two Xcode versions

The following command return the list of new DeviceSupport's SDKs currently available on Xcode-beta.app which are not available on Xcode.app (you can change versions by passing -xc <path> paramater for a different Xcode.app and - xcb <path> for a different Xcode-beta.app).

~ xcbetarunner -a new

Result is something like this:

~ xcbetarunner -a new
📲 Welcome to xcbetarunner, a simple way to use new iOS SDKs on old XCode

2 SDKs from Xcode 10.0(18A313) but not available on Xcode 9.4.1(17E158):
- 12.0 (16A5318d)
- 11.4

3. Use DeviceSupport's SDKs from Xcode-beta to Xcode stable

The last command is the most important of the set. It allows you to support device with a specified iOS SDK version (available in an Xcode-beta.app) inside your Xcode.app stable version.

As for previous you can specify both the -xc and -xcb parameter (if xc parameter is not specified /Applications/Xcode.app is used instead, if xcb is not specified /Applications/Xcode-beta.app ).

sudo is required for this command.

Copy all new SDKs not available into stable Xcode.app

~ sudo xcbetarunner -a use -sdk all

or

~ sudo xcbetarunner -a sync

Copy specified SDKs into stable Xcode.app

The following command copy SDK named/contained into 12.0 (16A5318d) folder. (You can pass multiple SDKs by passing a , separated list as -sdk parameter).

~ sudo xcbetarunner -a use -sdk 12.0\ \(16A5318d\)

Result is like this:

~ sudo xcbetarunner -a use -sdk 12.0\ \(16A5318d\)
Password:
📲 Welcome to xcbetarunner, a simple way to use new iOS SDKs on old XCode

🕑 Now copying "12.0 (16A5318d)"...
✅ Device Support for SDK "12.0 (16A5318d)" is now available on Xcode 9.4.1(17E158) 🎉

Default behaviour create a symbolic link (enough if you plan to keep the Xcode-beta.app installed in your system). If you want to copy the SDK (it requires a bit more time) just puss -l false as parameter.

Installation

Installation is pretty simple, just execute the following commands from your terminal. Application will be installed in /usr/local/bin folder and you can use it using xbetarunner command.

$ git clone git@github.com:malcommac/xcbetarunner.git
$ cd xcbetarunner
$ make

Installation with Mint

$ mint install malcommac/xcbetarunner

Now you can call it just by using xcbetarunner from your terminal, followed by the required arguments.

Questions or feedback?

xcbetarunner was created by Daniele Margutti.

Feel free to open an issue, or find me @danielemargutti on Twitter.

About

Run & Debug projects [easily] with stable Xcode on beta iOS devices

License:MIT License


Languages

Language:Swift 95.5%Language:Makefile 4.5%