Post

Replies

Boosts

Views

Activity

Can I have my MAS and my "Indie" app share the same credentials for TCC (GateKeeper)?
I release my app both in the MAS and on my website. I use the same signing credentials, but necessarily different certs (Apple Development vs. Developer ID). When I run the MAS app and then run the other version, or vice versa, I need to re-authenticate the many privacy permissions each time (Finder AppleScript, Network browse, Full Disk Access), which is tedious and keeps causing trouble for other users because some of these require a tcc reset (which my app currently invokes manually, which I consider a hack, though). So, am I doing something wrong or is it really no possible to have both signed apps use the same identity with TCC?
0
0
43
8h
Cannot upload to App Store Connect due to "ITMS-90288: Invalid Code Signing Entitlements" and ITMS-90885
I am referring to this post. I am struggling with this now, too, and thought it may get more likely some attention if I start a new post about it instead of adding a comment there (does it actually make a difference, though?). I read through (most of) the posts, mainly by Quinn, and cannot find what I'm still doing wrong. Upload with Xcode 13.4.1 still works, but with Xcode 16.3 or later I get both these errors and the warning of this topic: ITMS-90288: Invalid Code Signing Entitlements - The entitlements in your app bundle signature do not match the ones that are contained in the provisioning profile. According to the provisioning profile, the bundle contains a key value that is not allowed: '25856V4B4X.org.tempel.findanyfile.helper' for the key 'com.apple.application-identifier' in 'Find Any File.app/Contents/Library/LaunchServices/org.tempel.findanyfile.helper' ITMS-90885: 'Cannot be used with TestFlight because the executable “${executable}” in bundle “${bundle}” is missing a provisioning profile but has an application identifier in its signature. Nested executables are expected to have provisioning profiles with application identifiers matching the identifier in the signature in order to be eligible for TestFlight.' I must admit that I only have an entitlement file for the main app, not for the embedded apps and frameworks. Until now, it appeared that they got automatically adopted. So, I don't understand what the entitlement for the embedded apps needs to contain. The main apps's entitlement file is now: codesign -d --ent - …/"Find Any File.app" Executable=…/FAFv2 MAS Release 31.10.26, 13.38.xcarchive/Products/Applications/Find Any File.app/Contents/MacOS/Find Any File [Dict] [Key] com.apple.application-identifier [Value] [String] 25856V4B4X.org.tempel.findanyfile [Key] com.apple.developer.team-identifier [Value] [String] 25856V4B4X [Key] com.apple.security.automation.apple-events [Value] [Bool] true [Key] com.apple.security.cs.allow-jit [Value] [Bool] true [Key] com.apple.security.personal-information.addressbook [Value] [Bool] true [Key] com.apple.security.personal-information.calendars [Value] [Bool] true(I just added the application-identifier and team-identifier to the entitlement file in hopes that would solve this but it made no difference.) I also checked with the other cmd on the app in the xcarchive, getting this: tempi@TTsMini24 ~ % security cms -D -i …/Find\ Any\ File.app/Contents/embedded.provisionprofile <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>AppIDName</key> <string>Find Any File</string> <key>ApplicationIdentifierPrefix</key> <array> <string>25856V4B4X</string> </array> <key>CreationDate</key> <date>2026-10-31T12:30:46Z</date> <key>Platform</key> <array> <string>OSX</string> </array> <key>IsXcodeManaged</key> <true/> <key>DeveloperCertificates</key> <array>…</array> <key>DER-Encoded-Profile</key> <data>…</data> <key>Entitlements</key> <dict> <key>com.apple.application-identifier</key> <string>25856V4B4X.org.tempel.findanyfile</string> <key>keychain-access-groups</key> <array> <string>25856V4B4X.*</string> </array> <key>com.apple.developer.team-identifier</key> <string>25856V4B4X</string> </dict> <key>ExpirationDate</key> <date>2027-10-31T12:30:46Z</date> <key>Name</key> <string>Mac Team Provisioning Profile: org.tempel.findanyfile</string> <key>ProvisionedDevices</key> <array> … </array> <key>TeamIdentifier</key> <array> <string>25856V4B4X</string> </array> <key>TeamName</key> <string>Thomas Tempelmann</string> <key>TimeToLive</key> <integer>365</integer> <key>UUID</key> <string>…</string> <key>Version</key> <integer>1</integer> </dict> </plist>Any help would be appreciated. Actually, I just realize that I may be confusing entitlements and profile - the latter is the one I claim from Apple's website, right? I haven't visited that for years (though I already struggled understanding it back in the early years when this all started). Gonna see if I can make sense of it on the Apple dev website now. Update - no, that can't be it. When i create a new profile, I need to choose an identifier that describes the entitlements for my app, right? So I checked my current identifier for my app, and that lists lots of options like "5G Network Slicing" and "Access Wi-Fi Information", but none of them look anything like the entitlements that I am using. So, my plain identifier that has none of these options checked should be fine, shouldn't it? Which also means that the current profile I have used for years should be fine as well. What am I missing here? These error msgs from the MAS upload are not helpful at all. They tell me things that seem right to me, and then there's that text with the unfilled ${executable} and ${bundle}, which isn't helping either. This could be so much better. And there's no way to reliably get help from DTS directly any more either - that option has apparently been dropped for having to ask here in the forum, where I can only hope that someone will take a look at this. If it weren't for Quinn, we'd all be doomed already, probably. Til then, I may just have to keep building and submitting with Xcode 13, and admitting to my MAS customers that I'm unable to make my app look modern while the indie build release works with the modern look as that's not locked out by Apple.
3
0
147
8h
Which certificate for MAS submission? "Apple Distribution" vs "Mac App Distribution"
I am struggling with uploading my Mac-only app to TestFlight. I used to do this with Xcode 13.4.1 for a while without trouble, but now I have built the app with Xcode 27.1 and am getting issues such as ITMS-90885 and ITMS-90288 and I cannot figure out how to make it work. I have now at least realized that I seem to need to create a new provisioning profile because the one was using is missing some entitlement(s). To create a new profile, I need to create also a new certificate at https://developer.apple.com/account/resources/certificates/add But there's already my first hurdle: There are two types that allow upload the to MAS: "Apple Distribution" and "Mac App Distribution". Which one should I choose? I even googled for help but found nothing more than what the above website says. It's not clear what the difference is when I only want to submit to the MAS, and whether choosing the wrong one may already be part of the problem I'm having now with uploading my app. Can someone please explain in more detail if they're having exclusive behavior when using them to upload Mac apps to the MAS and TestFlight?
1
0
121
10h
macOS 27 - my faceless bg-only app now appears in the Dock - how to get rid of that?
My macOS app Find Any File contains another app inside its Resources folder. It's a background-only app that checks if the user presses a hotkey, in which case it launches my app. Since macOS 27, when the hotkey app is running, it appears in the Dock with a "Running in Background" subtitle. That's totally not wanted. How do I make it not appear in the Dock? I've got both "LSBackgroundOnly" and "LSUIElement" set to true in the Info.plist, to no avail.
3
0
340
Sep ’26
TestFlight link (Mac) not working any more ("Unable to Open Link")
Update: Turns out it works for others, apparently, and I also found one of my Macs where it does work, too. So it must be something pertinent to my systems. Oddly, though, the same ones where it now fails used to work because I had TestFlight enabled there before. I have TestFlight set up on App Store Connect, and I have already about 50 testers subscribed. Today, I found that the Public Link does not work any more: Once TestFlight.app is installed, and one clicks the link to add my app to TestFlight, it always shows the error ""Unable to Open Link" in TestFlight.app: I've tried this on several Macs (Ventura and Sonoma), and with different Accounts, both where the app was already added or not. Is something generally broken, i.e. do others see the same issue with their TestFlight links, or is it just me? How do you suggest I get this resolved? Here's an example link I set up for this purpose - it only allows a handful of subscribers, so please do not actually subscribe but just see if you even get allowed to, or if you get the same error if you must try: https://testflight.apple.com/join/oV8NNojg And here's how it's set up:
1
1
1.4k
Apr ’26
Obscure assertion crash in com.apple.NSScrollingConcurrentVBLMonitor thread
I have received a few crash reports for my app "Find Any File" with an assertion failure as follows: assertion failure: "displayTiming != ((void *)0)" -&gt; %lld Googling this turns up nothing, though. I wonder if someone has some insight into why this might happen, and how to prevent it. One reporting user suggests that it happens when my app shows a very long list of items in an NSTableView (&gt;10000 elements). I have 4 reports from 3 users, and the main thread is doing something related to the table view each time, though not the same (the few other threads are all idle): Crash 1, in macOS 14.0 (23A344: Thread 0:: Dispatch queue: com.apple.main-thread 0 libobjc.A.dylib 0x182c69400 objc_msgSend + 0 1 AppKit 0x186f15400 -[CALayer(NSViewVisibleRect) NS_viewVisibleRectDidChange] + 40 2 AppKit 0x186900e10 NSViewHierarchyInvalidateVisibleRect + 276 3 AppKit 0x186900db0 NSViewHierarchyInvalidateVisibleRect + 180 4 AppKit 0x186900db0 NSViewHierarchyInvalidateVisibleRect + 180 5 AppKit 0x186900db0 NSViewHierarchyInvalidateVisibleRect + 180 6 AppKit 0x186900db0 NSViewHierarchyInvalidateVisibleRect + 180 7 AppKit 0x186900db0 NSViewHierarchyInvalidateVisibleRect + 180 8 AppKit 0x1869990e0 -[NSView translateOriginToPoint:] + 164 9 AppKit 0x186984108 -[NSClipView _immediateScrollToPoint:] + 420 10 AppKit 0x186983eb8 -[NSClipView scrollToPoint:] + 184 11 AppKit 0x186998d80 -[NSScrollView scrollClipView:toPoint:] + 84 12 AppKit 0x1869448dc -[NSClipView _scrollTo:animateScroll:flashScrollerKnobs:] + 480 13 AppKit 0x186b65b24 __62-[NSScrollingBehaviorConcurrentVBL _stopGestureScrollTracking]_block_invoke + 192 14 AppKit 0x186e6a6e8 ___NSMainRunLoopPerformBlockInModes_block_invoke + 44 15 CoreFoundation 0x18310b8c0 __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 28 Crash 2, in macOS 14.1.1 (23B81): Thread 0:: Dispatch queue: com.apple.main-thread 0 CoreFoundation 0x18ba401f4 DYLD-STUB$$_Block_object_assign + 0 1 libsystem_blocks.dylib 0x18b506118 _call_copy_helpers_excp + 80 2 libsystem_blocks.dylib 0x18b505c68 _Block_copy + 376 3 libdispatch.dylib 0x18b641c7c _dispatch_Block_copy + 32 4 libdispatch.dylib 0x18b658df0 _dispatch_source_set_handler + 92 5 CoreFoundation 0x18b99e1e4 __CFRunLoopCopyMode + 540 6 CoreFoundation 0x18b8b7458 CFRunLoopAddObserver + 220 7 AppKit 0x18f0a687c _PerfAddRunLoopObserver + 192 8 AppKit 0x18f87cd60 -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 368 9 AppKit 0x18f323318 -[_NSScrollingConcurrentEventMonitor startMonitoring] + 380 10 AppKit 0x18f321df8 -[NSScrollingBehaviorConcurrentVBL _scrollView:trackGestureScrollWithEvent:] + 884 11 AppKit 0x18f2e67f8 -[NSScrollingBehaviorConcurrentVBL scrollView:scrollWheelWithEvent:] + 512 12 AppKit 0x18f241770 forwardMethod + 252 13 AppKit 0x18f2e62a0 -[NSView scrollWheel:] + 408 14 AppKit 0x18f241770 forwardMethod + 252 15 AppKit 0x18f2e62a0 -[NSView scrollWheel:] + 408 16 AppKit 0x18f241770 forwardMethod + 252 17 AppKit 0x18f2e62a0 -[NSView scrollWheel:] + 408 18 AppKit 0x18f241770 forwardMethod + 252 19 AppKit 0x18f2e62a0 -[NSView scrollWheel:] + 408 20 AppKit 0x18fc45880 -[NSCollectionView scrollWheel:] + 180 21 AppKit 0x18f241770 forwardMethod + 252 22 AppKit 0x18f241770 forwardMethod + 252 23 AppKit 0x18f2e62a0 -[NSView scrollWheel:] + 408 24 AppKit 0x18f241770 forwardMethod + 252 25 AppKit 0x18f2e62a0 -[NSView scrollWheel:] + 408 26 AppKit 0x18f241770 forwardMethod + 252 27 AppKit 0x18f2e62a0 -[NSView scrollWheel:] + 408 28 AppKit 0x18f1d27b0 -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 652 As you can see, there's no code of mine involved at the time of crash. The other (and older) reports are similar, in macOS 13.6.1 and macOS 13.1. All four happened on ARM architecture (which may not be significant due to small number of samples). Memory use of app was not critical (in one case it was about 9 GB total, in others below 4 GB). The "Binary Images" section only lists Apple libs, apart from my app's. So, there seems to be no 3rd party ext involved. I've attached a full report as well. Full report of Crash 1
2
0
2.1k
Mar ’26
Getting crashes when using QLPreviewPanel on AddressBook items
My app (FindAnyFile) provides a Finder-like interface in which it also offers a QuickLook preview command, which invokes [[QLPreviewPanel sharedPreviewPanel] makeKeyAndOrderFront:nil]; Now, if it shows .abcdp files, it often, but not always, crashes. This has been happening for many macOS versions, at least since 10.15, up to 26.1. Also, it does not seem to matter which SDK/Xcode I build with, as I used several and all versions lead to the crash. The issue rather appears to be inside the QLplugin for the AB file (ABCardCollectionView etc.). I am able to trace this crash in Xcode. There are a LOT of errors and warnings coming up, and eventually the qlplugin throws an ObjC exception which in turn brings down my entire app (and here I thought that the XPC system was designed to expressly avoid such crashes). Possibly significant errors are: CNAccountCollectionUpdateWatcher 0x6000025cf800: Update event received, but store registration failed. This event will be handled, but the behavior is undefined. Error using remote object proxy when fetchAnonymousXPCEndpoint: Error Domain=NSCocoaErrorDomain Code=4097 "connection to service named com.apple.telephonyutilities.callservicesdaemon.callstatecontroller" UserInfo={NSDebugDescription=connection to service named com.apple.telephonyutilities.callservicesdaemon.callstatecontroller} connection to service named com.apple.coreduetd.people … CNPropertyNotFetchedException: A property was not requested when contact was fetched. I've attached the (mostly) complete console output from such a debug run. I have also an open bug report regarding this kind of crash (back then I was not able to reproduce it myself): FB15553847 Also, when I "Quick Look" the same file in Finder, I get a "Preview not permitted" for the same items that crash in my app. If I copy the same items to the Desktop, then Finder can QL them and my app doesn't crash when viewing the item on the Desktop. So, the crash only happens with the items inside ~/Library/Application Support/AddressBook/Sources/…/Metadata/. Now, here is the weirdest part: You might think: So, if the Finder shows "Preview not permitted", then my app trying to view those items is the result of that condition (even if that's not supposed to crash). However: I have a clean 26.1 install (in an Apple ARM VM) where Finder also says "Preview not permitted" for these items in the user's Library/AB/Metadata folder, but my app can QL those items without crashing! Also, I have one user who uses 26.1 and gets the crash with files in the same location. So, the "Preview not permitted" is probably not the cause of this crash, though it's suspicious that a user gets this at all - why can't a user QL the abcdp files in the Metadata folder but when copied to the Desktop, QL works? You'd think that Finder has the necessary entitlements to access the AB, or doesn't it? Of course, my app has permission enabled under Privacy & Security / Contacts (if it's disabled, then the app can't show anything but will also not crash). And it has the "Address Book" entitlement. Would be nice if this could be looked into and eventually be fixed. Alternatively, I'd welcome any suggestions on how to prevent my app from crashing if the qlplugin throws. But if you look at the stack trace you'll see that there's no method of my own app involved where I could insert an exception catcher. I added code to my previewItemURL delegate method to make sure the NSURL item is readable, and it is, even Of course, apart from the issue with .abcdp files, the QL operation in my app works flawlessly, i.e. I have never received any other crash reports relating to any other QL plugins. QuickLook for AddressBook crash messages
1
0
648
Jan ’26
In need of a sample receipt file that uses the SHA-256 hash
My app that's been around since the dawn of the Mac App Store, and which uses its own receipt validation code for 15 years now, recently sometimes triggers a "does not support the latest receipt validation requirements" error message with my app's users. But I cannot reproduce it, even if I freshly install the app on a M4 Mac running macOS 26.2. So I have a hard time testing my fix. Does someone have a sample receipt file they could share with me (including the MAC from "en0" / GUID device ID), or do you know where I can find one that uses the new SHA-256 hash? In fact - when reading https://developer.apple.com/documentation/appstorereceipts/validating-receipts-on-the-device it seems that there's only a SHA-1 after all. So why do some users get the "receipt validation requirements" message at all? I'm only reading the receipt, decoding the ASN.1 fields and then validate the hash from the receipt (field 5) against the SHA-1 from the GUID+receipt, as always, calling libCrypto's SHA1() function. So, what would even trigger the message, as I'm not invoking any higher-level APIs that would verify the receipt for me, and thus would know when something is wrong?!?
3
0
929
Jan ’26
Right-clicking at the top edge of the menu bar doesn't trigger a statusitem action event any more in Tahoe
I have a program that installs an NSStatusItem button in the Menubar. It registers for both the right and left click events. Before Tahoe, clicking into the statusitem with the mouse at the very top of the menubar would also invoke the Action handler, be it a right or a left click. Now, with Tahoe, where the menubar height was changed from 24 to 30, left clicks at the top edge still trigger the Action event, but right clicks do not - they only work if moving the mouse a few pixels down. This is quite inconvenient - the idea of the menubar being at the edge of the screen was always that one can just push the mouse to the edge and then click to interact. Tahoe has broken this basic GUI concept now partially. And since left clicks still work, it suggests that I don't do anything wrong - the clicks are controlled by the framework, and I'm never asked to provide a frame in which the clicks shall be accepted. It's that Apple's code apparently now uses the smaller statusitem's bounds instead of the full menu bar height for hit-testing. Is that on purpose or a bug? And does someone know a work-around, i.e. can I hook into the click-handler at a deeper level and do the hit testing myself? I've tried adding a subview to the statusitem's window's contentView, but that also only reacts to clicks in the smaller area.
Topic: UI Frameworks SubTopic: AppKit
0
0
178
Jan ’26
App delegate's openURLs: handler not taking .app (application) types any more
So, I was going to make a macOS application that accepts dropped apps. This used to work fine in older macOS versions such as High Sierra. It also works for apps like Script Editor. But I cannot get my own app, made with either Xcode or Script Editor, receive dropped apps any more. Mind you, Finder does accept dropping .app items onto my app, so the CFBundleDocumentTypes are fine. And, as I said, it works in High Sierra. The problem is that some part in AppKit or Core Services filters out apps from the list of dropped URLs before application:openURLs: is invoked. What's up with that, and how do I make this work again? I've tried copying all of Script Editor's Info.plist entries to no avail, so there's something more sinister going on here. Also filed under FB21456137
Topic: UI Frameworks SubTopic: AppKit
1
0
176
Dec ’25
How to detect an auto-mounting directory and wait for it to get mounted?
I need to detect the triggering of an auto-mount operation when accessing the path to a formerly unknown mount point at the file system (BSD, POSIX, NSURL) level, and how to wait for it to finish the operation. Network shares can have sub-volumes on them Consider a Windows server. Let's say there's a SMB sharepoint at C:\Shared. It has some folders, one of which is at C:\Shared\More. Furthermore, there's another partition (volume) on the PC, which is mounted at C:\Shared\More\OtherVol. If you mount the initial share on a Mac with a recent macOS, macOS initially only sees a single mount point at /Volumes/Shared, which can be checked with the "mount" command. Now, if you use Finder to dive into the Shared/More folder, Finder will trigger an auto-mount action on the containing OtherVol folder, and after that, the "mount" command will list two mount points from this server, the second being at /Volumes/Shared/More/OtherVol. (This was a bit surprising to me - I'd have thought that Windows or SMB would hide the fact that the share has sub-volumes, and simply show them as directories - and that's what it did in older macOS versions indeed, e.g. in High Sierra. But in Sequoia, these sub-volumes on the Windows side are mirrored on the Mac side, and they behave accordingly) Browse the volume, including its sub-volumes Now, I have a program that tries to dive into all the folders of this Shared volume, even if it was just freshly mounted and there's no mountpoint at /Volumes/Shared/More/OtherVol known yet (i.e. the user didn't use Finder to explore it). This means, that if my program, e.g. using a simple recursive directory scan, reaches /Volumes/Shared/More/OtherVol, the item will not appear as a volume but as an empty folder. E.g, if I get the NSURLIsVolumeKey value, it'll be false. Only once I try to enter the empty dir, listing its contents, which will return no items, an auto-mount action will get triggered, which will add the mountpoint at the path. So, in order to browse the actual contents of the OtherVol directory, I'd have to detect this auto-mount operation somehow, wait for it to finish mounting, and then re-enter the same directory so that I now see the mounted content. How do I do that? I.e. how do I tell that a dir is actually a auto-mount point and how do I wait for it to get auto-mounted before I continue to browse its contents? Note that newer macOS versions do not use fstab any more, so that's of no help here. Can the DA API help? Do I need to use the old Disk Arbitration functions for this, somehow? I have used the DA framework in the part to prevent auto-mounting, so I imagine I could hook into that handler, and if I get a callback for a mount operation, I could then queue the newly mounted volume for scanning. The problem, however, is that my scanning code may, having only seen an empty directory at the not-yet-mounted mountpoint, already decided that there's nothing there and finished its operation. I'd need some reliable method that lets my recursive scanning code know whether an auto-mount has been triggered and it therefore needs to wait for the DA callback. So, is there some signal that will let me know IMMEDIATELY after entering the empty mountpoint directory that an auto-mount op is on the way? Because I suspect that the DA callbacks come with a delay, and therefore would come too late if I used that as the notifier that I have to wait.
11
0
1.1k
Nov ’25
Not seeing any recent crash reports although there should be some
For my app Find Any File, of which both releases and TestFlight betas were released many times, the TestFlight page tells me that several users have submitted crash reports. And I'm sure the same is true for the MAS releases: (Yes, this shows quite recent ones, but I've seen similar supposed crash report submits in this list before.) However, the actual "Crashes" listing on the appstoreconnect sites hasn't show any new crash reports for many months now: (This is the entirety of crash reports I can get listed, even when removing all filters.) Something appears to be stuck, on Apple's end. The same issue is with Xcode's Organanizer window, for "Crashes": It also used to list only the same very old reports and nothing since May 2024. And just now, when I retried this in Xcode, I'm shown a weird error message I never saw before: Error Downloading Crashes List An error occurred… Access Restricted with adam id: 1207815783 And yes, I'm logged in just fine, under Prefs / Accounts. How am I going to get this investigated? I had already sent an email about this to the Review team, who didn't react to it at all. DTS is only for Code level support, which this isn't. Any help?
5
0
1k
Apr ’25
My Xcode-submitted app isn't appearing in the builds listing on the Connect site, suddenly
I've been uploading my app (Find Any File) to the App Store since its very first day, around 2010. It always worked. But now, after I the last successful release at the beginning of January, I am not able to get my app into the Store any more. Xcode 16.2 reports that it successfully uploaded my app, without warnings. Yet, it never appears in Connect's TestFlight builds. I just keep seeing this for the new version (2.5.6): And, after a while (less an hour), that entire 2.5.6 section disappears again as if there had never been an upload for 2.5.6. I don't get any emails about the submission or about an issue with it, either. It's like my submissions are suddenly blocked by Apple. Now I cannot submit a new version any more. What's going on there? I anyone else having a similar issue?
1
0
291
Apr ’25
Getting nonsense warnings on upload with Xcode 16.2
I have a macOS app that contains multiple additional executables. One is a full app bundle, the others are single-file tools with an embedded plist. So far, I have used Xcode 13 to upload the app to the MAS. This had not (and still does not) report any warnings. But today, when i tried to upload (or Verify) with Xcode 16.2, I am getting this warning: I cannot make sense of this. Clearly, the placeholders are not properly filled out, but even if I remove any one of the items from the app, the verification keeps report the same warning. Only if I remove ALL of the embedded app and executables, the warning goes away. Now, the problem is that I can't see what I need to do. My Xcode signing setting are set to "Automatic", and it shows "Provisioning Profile: None required" for the main and all involved sub projects. And I never needed one (the app is not sandboxed and doesn't have to be - it's exempt), and the app was always accepted this way and runs on 10000s of Macs like this, with all executables doing their job as intended. So, what's this warning about and is that a false flag (e.g. should only be posted for sandboxed apps) or what?
0
0
275
Mar ’25
Trouble with testing new receipt loading in place of exit(173)
I have several ObjC based apps in the App Store and used to validate the receipt file inside the app in my code, and then reject it with exit(173) if it's invalid, which did trigger macOS to update the receipt if possible. This isn't working any more in recent macOS versions, where the user is instead just told that the app is damaged, and they need to re-install it manually. Which sucks. So I wanted to update my code. I read about SKReceiptRefreshRequest, which is supposed to re-download and install the receipt file, if I understand it correctly. I implemented the code but now have trouble verifying that it works as intended, and does this in a user friendly way. I found in my tests that macOS now caches the receipt in ~/Library/Caches/com.apple.appstoreagent/fsCachedData and then hardlinks the file into the app. BTW: Sadly, this also requires that the app is located on the startup volume or the system will refuse to install the receipt, which wasn't a requirement in past times. Now, if the receipt is already present in the cache folder, then my code works - the receipt gets re-linked. But what if the cached receipt isn't there, yet? Such as that the user had copied the app from another Mac over to a freshly installed Mac? In the past, when the user then launched the app on the new Mac, he'd be prompted to login to the MAS and if that worked, the receipt would get installed and the app launched. Basically, the question is: What if the receipt validation fails in my app and I request a new receipt, but the user has not yet logged into MAS (e.g. new computer)? To simulate this, I logging out of the MAS and TestFlight, deleting all copies of the app and then run the app that I had copied from another Mac where it was authorized with a valid receipt for that device. If I do this with the old version that uses exit(173), I get these two messages in macOS 15.2: The second one is especially terrible because it shows the translocated path, which the average user surely get quite confused, and then maybe even search in vain for the app in there and get frustrated. But that's out of my hands. Sigh. Now, that was proving that the old method with exit(173) isn't working any more and needs to be changed in my apps. Since I'm still developing (testing) this new behavior, the app is therefore not in the MAS yet - the only way for me to test this is to use TestFlight. However, running a Testflight app copied from another Mac leads to this error: That is not helpful in simulating what would happen if this app was released in the MAS. This won't let me find out what happens if my app is run on a Mac where the receipt fails and I ask it to load it via SKReceiptRefreshRequest and if the user is NOT yet logged into the MAS account for this purchased app of his/hers. That leaves only one option: Release the app with untested code and hope for the best. Contrary to this new behavior, the old method did let me test this easily because I would just use the special App Store tester account with the MAS app, i.e. the built MAS app would, when I launched it locally, request for a login and I'd provide my tester's account. But this isn't available any more, apparently. What a mess.
0
0
794
Dec ’24
Can I have my MAS and my "Indie" app share the same credentials for TCC (GateKeeper)?
I release my app both in the MAS and on my website. I use the same signing credentials, but necessarily different certs (Apple Development vs. Developer ID). When I run the MAS app and then run the other version, or vice versa, I need to re-authenticate the many privacy permissions each time (Finder AppleScript, Network browse, Full Disk Access), which is tedious and keeps causing trouble for other users because some of these require a tcc reset (which my app currently invokes manually, which I consider a hack, though). So, am I doing something wrong or is it really no possible to have both signed apps use the same identity with TCC?
Replies
0
Boosts
0
Views
43
Activity
8h
Cannot upload to App Store Connect due to "ITMS-90288: Invalid Code Signing Entitlements" and ITMS-90885
I am referring to this post. I am struggling with this now, too, and thought it may get more likely some attention if I start a new post about it instead of adding a comment there (does it actually make a difference, though?). I read through (most of) the posts, mainly by Quinn, and cannot find what I'm still doing wrong. Upload with Xcode 13.4.1 still works, but with Xcode 16.3 or later I get both these errors and the warning of this topic: ITMS-90288: Invalid Code Signing Entitlements - The entitlements in your app bundle signature do not match the ones that are contained in the provisioning profile. According to the provisioning profile, the bundle contains a key value that is not allowed: '25856V4B4X.org.tempel.findanyfile.helper' for the key 'com.apple.application-identifier' in 'Find Any File.app/Contents/Library/LaunchServices/org.tempel.findanyfile.helper' ITMS-90885: 'Cannot be used with TestFlight because the executable “${executable}” in bundle “${bundle}” is missing a provisioning profile but has an application identifier in its signature. Nested executables are expected to have provisioning profiles with application identifiers matching the identifier in the signature in order to be eligible for TestFlight.' I must admit that I only have an entitlement file for the main app, not for the embedded apps and frameworks. Until now, it appeared that they got automatically adopted. So, I don't understand what the entitlement for the embedded apps needs to contain. The main apps's entitlement file is now: codesign -d --ent - …/"Find Any File.app" Executable=…/FAFv2 MAS Release 31.10.26, 13.38.xcarchive/Products/Applications/Find Any File.app/Contents/MacOS/Find Any File [Dict] [Key] com.apple.application-identifier [Value] [String] 25856V4B4X.org.tempel.findanyfile [Key] com.apple.developer.team-identifier [Value] [String] 25856V4B4X [Key] com.apple.security.automation.apple-events [Value] [Bool] true [Key] com.apple.security.cs.allow-jit [Value] [Bool] true [Key] com.apple.security.personal-information.addressbook [Value] [Bool] true [Key] com.apple.security.personal-information.calendars [Value] [Bool] true(I just added the application-identifier and team-identifier to the entitlement file in hopes that would solve this but it made no difference.) I also checked with the other cmd on the app in the xcarchive, getting this: tempi@TTsMini24 ~ % security cms -D -i …/Find\ Any\ File.app/Contents/embedded.provisionprofile <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>AppIDName</key> <string>Find Any File</string> <key>ApplicationIdentifierPrefix</key> <array> <string>25856V4B4X</string> </array> <key>CreationDate</key> <date>2026-10-31T12:30:46Z</date> <key>Platform</key> <array> <string>OSX</string> </array> <key>IsXcodeManaged</key> <true/> <key>DeveloperCertificates</key> <array>…</array> <key>DER-Encoded-Profile</key> <data>…</data> <key>Entitlements</key> <dict> <key>com.apple.application-identifier</key> <string>25856V4B4X.org.tempel.findanyfile</string> <key>keychain-access-groups</key> <array> <string>25856V4B4X.*</string> </array> <key>com.apple.developer.team-identifier</key> <string>25856V4B4X</string> </dict> <key>ExpirationDate</key> <date>2027-10-31T12:30:46Z</date> <key>Name</key> <string>Mac Team Provisioning Profile: org.tempel.findanyfile</string> <key>ProvisionedDevices</key> <array> … </array> <key>TeamIdentifier</key> <array> <string>25856V4B4X</string> </array> <key>TeamName</key> <string>Thomas Tempelmann</string> <key>TimeToLive</key> <integer>365</integer> <key>UUID</key> <string>…</string> <key>Version</key> <integer>1</integer> </dict> </plist>Any help would be appreciated. Actually, I just realize that I may be confusing entitlements and profile - the latter is the one I claim from Apple's website, right? I haven't visited that for years (though I already struggled understanding it back in the early years when this all started). Gonna see if I can make sense of it on the Apple dev website now. Update - no, that can't be it. When i create a new profile, I need to choose an identifier that describes the entitlements for my app, right? So I checked my current identifier for my app, and that lists lots of options like "5G Network Slicing" and "Access Wi-Fi Information", but none of them look anything like the entitlements that I am using. So, my plain identifier that has none of these options checked should be fine, shouldn't it? Which also means that the current profile I have used for years should be fine as well. What am I missing here? These error msgs from the MAS upload are not helpful at all. They tell me things that seem right to me, and then there's that text with the unfilled ${executable} and ${bundle}, which isn't helping either. This could be so much better. And there's no way to reliably get help from DTS directly any more either - that option has apparently been dropped for having to ask here in the forum, where I can only hope that someone will take a look at this. If it weren't for Quinn, we'd all be doomed already, probably. Til then, I may just have to keep building and submitting with Xcode 13, and admitting to my MAS customers that I'm unable to make my app look modern while the indie build release works with the modern look as that's not locked out by Apple.
Replies
3
Boosts
0
Views
147
Activity
8h
Which certificate for MAS submission? "Apple Distribution" vs "Mac App Distribution"
I am struggling with uploading my Mac-only app to TestFlight. I used to do this with Xcode 13.4.1 for a while without trouble, but now I have built the app with Xcode 27.1 and am getting issues such as ITMS-90885 and ITMS-90288 and I cannot figure out how to make it work. I have now at least realized that I seem to need to create a new provisioning profile because the one was using is missing some entitlement(s). To create a new profile, I need to create also a new certificate at https://developer.apple.com/account/resources/certificates/add But there's already my first hurdle: There are two types that allow upload the to MAS: "Apple Distribution" and "Mac App Distribution". Which one should I choose? I even googled for help but found nothing more than what the above website says. It's not clear what the difference is when I only want to submit to the MAS, and whether choosing the wrong one may already be part of the problem I'm having now with uploading my app. Can someone please explain in more detail if they're having exclusive behavior when using them to upload Mac apps to the MAS and TestFlight?
Replies
1
Boosts
0
Views
121
Activity
10h
macOS 27 - my faceless bg-only app now appears in the Dock - how to get rid of that?
My macOS app Find Any File contains another app inside its Resources folder. It's a background-only app that checks if the user presses a hotkey, in which case it launches my app. Since macOS 27, when the hotkey app is running, it appears in the Dock with a "Running in Background" subtitle. That's totally not wanted. How do I make it not appear in the Dock? I've got both "LSBackgroundOnly" and "LSUIElement" set to true in the Info.plist, to no avail.
Replies
3
Boosts
0
Views
340
Activity
Sep ’26
TestFlight link (Mac) not working any more ("Unable to Open Link")
Update: Turns out it works for others, apparently, and I also found one of my Macs where it does work, too. So it must be something pertinent to my systems. Oddly, though, the same ones where it now fails used to work because I had TestFlight enabled there before. I have TestFlight set up on App Store Connect, and I have already about 50 testers subscribed. Today, I found that the Public Link does not work any more: Once TestFlight.app is installed, and one clicks the link to add my app to TestFlight, it always shows the error ""Unable to Open Link" in TestFlight.app: I've tried this on several Macs (Ventura and Sonoma), and with different Accounts, both where the app was already added or not. Is something generally broken, i.e. do others see the same issue with their TestFlight links, or is it just me? How do you suggest I get this resolved? Here's an example link I set up for this purpose - it only allows a handful of subscribers, so please do not actually subscribe but just see if you even get allowed to, or if you get the same error if you must try: https://testflight.apple.com/join/oV8NNojg And here's how it's set up:
Replies
1
Boosts
1
Views
1.4k
Activity
Apr ’26
Obscure assertion crash in com.apple.NSScrollingConcurrentVBLMonitor thread
I have received a few crash reports for my app "Find Any File" with an assertion failure as follows: assertion failure: "displayTiming != ((void *)0)" -&gt; %lld Googling this turns up nothing, though. I wonder if someone has some insight into why this might happen, and how to prevent it. One reporting user suggests that it happens when my app shows a very long list of items in an NSTableView (&gt;10000 elements). I have 4 reports from 3 users, and the main thread is doing something related to the table view each time, though not the same (the few other threads are all idle): Crash 1, in macOS 14.0 (23A344: Thread 0:: Dispatch queue: com.apple.main-thread 0 libobjc.A.dylib 0x182c69400 objc_msgSend + 0 1 AppKit 0x186f15400 -[CALayer(NSViewVisibleRect) NS_viewVisibleRectDidChange] + 40 2 AppKit 0x186900e10 NSViewHierarchyInvalidateVisibleRect + 276 3 AppKit 0x186900db0 NSViewHierarchyInvalidateVisibleRect + 180 4 AppKit 0x186900db0 NSViewHierarchyInvalidateVisibleRect + 180 5 AppKit 0x186900db0 NSViewHierarchyInvalidateVisibleRect + 180 6 AppKit 0x186900db0 NSViewHierarchyInvalidateVisibleRect + 180 7 AppKit 0x186900db0 NSViewHierarchyInvalidateVisibleRect + 180 8 AppKit 0x1869990e0 -[NSView translateOriginToPoint:] + 164 9 AppKit 0x186984108 -[NSClipView _immediateScrollToPoint:] + 420 10 AppKit 0x186983eb8 -[NSClipView scrollToPoint:] + 184 11 AppKit 0x186998d80 -[NSScrollView scrollClipView:toPoint:] + 84 12 AppKit 0x1869448dc -[NSClipView _scrollTo:animateScroll:flashScrollerKnobs:] + 480 13 AppKit 0x186b65b24 __62-[NSScrollingBehaviorConcurrentVBL _stopGestureScrollTracking]_block_invoke + 192 14 AppKit 0x186e6a6e8 ___NSMainRunLoopPerformBlockInModes_block_invoke + 44 15 CoreFoundation 0x18310b8c0 __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 28 Crash 2, in macOS 14.1.1 (23B81): Thread 0:: Dispatch queue: com.apple.main-thread 0 CoreFoundation 0x18ba401f4 DYLD-STUB$$_Block_object_assign + 0 1 libsystem_blocks.dylib 0x18b506118 _call_copy_helpers_excp + 80 2 libsystem_blocks.dylib 0x18b505c68 _Block_copy + 376 3 libdispatch.dylib 0x18b641c7c _dispatch_Block_copy + 32 4 libdispatch.dylib 0x18b658df0 _dispatch_source_set_handler + 92 5 CoreFoundation 0x18b99e1e4 __CFRunLoopCopyMode + 540 6 CoreFoundation 0x18b8b7458 CFRunLoopAddObserver + 220 7 AppKit 0x18f0a687c _PerfAddRunLoopObserver + 192 8 AppKit 0x18f87cd60 -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 368 9 AppKit 0x18f323318 -[_NSScrollingConcurrentEventMonitor startMonitoring] + 380 10 AppKit 0x18f321df8 -[NSScrollingBehaviorConcurrentVBL _scrollView:trackGestureScrollWithEvent:] + 884 11 AppKit 0x18f2e67f8 -[NSScrollingBehaviorConcurrentVBL scrollView:scrollWheelWithEvent:] + 512 12 AppKit 0x18f241770 forwardMethod + 252 13 AppKit 0x18f2e62a0 -[NSView scrollWheel:] + 408 14 AppKit 0x18f241770 forwardMethod + 252 15 AppKit 0x18f2e62a0 -[NSView scrollWheel:] + 408 16 AppKit 0x18f241770 forwardMethod + 252 17 AppKit 0x18f2e62a0 -[NSView scrollWheel:] + 408 18 AppKit 0x18f241770 forwardMethod + 252 19 AppKit 0x18f2e62a0 -[NSView scrollWheel:] + 408 20 AppKit 0x18fc45880 -[NSCollectionView scrollWheel:] + 180 21 AppKit 0x18f241770 forwardMethod + 252 22 AppKit 0x18f241770 forwardMethod + 252 23 AppKit 0x18f2e62a0 -[NSView scrollWheel:] + 408 24 AppKit 0x18f241770 forwardMethod + 252 25 AppKit 0x18f2e62a0 -[NSView scrollWheel:] + 408 26 AppKit 0x18f241770 forwardMethod + 252 27 AppKit 0x18f2e62a0 -[NSView scrollWheel:] + 408 28 AppKit 0x18f1d27b0 -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 652 As you can see, there's no code of mine involved at the time of crash. The other (and older) reports are similar, in macOS 13.6.1 and macOS 13.1. All four happened on ARM architecture (which may not be significant due to small number of samples). Memory use of app was not critical (in one case it was about 9 GB total, in others below 4 GB). The "Binary Images" section only lists Apple libs, apart from my app's. So, there seems to be no 3rd party ext involved. I've attached a full report as well. Full report of Crash 1
Replies
2
Boosts
0
Views
2.1k
Activity
Mar ’26
Getting crashes when using QLPreviewPanel on AddressBook items
My app (FindAnyFile) provides a Finder-like interface in which it also offers a QuickLook preview command, which invokes [[QLPreviewPanel sharedPreviewPanel] makeKeyAndOrderFront:nil]; Now, if it shows .abcdp files, it often, but not always, crashes. This has been happening for many macOS versions, at least since 10.15, up to 26.1. Also, it does not seem to matter which SDK/Xcode I build with, as I used several and all versions lead to the crash. The issue rather appears to be inside the QLplugin for the AB file (ABCardCollectionView etc.). I am able to trace this crash in Xcode. There are a LOT of errors and warnings coming up, and eventually the qlplugin throws an ObjC exception which in turn brings down my entire app (and here I thought that the XPC system was designed to expressly avoid such crashes). Possibly significant errors are: CNAccountCollectionUpdateWatcher 0x6000025cf800: Update event received, but store registration failed. This event will be handled, but the behavior is undefined. Error using remote object proxy when fetchAnonymousXPCEndpoint: Error Domain=NSCocoaErrorDomain Code=4097 "connection to service named com.apple.telephonyutilities.callservicesdaemon.callstatecontroller" UserInfo={NSDebugDescription=connection to service named com.apple.telephonyutilities.callservicesdaemon.callstatecontroller} connection to service named com.apple.coreduetd.people … CNPropertyNotFetchedException: A property was not requested when contact was fetched. I've attached the (mostly) complete console output from such a debug run. I have also an open bug report regarding this kind of crash (back then I was not able to reproduce it myself): FB15553847 Also, when I "Quick Look" the same file in Finder, I get a "Preview not permitted" for the same items that crash in my app. If I copy the same items to the Desktop, then Finder can QL them and my app doesn't crash when viewing the item on the Desktop. So, the crash only happens with the items inside ~/Library/Application Support/AddressBook/Sources/…/Metadata/. Now, here is the weirdest part: You might think: So, if the Finder shows "Preview not permitted", then my app trying to view those items is the result of that condition (even if that's not supposed to crash). However: I have a clean 26.1 install (in an Apple ARM VM) where Finder also says "Preview not permitted" for these items in the user's Library/AB/Metadata folder, but my app can QL those items without crashing! Also, I have one user who uses 26.1 and gets the crash with files in the same location. So, the "Preview not permitted" is probably not the cause of this crash, though it's suspicious that a user gets this at all - why can't a user QL the abcdp files in the Metadata folder but when copied to the Desktop, QL works? You'd think that Finder has the necessary entitlements to access the AB, or doesn't it? Of course, my app has permission enabled under Privacy & Security / Contacts (if it's disabled, then the app can't show anything but will also not crash). And it has the "Address Book" entitlement. Would be nice if this could be looked into and eventually be fixed. Alternatively, I'd welcome any suggestions on how to prevent my app from crashing if the qlplugin throws. But if you look at the stack trace you'll see that there's no method of my own app involved where I could insert an exception catcher. I added code to my previewItemURL delegate method to make sure the NSURL item is readable, and it is, even Of course, apart from the issue with .abcdp files, the QL operation in my app works flawlessly, i.e. I have never received any other crash reports relating to any other QL plugins. QuickLook for AddressBook crash messages
Replies
1
Boosts
0
Views
648
Activity
Jan ’26
In need of a sample receipt file that uses the SHA-256 hash
My app that's been around since the dawn of the Mac App Store, and which uses its own receipt validation code for 15 years now, recently sometimes triggers a "does not support the latest receipt validation requirements" error message with my app's users. But I cannot reproduce it, even if I freshly install the app on a M4 Mac running macOS 26.2. So I have a hard time testing my fix. Does someone have a sample receipt file they could share with me (including the MAC from "en0" / GUID device ID), or do you know where I can find one that uses the new SHA-256 hash? In fact - when reading https://developer.apple.com/documentation/appstorereceipts/validating-receipts-on-the-device it seems that there's only a SHA-1 after all. So why do some users get the "receipt validation requirements" message at all? I'm only reading the receipt, decoding the ASN.1 fields and then validate the hash from the receipt (field 5) against the SHA-1 from the GUID+receipt, as always, calling libCrypto's SHA1() function. So, what would even trigger the message, as I'm not invoking any higher-level APIs that would verify the receipt for me, and thus would know when something is wrong?!?
Replies
3
Boosts
0
Views
929
Activity
Jan ’26
Right-clicking at the top edge of the menu bar doesn't trigger a statusitem action event any more in Tahoe
I have a program that installs an NSStatusItem button in the Menubar. It registers for both the right and left click events. Before Tahoe, clicking into the statusitem with the mouse at the very top of the menubar would also invoke the Action handler, be it a right or a left click. Now, with Tahoe, where the menubar height was changed from 24 to 30, left clicks at the top edge still trigger the Action event, but right clicks do not - they only work if moving the mouse a few pixels down. This is quite inconvenient - the idea of the menubar being at the edge of the screen was always that one can just push the mouse to the edge and then click to interact. Tahoe has broken this basic GUI concept now partially. And since left clicks still work, it suggests that I don't do anything wrong - the clicks are controlled by the framework, and I'm never asked to provide a frame in which the clicks shall be accepted. It's that Apple's code apparently now uses the smaller statusitem's bounds instead of the full menu bar height for hit-testing. Is that on purpose or a bug? And does someone know a work-around, i.e. can I hook into the click-handler at a deeper level and do the hit testing myself? I've tried adding a subview to the statusitem's window's contentView, but that also only reacts to clicks in the smaller area.
Topic: UI Frameworks SubTopic: AppKit
Replies
0
Boosts
0
Views
178
Activity
Jan ’26
App delegate's openURLs: handler not taking .app (application) types any more
So, I was going to make a macOS application that accepts dropped apps. This used to work fine in older macOS versions such as High Sierra. It also works for apps like Script Editor. But I cannot get my own app, made with either Xcode or Script Editor, receive dropped apps any more. Mind you, Finder does accept dropping .app items onto my app, so the CFBundleDocumentTypes are fine. And, as I said, it works in High Sierra. The problem is that some part in AppKit or Core Services filters out apps from the list of dropped URLs before application:openURLs: is invoked. What's up with that, and how do I make this work again? I've tried copying all of Script Editor's Info.plist entries to no avail, so there's something more sinister going on here. Also filed under FB21456137
Topic: UI Frameworks SubTopic: AppKit
Replies
1
Boosts
0
Views
176
Activity
Dec ’25
How to detect an auto-mounting directory and wait for it to get mounted?
I need to detect the triggering of an auto-mount operation when accessing the path to a formerly unknown mount point at the file system (BSD, POSIX, NSURL) level, and how to wait for it to finish the operation. Network shares can have sub-volumes on them Consider a Windows server. Let's say there's a SMB sharepoint at C:\Shared. It has some folders, one of which is at C:\Shared\More. Furthermore, there's another partition (volume) on the PC, which is mounted at C:\Shared\More\OtherVol. If you mount the initial share on a Mac with a recent macOS, macOS initially only sees a single mount point at /Volumes/Shared, which can be checked with the "mount" command. Now, if you use Finder to dive into the Shared/More folder, Finder will trigger an auto-mount action on the containing OtherVol folder, and after that, the "mount" command will list two mount points from this server, the second being at /Volumes/Shared/More/OtherVol. (This was a bit surprising to me - I'd have thought that Windows or SMB would hide the fact that the share has sub-volumes, and simply show them as directories - and that's what it did in older macOS versions indeed, e.g. in High Sierra. But in Sequoia, these sub-volumes on the Windows side are mirrored on the Mac side, and they behave accordingly) Browse the volume, including its sub-volumes Now, I have a program that tries to dive into all the folders of this Shared volume, even if it was just freshly mounted and there's no mountpoint at /Volumes/Shared/More/OtherVol known yet (i.e. the user didn't use Finder to explore it). This means, that if my program, e.g. using a simple recursive directory scan, reaches /Volumes/Shared/More/OtherVol, the item will not appear as a volume but as an empty folder. E.g, if I get the NSURLIsVolumeKey value, it'll be false. Only once I try to enter the empty dir, listing its contents, which will return no items, an auto-mount action will get triggered, which will add the mountpoint at the path. So, in order to browse the actual contents of the OtherVol directory, I'd have to detect this auto-mount operation somehow, wait for it to finish mounting, and then re-enter the same directory so that I now see the mounted content. How do I do that? I.e. how do I tell that a dir is actually a auto-mount point and how do I wait for it to get auto-mounted before I continue to browse its contents? Note that newer macOS versions do not use fstab any more, so that's of no help here. Can the DA API help? Do I need to use the old Disk Arbitration functions for this, somehow? I have used the DA framework in the part to prevent auto-mounting, so I imagine I could hook into that handler, and if I get a callback for a mount operation, I could then queue the newly mounted volume for scanning. The problem, however, is that my scanning code may, having only seen an empty directory at the not-yet-mounted mountpoint, already decided that there's nothing there and finished its operation. I'd need some reliable method that lets my recursive scanning code know whether an auto-mount has been triggered and it therefore needs to wait for the DA callback. So, is there some signal that will let me know IMMEDIATELY after entering the empty mountpoint directory that an auto-mount op is on the way? Because I suspect that the DA callbacks come with a delay, and therefore would come too late if I used that as the notifier that I have to wait.
Replies
11
Boosts
0
Views
1.1k
Activity
Nov ’25
Not seeing any recent crash reports although there should be some
For my app Find Any File, of which both releases and TestFlight betas were released many times, the TestFlight page tells me that several users have submitted crash reports. And I'm sure the same is true for the MAS releases: (Yes, this shows quite recent ones, but I've seen similar supposed crash report submits in this list before.) However, the actual "Crashes" listing on the appstoreconnect sites hasn't show any new crash reports for many months now: (This is the entirety of crash reports I can get listed, even when removing all filters.) Something appears to be stuck, on Apple's end. The same issue is with Xcode's Organanizer window, for "Crashes": It also used to list only the same very old reports and nothing since May 2024. And just now, when I retried this in Xcode, I'm shown a weird error message I never saw before: Error Downloading Crashes List An error occurred… Access Restricted with adam id: 1207815783 And yes, I'm logged in just fine, under Prefs / Accounts. How am I going to get this investigated? I had already sent an email about this to the Review team, who didn't react to it at all. DTS is only for Code level support, which this isn't. Any help?
Replies
5
Boosts
0
Views
1k
Activity
Apr ’25
My Xcode-submitted app isn't appearing in the builds listing on the Connect site, suddenly
I've been uploading my app (Find Any File) to the App Store since its very first day, around 2010. It always worked. But now, after I the last successful release at the beginning of January, I am not able to get my app into the Store any more. Xcode 16.2 reports that it successfully uploaded my app, without warnings. Yet, it never appears in Connect's TestFlight builds. I just keep seeing this for the new version (2.5.6): And, after a while (less an hour), that entire 2.5.6 section disappears again as if there had never been an upload for 2.5.6. I don't get any emails about the submission or about an issue with it, either. It's like my submissions are suddenly blocked by Apple. Now I cannot submit a new version any more. What's going on there? I anyone else having a similar issue?
Replies
1
Boosts
0
Views
291
Activity
Apr ’25
Getting nonsense warnings on upload with Xcode 16.2
I have a macOS app that contains multiple additional executables. One is a full app bundle, the others are single-file tools with an embedded plist. So far, I have used Xcode 13 to upload the app to the MAS. This had not (and still does not) report any warnings. But today, when i tried to upload (or Verify) with Xcode 16.2, I am getting this warning: I cannot make sense of this. Clearly, the placeholders are not properly filled out, but even if I remove any one of the items from the app, the verification keeps report the same warning. Only if I remove ALL of the embedded app and executables, the warning goes away. Now, the problem is that I can't see what I need to do. My Xcode signing setting are set to "Automatic", and it shows "Provisioning Profile: None required" for the main and all involved sub projects. And I never needed one (the app is not sandboxed and doesn't have to be - it's exempt), and the app was always accepted this way and runs on 10000s of Macs like this, with all executables doing their job as intended. So, what's this warning about and is that a false flag (e.g. should only be posted for sandboxed apps) or what?
Replies
0
Boosts
0
Views
275
Activity
Mar ’25
Trouble with testing new receipt loading in place of exit(173)
I have several ObjC based apps in the App Store and used to validate the receipt file inside the app in my code, and then reject it with exit(173) if it's invalid, which did trigger macOS to update the receipt if possible. This isn't working any more in recent macOS versions, where the user is instead just told that the app is damaged, and they need to re-install it manually. Which sucks. So I wanted to update my code. I read about SKReceiptRefreshRequest, which is supposed to re-download and install the receipt file, if I understand it correctly. I implemented the code but now have trouble verifying that it works as intended, and does this in a user friendly way. I found in my tests that macOS now caches the receipt in ~/Library/Caches/com.apple.appstoreagent/fsCachedData and then hardlinks the file into the app. BTW: Sadly, this also requires that the app is located on the startup volume or the system will refuse to install the receipt, which wasn't a requirement in past times. Now, if the receipt is already present in the cache folder, then my code works - the receipt gets re-linked. But what if the cached receipt isn't there, yet? Such as that the user had copied the app from another Mac over to a freshly installed Mac? In the past, when the user then launched the app on the new Mac, he'd be prompted to login to the MAS and if that worked, the receipt would get installed and the app launched. Basically, the question is: What if the receipt validation fails in my app and I request a new receipt, but the user has not yet logged into MAS (e.g. new computer)? To simulate this, I logging out of the MAS and TestFlight, deleting all copies of the app and then run the app that I had copied from another Mac where it was authorized with a valid receipt for that device. If I do this with the old version that uses exit(173), I get these two messages in macOS 15.2: The second one is especially terrible because it shows the translocated path, which the average user surely get quite confused, and then maybe even search in vain for the app in there and get frustrated. But that's out of my hands. Sigh. Now, that was proving that the old method with exit(173) isn't working any more and needs to be changed in my apps. Since I'm still developing (testing) this new behavior, the app is therefore not in the MAS yet - the only way for me to test this is to use TestFlight. However, running a Testflight app copied from another Mac leads to this error: That is not helpful in simulating what would happen if this app was released in the MAS. This won't let me find out what happens if my app is run on a Mac where the receipt fails and I ask it to load it via SKReceiptRefreshRequest and if the user is NOT yet logged into the MAS account for this purchased app of his/hers. That leaves only one option: Release the app with untested code and hope for the best. Contrary to this new behavior, the old method did let me test this easily because I would just use the special App Store tester account with the MAS app, i.e. the built MAS app would, when I launched it locally, request for a login and I'd provide my tester's account. But this isn't available any more, apparently. What a mess.
Replies
0
Boosts
0
Views
794
Activity
Dec ’24