All Projects → RobotsAndPencils → Xcodesapp

RobotsAndPencils / Xcodesapp

Licence: mit
The easiest way to install and switch between multiple versions of Xcode - with a mouse click.

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Xcodesapp

Gedatsu
Gedatsu provide readable format about AutoLayout error console log
Stars: ✭ 464 (-9.02%)
Mutual labels:  xcode
Xcprojectlint
A security blanket for Xcode project files
Stars: ✭ 478 (-6.27%)
Mutual labels:  xcode
Icepa
iOS system-wide VPN based Tor client
Stars: ✭ 519 (+1.76%)
Mutual labels:  xcode
Cocoadebugkit
Debugging made easy. Automatically create QuickLook images of custom objects
Stars: ✭ 466 (-8.63%)
Mutual labels:  xcode
Ttsegmentedcontrol
An elegant, animated and customizable segmented control for iOS created by Tapptitude
Stars: ✭ 471 (-7.65%)
Mutual labels:  xcode
Tinyfaces
Free stock avatars for everyone 👦🏼👨🏾👩🏻 (Built w/ Swift)
Stars: ✭ 498 (-2.35%)
Mutual labels:  xcode
Dnspageview
一个纯 Swift 的轻量级、灵活且易于使用的 pageView
Stars: ✭ 461 (-9.61%)
Mutual labels:  xcode
Clipy
Clipboard extension app for macOS.
Stars: ✭ 5,574 (+992.94%)
Mutual labels:  xcode
Brisk
A proof of concept scripting library for Swift
Stars: ✭ 478 (-6.27%)
Mutual labels:  xcode
Playalways
Create Xcode playgrounds from your menu bar
Stars: ✭ 515 (+0.98%)
Mutual labels:  xcode
Xcov
Nice code coverage reporting without hassle
Stars: ✭ 467 (-8.43%)
Mutual labels:  xcode
Swiftai
SwiftAI, write Swift code smart. SwiftAI can generate Model class from JSON now. Codable and HandyJSON is supported. More features will be add.
Stars: ✭ 470 (-7.84%)
Mutual labels:  xcode
Progresskit
Progress Views for Cocoa
Stars: ✭ 510 (+0%)
Mutual labels:  xcode
Controlroom
A macOS app to control the Xcode Simulator.
Stars: ✭ 4,617 (+805.29%)
Mutual labels:  xcode
Swiftmockgeneratorforxcode
An Xcode extension (plugin) to generate Swift test doubles automatically.
Stars: ✭ 522 (+2.35%)
Mutual labels:  xcode
Example Ios Apps
 A curated list of Open Source example iOS apps developed in Swift. An amazing list for people who are beginners and learning ios development and for ios developers who need any example app or feature.
Stars: ✭ 461 (-9.61%)
Mutual labels:  xcode
Xctesthtmlreport
Xcode-like HTML report for Unit and UI Tests
Stars: ✭ 489 (-4.12%)
Mutual labels:  xcode
Rangeseekslider
RangeSeedSlider provides a customizable range slider like a UISlider.
Stars: ✭ 524 (+2.75%)
Mutual labels:  xcode
Mkdropdownmenu
🔻 Dropdown Menu for iOS with many customizable parameters to suit any needs
Stars: ✭ 523 (+2.55%)
Mutual labels:  xcode
Shenzhen
CLI for Building & Distributing iOS Apps (.ipa Files)
Stars: ✭ 4,668 (+815.29%)
Mutual labels:  xcode

Xcodes.app

The easiest way to install and switch between multiple versions of Xcode.

If you're looking for a command-line version of Xcodes.app, try xcodes.

CI

Features

  • List all available Xcode versions from Xcode Releases' data or the Apple Developer website.
  • Install any Xcode version, fully automated from start to finish. Xcodes uses aria2, which uses up to 16 connections to download 3-5x faster than URLSession.
  • Just click a button to make a version active with xcode-select.
  • View release notes, OS compatibility, included SDKs and compilers from Xcode Releases.

Installation

Xcodes.app runs on macOS Big Sur 11.0 or later.

Homebrew Cask

brew install --cask xcodes

# These are Developer ID-signed and notarized release builds and don't require Xcode to already be installed in order to use.

Download a release

  1. Download the latest version here using the Xcodes.zip asset. These are Developer ID-signed and notarized release builds and don't require Xcode to already be installed in order to use.
  2. Move the unzipped Xcodes.app to your /Applications directory

Development

You'll need macOS 11 Big Sur and Xcode 12 in order to build and run Xcodes.app.

If you aren't a Robots and Pencils employee you'll need to change the CODE_SIGNING_SUBJECT_ORGANIZATIONAL_UNIT build setting to your Apple Developer team ID in order for code signing validation to succeed between the main app and the privileged helper.

Notable design decisions are recorded in DECISIONS.md. The Apple authentication flow is described in Apple.paw, which will allow you to play with the API endpoints that are involved using the Paw app.

xcode-install and fastlane/spaceship both deserve credit for figuring out the hard parts of what makes this possible.

Releasing a new version

Follow the steps below to build and release a new version of Xcodes.app. For any of the git steps, you can use your preferred tool, but please sign the tag.

# Update the version number in Xcode and commit the change, if necessary

# Question: Did anything in XPCHelper change? 
# - com.robotsandpencils.XcodesApp.Helper folder and HelperXPCShared
# - if so, bump the version number in com.robotsandpencils.XcodesApp.Helper target. 
# Note: you do not have to bump the version number if nothing has changed.
# Note2: If you do bump the version, the end user, must re-install the XPCHelper and give permission again.

# Increment the build number
scripts/increment_build_number.sh

# Commit the change
git add Xcodes/Resources/Info.plist
git commit -asm "Increment build number"

# Tag the latest commit
# Replace $VERSION and $BUILD below with the latest real values
git tag -asm "v$VERSIONb$BUILD" "v$VERSIONb$BUILD"

# Push to origin
git push --follow-tags

# Build the app
# Make sure you have the Xcode Selected you want to build with
scripts/package_release.sh

# Notarize the app
# Do this from the Product directory so the app is zipped without being nested inside Product
# Create a app specific password on appleid.apple.com if you haven't already
# % xcrun altool --store-password-in-keychain-item "AC_PASSWORD" -u "<appleiduseremail>" -p <app_specific_secret>

pushd Product
../scripts/notarize.sh "[email protected]" "@keychain:AC_PASSWORD" <MyOrg> Xcodes.zip

# Sign the .zip for Sparkle, note the signature in the output for later
# If you're warned about the signing key not being found, see the Xcodes 1Password vault for the key and installation instructions.
../scripts/sign_update Xcodes.zip
popd

# Go to https://github.com/RobotsAndPencils/XcodesApp/releases
# If there are uncategorized PRs, add the appropriate label and run the Release Drafter action manually
# Edit the latest draft release
# Set its tag to the tag you just pushed
# Set its title to a string with the format "$VERSION ($BUILD)"
# Polish the draft release notes, if necessary
# Add the signature to the bottom of the release notes in a comment, like:
<!-- sparkle:edSignature=$SIGNATURE -->
# Attach the zip that was created in the Product directory to the release
# Publish the release

# Update the [Homebrew Cask](https://github.com/RobotsAndPencils/homebrew-cask/blob/master/Casks/xcodes.rb).

Contact

Made with ❤️ by Robots & Pencils

Twitter | GitHub

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].