Commit Graph

17 Commits

Author SHA1 Message Date
Bruno Pantaleão Gonçalves
4b5e0058bc Remove CarPlay driving task entitlement (#4086)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->
2025-12-11 14:55:51 +00:00
Bruno Pantaleão Gonçalves
c423e62485 Exclude config/diagnostic entities from CarPlay list (#4085)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->
2025-12-11 15:23:43 +01:00
LuisFALopes
14081d7931 CarPlay implementation (#2320)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->
CarPlay implementation that allows you to interact with various entities
safely while driving your vehicle.

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#923

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->

---------

Co-authored-by: Joshua Peisach <itzswirlz2020@outlook.com>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
Co-authored-by: Bruno Pantaleão <bruno.ing879@gmail.com>
2024-01-08 10:20:38 +01:00
Bruno Pantaleão Gonçalves
2a69febc7a Remove NDEF from nfc formats. Workaround to deploy to appstore (#2495)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->
Distribute pipeline is failing for iOS since the drop support to older
iOS versions were merged with error `The sdk version '17.0' and min OS
version '15.0' are not compatible for the entitlement
'com.apple.developer.nfc.readersession.formats' because 'NDEF is
disallowed`

I found several mentions from other developers about this `bug` from
Apple since iOS 13 and the workaround is to simply remove NDEF from nfc
formats, even doing that the reading and writting tags keeps working
fine.

 
## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->
2024-01-03 17:13:33 +01:00
Bruno Pantaleão Gonçalves
9f9179178c Thread credentials sharing (#2456) 2023-12-04 07:18:41 -03:00
Zac West
2033820c3c Fix production builds by only applying device name provisioning in App target (#2222)
## Summary
The push provider target also runs the entitlement additions but we do
not have access to the device name entitlement there.

## Any other notes
Also disables Sentry as it was stalling the builds in testing and we
don't use it anyway.
2022-10-13 08:40:37 -07:00
Zac West
35a4dd7389 Add entitlement for user-assigned device name (#2221)
## Summary
Our request was approved to be able to read device names; this updates
the build to add the entitlement for our production app.

## Any other notes
Since we use a separate bundle identifier for development, that one
currently does not have support for the user-assigned device name as our
request was only approved for the production bundle identifier.
2022-10-13 01:25:11 +00:00
Zac West
6d6606aed6 Fix time sensitive entitlement not being added to app (#1999)
## Summary
Apparently when I did this in #1676, I ended up checking in an "echo" in front of the entitlements change, so it never worked. Sigh.

## Link to pull request in Documentation repository
Documentation: home-assistant/companion.home-assistant#634

## Any other notes
This was only flagged out anyway because of trying to keep Xcode 12 compatibility, which we are long-since-passed, so always include it now.
2021-12-13 07:34:11 +00:00
Zac West
397d0004a7 Fix automatic provisioning for other teams (#1882)
* Fix automatic code signing for other teams

* Remove now-unused entitlements file
2021-10-15 23:09:39 -07:00
Zac West
bb53bdd5e5 Xcode 13 (#1841) 2021-09-18 19:42:29 -07:00
Zac West
f6807d2787 Support time-sensitive notifications on iOS 15 (#1676)
## Summary
- Supports setting interruption-level via local push. Fixes #1658.
- Configures entitlement and notification setting. Fixes #1659.

## Link to pull request in Documentation repository
Documentation: home-assistant/companion.home-assistant#540

## Any other notes
Early beta days, I can't tell if the entitlement is all that we need, because I need the notification settings in the simulator which really doesn't like mutated-while-compiling entitlements. It's possible once we switch to Xcode 13 this may not need to be mutated at runtime, and the setting can go away and it'll all be happy.
2021-06-20 16:30:22 -07:00
Zac West
1db6f3cc6e Local push on iOS (#1656)
Refs #1570 and home-assistant/core#50750. Fixes #1382.

## Summary
Adds a new app extension to do local push notifications on iOS 14 when connected to internal SSIDs.

## Screenshots
Adds a default-on setting to Internal URL:

| Light | Dark |
| -- | -- |
|  ![Simulator Screen Shot - iPhone 12 Pro - 2021-06-19 at 23 13 04](https://user-images.githubusercontent.com/74188/122664142-5cd73d80-d154-11eb-8378-600f0b82b3e4.png) | ![Simulator Screen Shot - iPhone 12 Pro - 2021-06-19 at 23 13 06](https://user-images.githubusercontent.com/74188/122664145-62cd1e80-d154-11eb-840d-0a0e86255bcb.png) |

## Link to pull request in Documentation repository
Documentation: home-assistant/companion.home-assistant#539

## Any other notes
- Updates the "you need always permission" warning in Internal URL editing to be vibrantly red, to really point out its importance.
- Sets the code signing for the app and the push target to 'manual' on device, hopefully for our internal team only. Special entitlements really do not play well with open source. Worth noting that it is not possible to test this feature without being on the HA team since it does not work in simulator (as far as I can tell) and running on-device requires entitlements.
- Moves commands into Shared in a slightly-easier registration mechanism, so we can share them in the local push extension.
2021-06-20 00:38:57 -07:00
Zac West
fbc2c7bd5e Handle my.home-assistant.io links on iOS (#1497)
## Summary
Handles being launched by universal links (e.g. https://my.home-assistant.io/redirect/logs) or via the url scheme `homeassistant://navigate/path/to/lovelace`.

## Screenshots
https://user-images.githubusercontent.com/74188/109757851-7487b780-7b9f-11eb-923d-5388964d85a5.mov

## Any other notes
This doesn't yet work on Mac, because my initial `WKWebView` implementation doesn't want to give us any events about URL schemes like `homeassistant://…` being tapped. I'm unsure how useful it'll be on Mac either way, but at least the `homeassistant://navigate/xyz` will still work there.
2021-03-04 02:28:59 +00:00
Zac West
c9830a80af Set up GitHub Actions-based automatic builds (#1442)
## Summary
- Creates a Developer ID build, notarizes it, staples and then makes a .zip out of it.
- Re-exports the same Developer ID build for the Mac App Store and uploads it.
- Creates an iOS App Store build and uploads it.
- Uploads dSYMs and other debug information to Sentry during the build.
- Builds for every push to master. Does not automatically expose to beta users, at least not yet. But for internal TestFlight this should produce the latest and greatest as it goes.

## Any other notes
- Necessitates doing an automatic incrementing number for the build number, since it must be monotonically increasing for macOS builds. Uses the format `2021.{RUN_NUMBER}`.
- Moves to use manual code signing for Release builds. It was already this way before (we were just using the Xcode UI at submission time specify), but now it doesn't require fiddling.
- Changes Firebase config to be not in a scheme. When it's in a scheme, it's after the code sign phase, which can produce issues for Fastlane.
- Changes Firebase to not be an xcframework in CI, since they do not ship ARM Mac Catalyst slices yet.
- Removes some incorrect code sign statuses in the Mac Launcher app.
2021-01-31 10:09:33 -08:00
Zac West
f550199526 Add "Launch App on Login" setting (#1387)
Fixes #1383. Refs #949.

## Summary
Allows the user to choose to launch the app on startup, which toggles on a login item which launches the app.

## Screenshots
<img width="350" alt="Screen Shot 2021-01-18 at 13 03 28" src="https://user-images.githubusercontent.com/74188/104962618-aa753180-598d-11eb-8711-f3b45ded80ba.png"><img width="350" alt="Screen Shot 2021-01-18 at 13 03 23" src="https://user-images.githubusercontent.com/74188/104962622-aba65e80-598d-11eb-8c76-e6ec61fe320a.png">

## Any other notes
- Effectively this setting turns on whether to launch this Launcher app on login, and then the Launcher app launches the app whenever it's started, before terminating itself.
- Routes through the Mac Bridge to call `SMLoginItemSetEnabled` which appears to have no public API counterpart to get the current status. Various places point to `SMJobIsEnabled` which doesn't appear in any headers.
- Thanks @rudyrichter for the pointer on how to get this working.
2021-01-18 16:19:58 -08:00
Zac West
36fdb37249 Improve reliability of refreshing Watch Complications (#1168)
One of our top crashes (on all platforms) is crashing when completing the background refresh operation of the Watch Extension's update cycle. I believe this is because the task is being called more than once; presumably because we're mixing multiple types of tasks in one pointer -- communication updates and complication updates, and they stomp on each other.

Another issue here is that we're not using Background Sessions to do the complication updates, when we want to -- when I refactored Webhooks out of the HomeAssistantAPI code path, I neglected to update this Webhook call to handle background updating; it now does.

- Updates complication text rendering to go through the background session supporting Webhook update mechanism.
- Adds support for ring and gauge template rendering. Fixes #1127.
2020-10-10 13:38:13 -07:00
Zac West
77c72785ff Update a few more housekeeping things in the project (#1142)
- Combines all .entitlements into either: App-iOS, App-catalyst, WatchApp, Extension-iOS or Extension-catalyst.
- Cleans up and renames all the schemes to match target names
- Moves around several folders and deletes some old files.
- Converts Podfile to be hierarchical, rather than calling shared methods.
- Always runs MaterialDesignIcons script; aborts early if it's up-to-date.
- Updates all dependencies.
2020-10-03 16:05:19 -07:00