Post

Replies

Boosts

Views

Activity

Reply to Apple app review removed my app
My app is a random chat and video call app with ability to choose a specific gender 1.2 says: Apps with user-generated content or services that end up being used primarily for … Chatroulette-style experiences ... do not belong on the App Store and may be removed without notice. I don’t think you have any chance of getting this approved.
Mar ’25
Reply to JPEG2000 (JP2) Decoding Works on iOS 16 but Fails on iOS 18
Did Apple remove or modify JPEG2000 support in iOS 18? I have read that they removed it from Safari in iOS 18, though I've not personally tested that. I'm not aware of its status in ImageIO. There have been problems with Apple's support for JPEG2000 previously. The danger of them breaking it in iOS updates is not a risk that I would take. It's not massively difficult to compile OpenJpeg yourself, and that is what I would advise.
Topic: Graphics & Games SubTopic: General Tags:
Mar ’25
Reply to Photo permission dialog not shown when iOS app runs on Mac
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????
Mar ’25
Reply to How to pass URL to iOS app from share sheet, and automatically open app?
Is there a known iOS restriction or trick for allowing an extension (share or action) to open its containing app directly? This isn’t allowed. (We don’t know why.) https://developer.apple.com/documentation/foundation/nsextensioncontext/1416791-open This says “Each extension point determines whether to support this method, or under which conditions to support this method. In iOS, the Today and iMessage app extension points support this method. An iMessage app extension can use this method only to open its parent app, and only if the parent app is shown on the iOS home screen.” It would be great if it explicitly said “other extension types do not allow it”; it doesn’t say that, but it is true. If you search StackOverflow you’ll find hacks that bypass this restriction. They seem to involve walking the containing app’s objects to find an unrestricted open() method on the UIApplication. In practice apps that do this do seem to get approved by app review; you may or may not want to risk it. In the case of Safari, you may be able to do it from a Javascript web extension, with some friction. See my recent thread about that.
Topic: App & System Services SubTopic: General Tags:
Mar ’25
Reply to Redirecting to an app's universal link from and app extension popup
Custom URL schemes seem to work a bit better than universal links. In all the cases where the universal link attempts to open the web page and adds a page banner saying "Open in APP", the custom URL scheme instead presents a blank grey page with a popup saying "Open in APP?". Although both involve the same number of taps for the user, the latter is much more better in practice as it's obvious what the user has to do.
Topic: Safari & Web SubTopic: General Tags:
Mar ’25
Reply to Redirecting to an app's universal link from and app extension popup
you need to display the link with an <a href and let the user tap the link. It seems that if I do this within the popup.html, it doesn't work; it opens a new tab, redirected to the web content of the universal link with the "open in app" banner. On the other hand, if I put the <a href="universal-link"> in the content, tapping on it does open the app. Is this a deliberate limitation on what Safari extensions are allowed to do?
Topic: Safari & Web SubTopic: General Tags:
Mar ’25