{"id":14985120,"url":"https://github.com/home-assistant/ios","last_synced_at":"2025-05-14T05:10:24.958Z","repository":{"id":39333138,"uuid":"55336932","full_name":"home-assistant/iOS","owner":"home-assistant","description":":iphone: Home Assistant for Apple platforms","archived":false,"fork":false,"pushed_at":"2025-05-10T06:03:34.000Z","size":180163,"stargazers_count":1862,"open_issues_count":256,"forks_count":354,"subscribers_count":80,"default_branch":"master","last_synced_at":"2025-05-12T02:56:18.396Z","etag":null,"topics":["hacktoberfest","home-assistant","home-automation","ios","macos","open-source-app","swift"],"latest_commit_sha":null,"homepage":"https://companion.home-assistant.io","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/home-assistant.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"custom":"https://www.openhomefoundation.org"}},"created_at":"2016-04-03T08:28:34.000Z","updated_at":"2025-05-11T00:44:30.000Z","dependencies_parsed_at":"2023-11-15T10:32:48.764Z","dependency_job_id":"dc13943e-023a-4d9f-8047-f7c644e081d7","html_url":"https://github.com/home-assistant/iOS","commit_stats":{"total_commits":2968,"total_committers":50,"mean_commits":59.36,"dds":0.543800539083558,"last_synced_commit":"6d641e806ec61f4f5b9aaaad3dedf8fdb63905bc"},"previous_names":[],"tags_count":281,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/home-assistant%2FiOS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/home-assistant%2FiOS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/home-assistant%2FiOS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/home-assistant%2FiOS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/home-assistant","download_url":"https://codeload.github.com/home-assistant/iOS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254076850,"owners_count":22010611,"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":["hacktoberfest","home-assistant","home-automation","ios","macos","open-source-app","swift"],"created_at":"2024-09-24T14:10:20.331Z","updated_at":"2025-05-14T05:10:24.930Z","avatar_url":"https://github.com/home-assistant.png","language":"Swift","readme":"Home Assistant for Apple Platforms\n=================\n\n[![TestFlight Beta invite](https://img.shields.io/badge/TestFlight-Beta-blue.svg)](https://www.home-assistant.io/ios/beta/)\n[![Download on the App Store](https://img.shields.io/itunes/v/1099568401.svg)](https://itunes.apple.com/app/home-assistant-open-source-home-automation/id1099568401)\n[![GitHub issues](https://img.shields.io/github/issues/home-assistant/iOS.svg?style=flat)](https://github.com/home-assistant/iOS/issues)\n[![License Apache 2.0](https://img.shields.io/badge/license-Apache%202.0-green.svg?style=flat)](https://github.com/home-assistant/iOS/blob/master/LICENSE)\n\n## Getting Started\n\nHome Assistant uses Bundler, Homebrew and Cocoapods to manage build dependencies. You'll need Xcode 15.3 (or later) which you can download from the [App Store](https://developer.apple.com/download/). You can get the app running using the following commands:\n\n```bash\ngit clone https://github.com/home-assistant/iOS.git\ncd iOS\n\n# you must do one of the following, but you do not need to do all of them:\n\n## install cocoapods via homebrew, use that\nbrew install cocoapods\n$(brew --prefix)/opt/ruby/bin/gem install cocoapods-acknowledgements\npod install --repo-update\n\n## install ruby via homebrew, use that\nbrew install ruby@3.1\n$(brew --prefix)/opt/ruby@3.1/bin/bundle install\n$(brew --prefix)/opt/ruby@3.1/bin/bundle exec pod install --repo-update\n\n## install ruby via rbenv, use that\nbrew install rbenv ruby-build\nrbenv install\nbundle install\nbundle exec pod install --repo-update\n```\n\nOnce this completes, you can launch  `HomeAssistant.xcworkspace` and run the `App-Debug` scheme onto your simulator or iOS device.\n\n## Testing just the frontend\n\nTo just test the [frontend](https://github.com/home-assistant/frontend), you can use a simulator version built by our GitHub actions.\n\n1. Install Xcode from the [App Store](https://developer.apple.com/download/) making sure it's at least the version noted above. You do not need to install or run anything else.\n2. Launch the simulator at `/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app` or in Xcode under the Xcode menu \u003e Open Developer Tool.\n3. Open a simulator under File \u003e Open Simulator. You can install older versions of iOS in Xcode's Components preferences.\n4. Download a simulator build from the [the GitHub action](https://github.com/home-assistant/iOS/actions/workflows/ci.yml?query=branch%3Amaster) under \"Artifacts.\"\n5. Drag the result `.app` on drop it on top of the simulator.\n6. Locate the app on the home screen and click it to launch.\n\nThe simulator behaves different than you might expect:\n\n| Action | Effect |\n| -- | -- |\n| Click | Tap |\n| Click \u0026 drag | Scroll |\n| Hold ⌥ | Add a second touch point |\n| Hold ⇧⌥ | Move both touch points |\n| ⌘←, ⌘→ | Rotate |\n| ⌘S | Take screenshot |\n| ⌘R | Record video |\n| ⌘K | Toggle software keyboard |\n\nYou can now debug the WebView in this simulator build using Safari's Web Inspector:\n\n1. Make sure \"Show Develop menu in menu bar\" is enabled in Safari's Advanced preferences.\n2. Under the Develop menu, expand the \"Simulator\" menu for the simulator you've opened.\n3. Choose the WebView you want to inspect. A new window will open.\n\n## Code Signing\n\nAlthough the app is set up to use Automatic provisioning for Debug builds, you'll need to customize a few of the options. This is because the app makes heavy use of entitlements that require code signing, even for simulator builds.\n\nEdit the file `Configuration/HomeAssistant.overrides.xcconfig` (which will not exist by default and is ignored by git) and add the following:\n\n```bash\nDEVELOPMENT_TEAM = YourTeamID\nBUNDLE_ID_PREFIX = some.bundle.prefix\n```\n\nXcode should generate provisioning profiles in your Team ID and our configuration will disable features your team doesn't have like Critical Alerts. You can find your Team ID on Apple's [developer portal](https://developer.apple.com/account); it looks something like `ABCDEFG123`.\n\n## Code style\n\nLinters run as part of Pull Request checks. Additionally, some linting requirements can be autocorrected.\n\n```bash\n# checks for linting problems, doesn't fix\nbundle exec fastlane lint\n# checks for linting problems and fixes them\nbundle exec fastlane autocorrect\n```\n\nIn the Xcode project, the autocorrectable linters will not modify your source code but will provide warnings. This project uses several linters:\n\n- [SwiftFormat](https://github.com/nicklockwood/SwiftFormat)\n- [SwiftLint](https://github.com/realm/swiftlint) (for things SwiftFormat doesn't automate)\n- [Rubocop](https://rubocop.org) (largely for Fastlane)\n- [YamlLint](https://yamllint.readthedocs.io/en/stable/index.html) (largely for GitHub Actions)\n\n## Continuous Integration\n\nWe use [Github Actions](https://github.com/home-assistant/iOS/actions) alongside [Fastlane](https://fastlane.tools/) to perform continuous integration both by unit testing and deploying to [App Store Connect](https://appstoreconnect.apple.com). Mac Developer ID builds are available as an artifact on every build of master.\n\n### Environment variables\n\nFastlane scripts read from the environment or `.env` file for configuration like team IDs. See [`.env.sample`](https://github.com/home-assistant/iOS/blob/master/.env.sample) for available values.\n\n### Deployment\n\nAlthough all the deployment is done through Github Actions, you can do it manually through [Fastlane](https://github.com/home-assistant/iOS/blob/master/fastlane/README.md):\n\n### Deployment to App Store Connect\n\n```bash\n# creates the builds and uploads to the app store\n# each save their artifacts to build/\nbundle exec fastlane mac build\nbundle exec fastlane ios build\n```\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md)\n\n## LICENSE\n\nApache-2.0\n\n## Credits\n\nThe format and some content of this README.md comes from the [SwipeIt](https://github.com/ivanbruel/SwipeIt) project.\n\n[![Home Assistant - A project from the Open Home Foundation](https://www.openhomefoundation.org/badges/home-assistant.png)](https://www.openhomefoundation.org/)\n","funding_links":["https://www.openhomefoundation.org"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhome-assistant%2Fios","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhome-assistant%2Fios","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhome-assistant%2Fios/lists"}