App Name missing from Touch ID Request on macOS

Hi there, bit of an odd one, we have no idea how this happened but now we can't seem to figure out how to fix.

Our app requests Touch ID on macOS to authenticate a user. This is done in the ever so standard way [LAContent evaluatePolicy:...]... Functionally everything is fine, but for some reason there is no App Name on the system dialog... We don't even know when this started happening...

Our App Icon is there but not the name, it's blank so the dialog looks strange (see attached pic). The text doesn't really make sense without the App Name.

I wouldn't have even thought this was possible, the standard info.plist keys like CFBundleName and CFBundleDisplayName are all set correctly. Everything else seems totally fine. We're seeing this across every target/build/version/sku so it seems unrelated to a particular plist. There are no localizations for the App Name either, no InfoPlist.strings involved here.

What could cause this, does anyone know?

@eskimo, I'm afraid turning things up to 11 didn't help, so hoping you've got an idea?

Replies

We don't even know when this started happening

If you create a tiny test app from the macOS > App template, does it have the same problem?

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

No, tiny test prokect is all good that way (See image). Code below:

        let lac = LAContext()
        
        lac.evaluatePolicy(LAPolicy.deviceOwnerAuthenticationWithBiometricsOrWatch, localizedReason: "Blah") { success, error in
            print("\(success) - \(String(describing: error))")
        }

This is happening on a lot of people's machines (Sonoma and Ventura for sure), we're getting reports, but it's quite cosmetic so no one really minds too much, but obviously we'd like to fix.

This is happening on a lot of people's machines

Hmmm, lemme clarify that. The above suggests that it doesn’t happen on all user’s machines. So:

  • You see your app name in the dialog generally.

  • But it’s missing on some machines.

Is that right?

If so, do you have a machine that exhibits the problem? And if you put your tiny test app on that, does it also have the problem?

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Hi @eskimo - Sorry if I wasn't clear. This is happening on all machines that we are aware of, we have a broad customer base through the App Store and we have received word from some of them about this issue, I expect a lot of people won't notice or care. I don't believe this is a specific machine related issue. So:

  • We do not see our App Name on any machines generally
  • It's missing on all machines we are aware of

Can you tell us what factors go into the system determining what "App Name" to display there so I can try to debug it myself in some way? Is it just CFBundleDisplayName? or are other factors involved.

I'm also happy to share the App or Testflight with you so you can see for yourself on your own machine. Just let me know (I can mail or whatever).

I'm also happy to share the App or Testflight with you so you can see for yourself on your own machine.

I don’t have time for such things in the context of DevForums. I could do that as a part of a DTS tech support incident, but it’s not clear whether that’s warranted here.

This is happening on all machines that we are aware of

OK, cool. Well, not cool, but reproducible problems are much easier to solve.

Is it just CFBundleDisplayName?

No. Things are never that simple.

Is your app installed in /Applications? Oh, wait, if you’re capable of installing via TestFlight then it’s definitely going to be installed there.

If you install your app on a ‘clean’ machine, one that’s never seen it before, does it reproduce the problem? I typically do this on a VM, where I restore the VM to a clean snapshot between each test.

IMPORTANT To do this on a VM you’ll either need an Intel VM, where you can use TestFlight [1], or create a Developer ID signed version of the app just for this test.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

[1] See this thread.

Hi @eskimo

If you install your app on a ‘clean’ machine, one that’s never seen it before, does it reproduce the problem?

Yes, it is also reproducible on a 'clean' machine.

I'll raise a DTS if that's the best way to fix this. Thanks.