{"id":13567341,"url":"https://github.com/timsutton/docker-download-xcode","last_synced_at":"2025-08-31T04:10:05.338Z","repository":{"id":145808592,"uuid":"381062641","full_name":"timsutton/docker-download-xcode","owner":"timsutton","description":"Tools and docker image to automate downloading Xcode","archived":false,"fork":false,"pushed_at":"2021-12-11T15:23:06.000Z","size":7,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-26T21:14:24.065Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/timsutton.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-06-28T14:36:10.000Z","updated_at":"2023-07-17T05:50:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"fe9c3e26-3efe-4c4c-8ae1-1a8d219711fd","html_url":"https://github.com/timsutton/docker-download-xcode","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/timsutton/docker-download-xcode","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timsutton%2Fdocker-download-xcode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timsutton%2Fdocker-download-xcode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timsutton%2Fdocker-download-xcode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timsutton%2Fdocker-download-xcode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/timsutton","download_url":"https://codeload.github.com/timsutton/docker-download-xcode/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timsutton%2Fdocker-download-xcode/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272936580,"owners_count":25018200,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-31T02:00:09.071Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T13:02:28.904Z","updated_at":"2025-08-31T04:10:05.312Z","avatar_url":"https://github.com/timsutton.png","language":"Ruby","funding_links":[],"categories":["Ruby"],"sub_categories":[],"readme":"# docker-download-xcode\n\n**NOTE:** Xcode 13's xip archive uses a format that's incompatible with this method. This is documented in the [Xcode 13 release notes](https://developer.apple.com/documentation/xcode-release-notes/xcode-13-release-notes) (`Note: Other methods of expanding the archive may produce a broken Xcode app. (78714333)`) I haven't personally done any investigation as to fixing this.\n\nA very much work-in-progress tool to help make fetching new Xcodes easier whether on macOS or Linux.\n\nThe approach is very similar to that of [XcodeInstall](https://github.com/xcpretty/xcode-install), except we obtain the download URLs via https://xcodereleases.com because:\n\n* they are well-maintained, and quickly updated as new betas/release versions are released by Apple\n* grabbing a download URL out of their JSON feed is simpler and less prone to breakage than needing to parse Apple's developer pages\n* there is additional useful metadata not exposed by Apple at the feed level:\n  * the specific beta versions as well as build versions\n  * minimum required OS versions (equivalent of the `LSMinimumSystemVersion` Info plist key)\n  * compiler versions\n  * SHA-1 checksums of the .xip files\n\nUltimately I'm hoping to integrate this into an Xcode archiving-and-repackaging workflow that doesn't explicitly require macOS, using an approach like that of [docker-xip](https://github.com/timsutton/docker-xip).\n\n## Setup\n\n### From Docker:\n\nBuild a local docker image:\n\n```\nscripts/build.sh\n```\n\nIt will need ADC credentials in order to retrieve Xcodes from the ADC portal. We can generate some persistent ADC credentials using [Fastlane Spaceship](https://github.com/fastlane/fastlane/tree/master/spaceship). One way to do this is via `fastlane spaceauth -u your@adc.login.email.com` using the docker image we just built:\n\n```\n# using -it to run this interactively because it will prompt for a password and (likely) 2FA\ndocker run -it download-xcode fastlane spaceauth -u your@adc.login.email.com\n```\n\n\nCopy-paste the `export FASTLANE_SESSION='...'` output. You'll also need to export `FASTLANE_USER=your@adc.login.email.com`, and in my testing, a dummy password value for the password. The password bit might just be me holding Fastlane/Spaceship wrong.\n\n```\nexport FASTLANE_USER=your@adc.login.email.com\nexport FASTLANE_PASSWORD=nope\nexport FASTLANE_SESSION='\u003coutput copy/pasted from `fastlane spaceauth`\u003e'\n```\n\n### Locally:\n\nIf you want to use an existing local Ruby environment or not bother with Docker, you can simply run this locally:\n\n```\n# change to desired Ruby version\nbundle install\nbundle exec ruby app/download.rb \u003cversion\u003e\n```\n\n## Usage\n\nJust run the docker image given an Xcode version as an argument: \n```\nscripts/run.sh 12.5.1\n```\n\nNo beta versions supported yet.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimsutton%2Fdocker-download-xcode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimsutton%2Fdocker-download-xcode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimsutton%2Fdocker-download-xcode/lists"}