## Summary
Cocoapods does not strip the .frameworks it creates, which was done for
us automatically when we were submitting using Bitcode, but upgrading to
Xcode 14 means that no longer happens for us.
## Any other notes
I think the tides are shifting strongly towards moving back to SPM,
which hopefully (lol) would be less buggy than the last time we tried
it.
Outstanding Cocoapods issue for this one:
https://github.com/CocoaPods/CocoaPods/issues/10277
## 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.
Fixes#1244 and fixes#1139.
## Summary
Updates MaterialDesignIcons from 5.5.55 to 5.8.55. Between these two versions, there are no changes that require renaming any existing database entries.
## Screenshots
n/a
## Link to pull request in Documentation repository
n/a
## Any other notes
- Converts from using Iconic and a fork of SwiftGen to generate the MaterialDesignIcons.swift file to using SwiftGen and its JSON parsing. This hopefully gives us a much easier path to updating in the future, since it can be done by changing the shell script and nothing else.
- Updates the generated `MaterialDesignIcons` to be class-based rather than enum-based; moving to a `RawRepresentable` enum (which would reduce the size, see #1139) proved to be far too long to compile. This version is still about 1/3 the code size.
- Cleans up some of the icon selecting to (1) not generate icons too often, and (2) not go in and out of the non-String representation.
This is somewhat in prep of being able to make the project file generated, but also just organizes things into more concrete directory structures.
This pulls out _all_ of the build settings from the root level, and most from the target level, into xcconfigs.
The new directory structure looks like:
- Sources
- App
- (everything from HomeAssistant/)
- WatchApp
- Shared
- MacBridge
- Extensions
- Intents
- NotificationContent
- NotificationService
- Share
- Today
- Watch
- Widgets
- Tests
- App
- UI
- Shared
Somewhat intentionally, the file structure under these is not yet standardized/organized.
The project targets are now:
- App
- WatchApp
- Shared-iOS
- Shared-watchOS
- MacBridge
- Tests-App
- Tests-UI
- Tests-Shared
- Extension-Intents
- Extension-NotificationContent
- Extension-NotificationService
- Extension-Share
- Extension-Today
- Extension-Widget
- WatchExtension-Watch
This does not yet clean up resources vs. sources, nor does it handle some of the "it's in Sources/App but it's part of Shared" crossover directory issues.
- Upgrades the project file format from very old Xcode compatibility to 11.4+.
- Updates to Cocoapods 1.10 beta.
- Removes some overrides of the xcconfig and updates the xcconfig.
- Adds exclusions for the x86_64/64-bit watchOS simulator using new b4 format.
- Updates intents for iOS 14/Xcode 12.
- Adds an Intent-powered Perform Action widget (which does nothing and isn't styled) to make sure the flow works. It's actually not possible to define an empty set of widgets if the extension exists, so it needs something.