{"id":17243091,"url":"https://github.com/dmrschmidt/ios-toolchain","last_synced_at":"2025-03-26T03:45:02.158Z","repository":{"id":56877927,"uuid":"80426610","full_name":"dmrschmidt/ios-toolchain","owner":"dmrschmidt","description":"common tools for iOS development","archived":false,"fork":false,"pushed_at":"2021-02-20T08:44:37.000Z","size":65,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-01T18:48:26.982Z","etag":null,"topics":["developer-tools","ios","ios-toolchain","tool","tools","toolset"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dmrschmidt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-01-30T14:05:33.000Z","updated_at":"2021-02-20T08:44:29.000Z","dependencies_parsed_at":"2022-08-20T11:40:27.691Z","dependency_job_id":null,"html_url":"https://github.com/dmrschmidt/ios-toolchain","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmrschmidt%2Fios-toolchain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmrschmidt%2Fios-toolchain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmrschmidt%2Fios-toolchain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmrschmidt%2Fios-toolchain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dmrschmidt","download_url":"https://codeload.github.com/dmrschmidt/ios-toolchain/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245585798,"owners_count":20639671,"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","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":["developer-tools","ios","ios-toolchain","tool","tools","toolset"],"created_at":"2024-10-15T06:14:44.950Z","updated_at":"2025-03-26T03:45:02.139Z","avatar_url":"https://github.com/dmrschmidt.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# iOS Toolchain\n\n[![Build Status](https://travis-ci.org/dmrschmidt/ios-toolchain.svg?branch=master)](https://travis-ci.org/dmrschmidt/ios-toolchain/)\n\nA collection of `rake` tasks that help you keep a clean codebase and ease some of the daily pains when working in teams, like handling provisioning certificates.\n\n## Installation\n\nAdd this line to your application's Gemfile:\n\n```ruby\ngem 'ios_toolchain'\n```\n\nNext, you need to make the included rake tasks available to your environment. \n\nAdd the following line to your `Rakefile`:\n\n```ruby\nrequire 'ios_toolchain/tasks'\n```\n\nOnce this is done, verify that the tasks are now available by checking the output of `rake -T`.\n\nFinally, most tasks require some configuration, e.g. to know where your Xcode project is located and what schemes and tasks exist. This configuration is read from a `.ios_toolchain.yml` file, which still needs to be created. Run\n\n```shell\n$ rake toolchain:bootstrap\n```\n\nYou should now have an automatically configured `.ios_toolchain.yml`, which you can open in the editor of your choice if you need any further customization.\n\n**Important Note:** For the above auto configuration, it is assumed that your `*.xcodeproj` file is in the root of your repository, which is also where the `.ios_toolchain.yml` *has* to be located. If your project structure differs, you can pass the path to your Xcode project file as an optional paramater to the above command.\n\n## Usage\n\n### Tasks\nThis is the full list of available tasks, as output by `rake -T`:\n\n    rake git:check_for_uncommitted_changes            # Checks for uncommitted changes and aborts if any are found\n    rake git:push_origin                              # Pushes the current branch to origin\n    rake ios:build:acceptance                         # Builds the app with Acceptance configuration\n    rake ios:build:beta                               # Builds the app with Beta configuration\n    rake ios:build:default                            # Builds the app with Default configuration\n    rake ios:build:with[output_path,configuration]    # Builds the app with specified Configuration to output path\n    rake ios:carthage:fetch                           # Fetches our Carthage dependencies to the locked in versions\n    rake ios:carthage:update                          # updates our Carthage dependencies to the latest version\n    rake ios:clean                                    # Cleans the build \u0026 resets simulator\n    rake ios:clean:build                              # Cleans the build\n    rake ios:clean:simulator                          # Resets the simulator\n    rake ios:export:archive[xcarchive_path,ipa_path]  # builds the app\n    rake ios:provisioning:copy                        # copies provisioning profiles from the repo to the appropriate system location\n    rake ios:specs                                    # Run all the tests: unit and UI, 32bit and 64bit\n    rake ios:specs:slim                               # Run 64bit unit tests only\n    rake ios:specs:ui[skip_32bit]                     # Run the UI tests (optionally skip 32 bit devices)\n    rake ios:specs:unit[skip_32bit]                   # Run the unit tests (optionally skip 32 bit devices)\n    rake ios:tidy                                     # Reports and attempts to tidy up common cleanliness problems with the codebase\n    rake ios:tidy:lint                                # Runs swiftlint\n    rake ios:tidy:project_file                        # Sorts the project file\n    rake ios:tidy:specs                               # Unfocusses any focussed Quick specs\n    rake ios:tidy:whitespace                          # Removes trailing whitespace from code files\n    rake shipit                                       # Checks that we're ready to push, and then pushes the current branch to origin\n    rake toolchain:bootstrap[project_root]            # Bootstraps iOS Toolchain configuration (project_root optional)\n    rake validate                                     # Checks you if you need to do any cleanup of the code before you push\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://github.com/dmrschmidt/ios_toolchain. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.\n\n## Development\n\nAfter checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.\n\nTo install this gem onto your local machine, run `bundle exec rake install`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmrschmidt%2Fios-toolchain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdmrschmidt%2Fios-toolchain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmrschmidt%2Fios-toolchain/lists"}