Archive for June 9, 2022

Thursday, June 9, 2022

App Shortcuts

Matthew Cassinelli:

With the iOS 16 suite of updates coming later this fall, Siri will automatically gain new capabilities for each app that supports Shortcuts, generating a folder of shortcuts with trigger phrases for every bit of functionality provided to Shortcuts. These will be found in the Shortcuts app; users will have a new section below one’s folders called “App Shortcuts,” which includes categories for each supported app installed on your device.

Inside each category will be individual shortcuts for the actions provided by the app, set up for you in advance, so you don’t have to generate a new shortcut for each possible option manually. Each shortcut will be named with a trigger phrase pre-defined by the developer so that you can trigger the shortcut using Siri without any setup.


Apple seems to be rounding out the Siri side of Shortcuts while simultaneously addressing developers’ issues of getting users actually to take advantage of their Shortcuts support.


In many ways, it seems that Siri Shortcuts is Apple’s solution for their Siri problem, and App Shortcuts is an encouraging start.

Federico Viticci:

I was confused by iOS 16’s App Shortcuts at first, but I get it now, and I think it’s a genius move.

Biggest point of friction of Shortcuts for new users? The empty editor. They don’t know how to get started, and the action library can be scary for people new to Shortcuts.


iOS 16’s solution: apps can now bundle pre-defined App Shortcuts, created by developers, which are ready to use. No config or ‘Add to Siri’ necessary.


I hope this works out and I’d love to see many more people finally “get” Shortcuts without having to build anything in it.


Learn how you can surface great features from your app directly in Siri, Spotlight, and the Shortcuts app. We’ll introduce you to App Shortcuts, provide best practices to help you evaluate features in your app that would work well as App Shortcuts, and take you through the process of creating one of your own. Learn how to create clear and memorable names, design custom visuals, collect required information, and create discoverable shortcuts.


Discover how you can create Shortcuts in your app with zero user setup. We’ll show you how App Intents can help you present custom Shortcuts views, and explore how you can add support for parameterized phrases to allow people to quickly express their intent. We’ll also share how you can make your App Shortcuts discoverable with a Siri Tip, and Shortcuts links.


Learn how you can make your app more discoverable and increase app engagement when you use the App Intents framework. We’ll take you through the powerful capabilities of this Swift framework, explore the differences between App Intents and SiriKit Intents, and show you how you can expose your app’s functionality to the system.


Update (2022-06-10): John C. Welch:

I honestly think custom, complex, customer created workflows that aren’t created by devs for devs is going to be dead in the Apple world outside of companies like MS and Adobe that can just build that into their apps. Like in two years.

There is no way an indie dev can build that many shortcuts and still have time to like actually build applications.


Can you even get selected text on iOS? A quick attempt shows no. Pages has three actions that only operate on whole documents.


Shit, you can’t even do a MAIL MERGE kind of thing with shortcuts in iOS, which is automation basics, and you think you’re going to get anything actually complex?

There’s no error handling in Shortcuts, how TF will they handle incorrectly formatted input data?

Continuity Camera at WWDC 2022

Jason Snell:

People can complain that this is another example of Sherlocking, in which Apple takes a feature pioneered by outside developers and rolls it into the system. And, yes, it is that. Sherlocking has a couple of interesting aspects that aren’t as widely known, though: First, there’s usually room left behind after a “Sherlocking,” and there are several features in Camo that Apple isn’t bothering to replicate with Continuity Camera. Second, the platform owner has powers far beyond those of third-party app developers—and with Continuity Camera, it shows. There’s no app to launch, nothing to configure, no awkward attempt to mount a phone while not touching the wrong button or the wrong place on the screen. When you bring an iPhone (running iOS 16) close to a Mac (running macOS Ventura), the phone’s rear camera can be used as a video source by the Mac. That’s pretty great.


In essence, the iPhone is automatically detecting when it’s been mounted on or behind your screen and is now ready to be used as a webcam. That’s when the switch of the System Camera occurs. (Apps will need to be updated to recognize the System Camera state, but users should be able to switch between their preferred video sources, regardless.)


Desk View is an odd one. It’s actually an app called Desk View that displays that faux overhead view, calculated by rotating and de-skewing the output from the ultrawide camera.

Note that the Continuity Camera feature has been around since macOS 10.14. You can use it today in EagleFiler to take a photo, scan a document, or draw a sketch with your iPhone (or iPad) and have it automatically imported to your Mac. What’s new in Ventura and iOS 16 is that it also works for live video. That’s a great addition, and if you have an old iPhone handy you could even leave it permanently attached to your desktop Mac’s display.


Discover how you can use iPhone as an external camera in any Mac app with Continuity Camera. Whether you’re building video conferencing software or an experience that makes creative use of cameras, we’ll show you how you can enhance your app with automatic camera switching. We’ll also explore how to recognize user-preferred and system-preferred cameras, take you through APIs for high-resolution and high-quality photo capture from iPhone’s video stream, and more.


Update (2022-06-17): Juli Clover:

If you want to try Continuity Camera as it’s meant to be used and you have a 3D printer, Jonathan Wight has created some mount patterns for the MacBook Pro and the iMac Pro. You can print out one of the mounts and attach it to the Mac to hold the iPhone in place.

Update (2022-08-08): Julio Ojeda-Zapata:

The mounts are not yet available to the public, but some lucky tech writers have been sent pre-release versions. Apple chose not to favor me with early access, but I found something similar while rummaging through my tech gear: PopSocket’s PopGrip for MagSafe. It’s an oval slab that clamps magnetically to the back of an iPhone and incorporates that classic telescoping two-finger circular grip.


Here are image comparisons with the FaceTime HD cameras in the 2020 M1 MacBook Air, the recently released M2 MacBook Air, and the Studio Display, which was released earlier this year. Continuity Camera imagery is superior across the board. The M2 MacBook Air improves on the M1 MacBook Air, but not dramatically so. The Studio Display’s imagery is muddled and a bit dark.


Now it’s present in Continuity Camera as an option to toggle background blurriness on and off (iPhone 11 or later).

Mac App Notarization at WWDC 2022


Notarization works in tandem with macOS to help people safely download software for their Mac outside of the App Store. Learn about the required transition from altool to notarytool and how the Xcode GUI can help you achieve better overall performance when notarizing your app. We’ll also share information about APIs for interacting with the Notary service from any internet-connected machine.

altool is going away in fall 2023.

Rosyna Keller:

The other huge change is the Apple notary service now has a public REST API. Now you can avoid notarytool and Xcode for notarization if that’s how you prefer to roll. Note that stapling isn’t part of this new API and still has to be done from a Mac.


You can pull notarytool and stapler from the Xcode command line tools and use them on Macs not running the latest Xcode builds.


[All] versions of notarytool support a --webhook <URL> on the submit command.


Because spctl tests the certificate chain against the current machine’s policies and your own dev certs are trusted, you may have to move the thing you’re testing to a VM or another Mac to see any errors a typical user would see when running your generally untrusted signature.


Update (2023-04-21): TN3147:

Migrate your notarization workflows to notarytool from the deprecated altool.

Xcode 14 Announced


Discover the latest productivity and performance advancements in Xcode 14. We’ll introduce you to the fully redesigned SwiftUI canvas experience, explore enhancements to code completion and navigation, and take you through performance improvements we’ve made throughout the entire development process. We’ll also show you how you can now read and respond to feedback on your TestFlight builds without ever leaving Xcode.

This looks promising, though unfortunately it’s the only version of Xcode that runs on Ventura. It was easier to get my code building than with previous updates, but there are a bunch of “Could not create compact unwind for […] register 19 saved somewhere other than in frame” compiler warnings that I don’t know what to do with.

Guilherme Rambo:

Xcode 14 beta is significantly smaller than Xcode 13

The watchOS and tvOS SDKs are no longer bundled.

Paul Haddad:

I guess they decided [Bitcode] was a bad idea. Sounded like it had a lot of promise.

I was wondering about that.

Nathan Lawrence:

A personal favorite:

Xcode now pins elements of your code structure to the top of the editor as you scroll through a document. To toggle this behavior, use “Show: Code structure while scrolling” in Xcode’s Text Editing preferences.

This is great.

Toomas Vahter:

Whoever has dealt with app icons are going to be happy to hear that in Xcode 14 we can just use a single image for the app icon.


There is a new build setting ENABLE_USER_SCRIPT_SANDBOXING for turning on sandboxing in shell script build phases.


The platforms State of the Union mentioned Swift and SwiftUI being the future of building apps. But on the other hand, there are multiple changes happening in Interface builder as well. More options and more supported views.


As Xcode Cloud is not any more in beta, Apple is removing Xcode Server from Xcode 14.

Sarun W.:

There are three new snippets to generate boilerplate for Codable.


Update (2022-06-10): Philip Davis:

My 3 favorite Xcode features released at #WWDC22

Update (2022-07-01): See also: Hacker News.


There was another platform i will leave nameless. They performed additional “ahead of time” type optimization after a developer submitted a binary. That layer had bugs. I personally saw them surface. Since the AOT happened transparently on the platform vendor’s machine it was very hard for a developer to test, diagnose, confirm fixed, etc. The developer still got blamed for bugs hitting the end user. That layer one can also imagine could see changes on the platform vendor’s server so something could theoretically break later on and nobody would know until the bug reports came flooding to the developer.

Because it was a goofy idea. Sounds good superficially, but ill conceived at the design stage.

Moreover, that goofiness may also be why they don’t need it anymore. It wasn’t a solid idea to begin with, so your changing requirements wind up revealing that.

Update (2022-08-29): Apple (via Damien Petrilli):

The diagram view has been removed from the Core Data data model editor in Xcode 14.