Archives for March 2021

Resetting Tethering-Related Privacy Permissions on a Mac

Apple’s ill-designed and negligently implemented USB tethering permission checking is responsible for 90% of the support requests we receive these days. In this post I’ll discuss how to reset these permissions to restore access to USB connected cameras.

It is ill-designed, because: a) Instead of a single, clearly defined permission, it asks users for two seemingly unrelated ones: “Photos” and “Removable Volumes” on a Mac; “Camera” and “Files and Folders” plus a third tethering confirmation prompt on iOS. This is untidy and confusing, and people tend to deny them causing trouble down the road. b) It grossly violates the “principle of least privilege” by granting apps access to resources they have nothing to do with, and even don’t need at all.

The negligent implementation is clear from the very existence of this post, as well as a former one describing how Apple’s buggy code caused months of headache, brand damage and extra support costs last year.

Before you ask, I have reported these things to Apple countless times, even offered my help, but they continue to show zero interest in cleaning up this steaming manure pile. It wouldn’t be a problem if we weren’t forced to use Apple’s frameworks for USB communication, but we are.

The privacy permissions database itself is also a fragile component that tends to get corrupted randomly. Fortunately there’s a tool called tccutil designed to manage the database. This is a command line tool, so launch Terminal before proceeding.

First, you are advised to reset permissions for a given app. The app is specified with its “bundle id”, a unique name that identifies it for macOS.

The command to use for our ShutterCount app is:

tccutil reset All com.direstudio.ShutterCount

For ShutterCount Pro:

tccutil reset All com.direstudio.ShutterCount.pro

For Kuuvik Capture 5:

tccutil reset All com.direstudio.KuuvikCapture.5

And for earlier Kuuvik Capture versions:

tccutil reset All com.direstudio.KuuvikCapture

Everything is case sensitive, so I recommend to copy and paste the command into Terminal (and of course press Enter at the end). I also recommend disconnecting your camera and rebooting your Mac before issuing the command.

If that doesn’t help, you can try resetting the database more aggressively with:

tccutil reset All
tccutil reset Photos
tccutil reset SystemPolicyRemovableVolumes

If the reset was successful, your Mac should prompt for Photos and Removable Volumes access the next time you launch the app and connect a camera via USB.

If these steps doesn’t resolve the problem then I would suggest sending a problem report from within the app: click Report a Problem in the Help menu. Then complete and send the email. I would strongly recommend that you also complain to the party responsible for the issue: Apple, via its product feedback form.

I would like to note that Wi-Fi / Ethernet connections are not affected, because those do not rely on Apple’s code, but are handled entirely by mine.

Kuuvik Capture 5.5 : Multi-Point Live View on EOS R5

The latest update to my Canon EOS tethering app, Kuuvik Capture, is now available for Mac and iPad. The headline feature is multi-point live view availability on the EOS R5.

When R5 support was introduced in Kuuvik Capture 5.2, the release notes indicated that multi-point live view is not available due to firmware bugs. Later Canon informed me that these “bugs” were actually “by design” behavior, and not going to change.

Fortunately, I’m a sucker for impossible problems, and was able to make it happen what Canon declared impossible. So multi-point live view is now working nicely on the R5. The only limitation – shared with the 1D X Mark III – is that depth of field preview is not available during multi-point live view. This is caused by another odd firmware behavior. Speaking of which…

This release also works around the aforementioned issue when moving to a marker: if DoF preview was active before the move, it will be re-activated after the new position is set.

On the iPad, a fine-tuned gesture detection improves long-tap handling when a tap is used to stop flick panning. The original implementation drove me nuts by bringing up the context menu way too early.

Plus the iPad version sports the missing “local network” permission handling message discussed in my former post.

We have published “privacy nutrition labels” for the app. It’s rather simple: we do not collect data from Kuuvik Capture. We are in the business of making and selling software to you, and not selling your private life to some sneaky data brokers. This is one reason why the prices of our apps are what they are.

The update is free for existing Kuuvik Capture 5 users. We also offer an upgrade from 2.x-4.x to version 5.

ShutterCount 4.8 Released

The latest update to my ShutterCount app is now available on the App Store for Mac, iPhone and iPad. This update brings a few under-the-hood changes.

The computer technology world is loud with privacy-related issues these days, and we highly value Apple’s efforts at the conceptual level. Unfortunately, their implementation is a hot mess, being a constant source of headache for me in the last couple of years.

Case in point: iOS 14 requests the user’s permission to allow an app to access the local network, which for example ShutterCount requires for Wi-Fi and Ethernet camera pairing and connections. For several users, this is just one more annoying popup, and choose “Don’t Allow” just to be safe. And then they try to pair a network camera, which will fail. In better case they contact our support, but leaving a bad review tends to be the norm.

Wouldn’t it be nice to ask iOS about the state of this permission before pairing so that we can inform the user that he/she denied access? Absolutely, but iOS doesn’t provide that functionality for developers… Half-baked mess…

Fortunately we were able to develop a clever workaround and the app warns users about the missing permission right on the spot.

Well, people who ignore every and all error messages will still be a problem, but that’s a topic for another day.

The next change is that ShutterCount on iOS 14 no longer needs full Photos access to read a Nikon or Pentax shutter counter from a photo.

Just choose the image from your photo library, and that’s all. On the flip side, if that image happens to be in iCloud, we can’t show you a download progress indicator, because Apple forgot to provide download progress information. Half-baked mess again…

Now something we’re very proud of:

We are in the business of making and selling software to you, and not selling your private life to some sneaky data brokers. This is one reason why the prices of our apps are what they are.

Lastly, we’ve updated error messages on the Mac to cover the situation where the connection can’t be made because of a corrupted memory card.

The update is free for existing users. New users can download ShutterCount from the respective App Store.