Photo permission dialog not shown when iOS app runs on Mac

According to the docs:

The first time your app performs an operation that requires [photo library] authorization, the system automatically and asynchronously prompts the user for it.

(https://developer.apple.com/documentation/photokit/delivering-an-enhanced-privacy-experience-in-your-photos-app)

I.e. it's not necessary for the app to call PHPhotoLibrary.requestAuthorization.

This does seem to be what happens when my app runs on an iPhone or iPad; the prompt is shown. But when it runs on a Mac in "designed for iPad" mode, the permission dialog is not presented. Instead the code continues to see status == .notDetermined.

That's today, on macOS 15.3. It may have worked in the past.

Is anyone else seeing issues with this? Should I call requestAuthorization explicitly? (Would that actually work?)

I'm having another look at this.

I've been looking at the system log when my app first tries to access photos. Here are some excerpts from the huge amount of logging that looks relevant:

default 19:11:18.758810+0000 TopoMaps2 [4.475] [T=22792] enabling photos service
default 19:11:18.813997+0000 photolibraryd photolibraryd starting up [97330]
default 19:11:18.856556+0000 tccd requestor: TCCDProcess: identifier=com.apple.photolibraryd, pid=97330, auid=501, euid=501, binary_path=/System/Library/PrivateFrameworks/PhotoLibraryServices.framework/Versions/A/Support/photolibraryd is checking access for accessor TCCDProcess: identifier=com.topomapsapp.TopoMaps2, pid=97320, auid=501, euid=501, binary_path=/private/var/folders/n4/lyzh1r8n1wl77pqsjpm6xm440000gn/X/330A9F7F-2CC8-5AF6-83DC-C8193E22383A/d/Wrapper/TopoMaps2.app/TopoMaps2
default 19:11:18.859100+0000 tccd AUTHREQ_SUBJECT: msgID=97330.1, subject=com.topomapsapp.TopoMaps2,
error 19:11:18.862226+0000 trustd SecKeyVerifySignature failed: Error Domain=NSOSStatusErrorDomain Code=-67808 "RSA signature verification failed, no match" UserInfo={numberOfErrorsDeep=0, NSDescription=RSA signature verification failed, no match}
error 19:11:18.862278+0000 trustd SecKeyVerifySignature failed: Error Domain=NSOSStatusErrorDomain Code=-50 "rsa_pub_crypt failed, ccerr=-7" (paramErr: error in user parameter list) UserInfo={numberOfErrorsDeep=0, NSDescription=rsa_pub_crypt failed, ccerr=-7}
error 19:11:18.864989+0000 tccd Prompting policy for hardened runtime; service: kTCCServicePhotos requires entitlement com.apple.security.personal-information.photos-library but it is missing for accessing={TCCDProcess: identifier=com.topomapsapp.TopoMaps2, pid=97320, auid=501, euid=501, binary_path=/private/var/folders/n4/lyzh1r8n1wl77pqsjpm6xm440000gn/X/330A9F7F-2CC8-5AF6-83DC-C8193E22383A/d/Wrapper/TopoMaps2.app/TopoMaps2}, requesting={TCCDProcess: identifier=com.apple.photolibraryd, pid=97330, auid=501, euid=501, binary_path=/System/Library/PrivateFrameworks/PhotoLibraryServices.framework/Versions/A/Support/photolibraryd},
default 19:11:18.866647+0000 tccd requestor: TCCDProcess: identifier=com.apple.photolibraryd, pid=97330, auid=501, euid=501, binary_path=/System/Library/PrivateFrameworks/PhotoLibraryServices.framework/Versions/A/Support/photolibraryd is checking access for accessor TCCDProcess: identifier=com.topomapsapp.TopoMaps2, pid=97320, auid=501, euid=501, binary_path=/private/var/folders/n4/lyzh1r8n1wl77pqsjpm6xm440000gn/X/330A9F7F-2CC8-5AF6-83DC-C8193E22383A/d/Wrapper/TopoMaps2.app/TopoMaps2
error 19:11:18.904886+0000 photolibraryd cannot open file at line 49450 of [1b37c146ee]
error 19:11:18.904897+0000 photolibraryd os_unix.c:49450: (2) open(/private/var/db/DetachedSignatures) - No such file or directory
default 19:11:18.921665+0000 TopoMaps2 _addObserver:authorizationStatus: waiting for authorization (not determined)
error 19:11:18.932657+0000 tccd Prompting policy for hardened runtime; service: kTCCServicePhotos requires entitlement com.apple.security.personal-information.photos-library but it is missing for requesting={TCCDProcess: identifier=com.topomapsapp.TopoMaps2, pid=97320, auid=501, euid=501, binary_path=/private/var/folders/n4/lyzh1r8n1wl77pqsjpm6xm440000gn/X/330A9F7F-2CC8-5AF6-83DC-C8193E22383A/d/Wrapper/TopoMaps2.app/TopoMaps2},
default 19:11:18.933346+0000 tccd Policy disallows prompt for Sub:{com.topomapsapp.TopoMaps2}Resp:{TCCDProcess: identifier=com.topomapsapp.TopoMaps2, pid=97320, auid=501, euid=501, binary_path=/private/var/folders/n4/lyzh1r8n1wl77pqsjpm6xm440000gn/X/330A9F7F-2CC8-5AF6-83DC-C8193E22383A/d/Wrapper/TopoMaps2.app/TopoMaps2}; access to kTCCServicePhotos denied
default 19:11:18.940315+0000 TopoMaps2 _addObserver:authorizationStatus: waiting for authorization (denied)

Does that mean anything to anyone????

Photo permission dialog not shown when iOS app runs on Mac
 
 
Q