Alert Controller
In months and years past, I’ve replaced a handful of UIKit built-in components for various reasons. On tvOS, Apple replaced its simple and functional tab bar with a component that integrates into a scroll view; I made a nearly pixel-perfect replacement. Apple again messed with the tab bar (this time for iPad OS), and I had to make a similar replacement. I transitioned the iPad app to Mac Catalyst for better native Mac platform support. That seemingly simple transition has not ceased to punish me. The upsides have been impressively minor in comparison to the downsides. Here’s what a UIAlertController looks like on Mac.
After some gentle nagging from a customer, I decided to wholesale replace UIAlertController on all platforms. A single class with a consistent appearance and predictable functionality. Are Apple’s built-in components just meant for prototyping?
Updates
- Updates the release notes link for v4.10.3. I'm doing this right away so that I don't forget again.
- Updates each of the Module configuration screens, moving the Delete and Help buttons from the bottom of the screen to the Options menu at the top. This change reflects a similar change made to the various Camera configuration screens.
Improves
- Improves consistency in the share controllers across the app by unifying the characteristics of each.
- Improves visibility of the highlighted cell in tvOS.
- Improves the Functions screen: when you tap on a Function, you also have an Edit option instead of having to swipe on it.
Adds
- Adds import, export support for each of the camera types: Attached, HomeKit, Nest, ONVIF, Rhombus, Tuxedo, UniFi, URL.
- Adds an additional safety check on startup to prevent a crash if the app is launched based on a NSUserActivity.
Fixes
- Fixes a video stuttering issue that stemmed from a change in CMCBufferView related to when we handle clock resets based on display timeouts.
- Fixes a Rhombus integration issue where the API Key field would not let you enter an API key (which is an important bit of functionality).
- Fixes a crash (yet another!) related to tapping on a placeholder cell -- this time in the Integration => Rhombus screen. https://streamie-security-inc.sentry.io/issues/6533493734/events/2dd2531dea144fa9b49ff813b9dd381b/
- Fixes an issue that occurs when removing a user from an account: the user's record was not added to the account, leaving stuff in a bad state.
- Fixes an issue in the Camera Configure screens (Attached, HomeKit, Nest, Onvif, Rhombus, Tuxedo, UniFi, Url) such that the "Delete" menu option is not visible if we're creating a new camera configuration.
- Fixes (maybe) a CMCServiceBrowser crash by wrapping access to the results
value in a queue. Minor additional changes.
Other
- Refactors a bunch of stuff related to displaying alerts for the purpose of editing a text value. It's much more unified from a code perspective now.
- Replaces all internal use of UIAlertController which was becoming far too problematic to continue using, particular with the Mac Catalyst platform support which would display a giant, wide list whenever there were more than a handful of actions. This new mechanism includes buttons, screen darkening, highlight-on-mouseover, text entry, etc. It's basically a drop-in replacement but it provides a consistent user experience across all platforms.
- Moves the "Discover" navigation menu option from the Add Modules / Add Function menu to the Options menu on the parent screen, so that it is easier to find.
- Displays the Members sorted by the actual display name (in the Home => Members screen).
Removes
- Removes the "Cancel" button from the Actions section of several Integration screens: Azure, Google Nest, S3, UniFi Protect, Web API and YouTube.
- Removes the entirely unnecessary "Cancel" button from the Actions section of each of the file server configuration screens: Azure, Cloud, S3 and SMB.
- Removes the unnecessary highlight animation from tvOS.
- Removes the last of the NSLocalizedString instances. Thanima: I appreciate all of your help. :-)
Created: 1 week ago
Updated: 5 days ago
Author: Curtis Jones
Topics: Release Notes
Streamie provides a best-in-class user experience on your iPhone, iPad, Apple TV and Apple Silicon Mac, with an intuitive user interface that makes it simple to discover, stream, record, monitor and share your HomeKit, Google Nest, Ubiquiti UniFi Protect and ONVIF-compatible IP and RTSP cameras. Streamie keeps you informed with motion event notifications and it works with most cameras using its advanced audio and video codec support. You can watch your cameras from anywhere, record 24/7 to your private NAS, remotely manage multiple locations, device permissions and seamlessly synchronize settings across your devices; configure Hubitat smart home automations, live stream to YouTube and rely on the in-app technical support system when you need help -- and you can also reach us by phone. Download Streamie today for all of your CCTV needs.