Apparency

Release History

The table below summarizes the released versions of Apparency, and what fixes and enhancements were made to each version. You can determine the version you have installed from Apparency > About.

Release History for Apparency
Version Changes
1.4.1 (218) Released on March 14, 2022
  • Added File > Show Entitlements for All Executables (Command-Control-A) to show a single “merged” view of all entitlements across all components of an app. You can also select an entitlement and copy the identifying information for all components that request it, in a form that can be pasted directly into a PPPC Profile. [Read More]
  • Tries harder to avoid showing “stale” component information — especially version strings — when an app has been recently updated. This was an issue with macOS caching of bundle information. The Quick Look preview was especially susceptible, since the lifetime of our app extension process is completely under the control of the Quick Look mechanism. We believe that stale info is less likely to appear now, but there may still be circumstances where Quick Look previews themselves are cached.
  • Make the Quick Look preview activate for more file kinds, including App Extensions (such as those for sharing, photo editing or widgets), Network Extensions, Endpoint Security Extensions and DriverKit Extensions. These are mostly only buried inside app bundles, but it can still be useful to Quick Look them from Suspicious Package.
  • Find components in Contents/Library/LaunchServices — these are usually “privileged helper tools,” which the app can install (with password authorization) via the ServiceManagement framework. If such a component has an embedded launchd plist — as is required by ServiceManagement — this can be viewed using Component > Show Launchd Configuration.
  • Find components in Contents/Applications as an additional de facto “code place”.
  • More standard Info.plist and entitlement keys are linked to Apple documentation, via Open Apple Documentation for Key button.
  • Recognize apps with TestFlight signatures as Apple-signed code, akin to App Store signing.
  • Addition of “appy” command-line tool, for quickly opening an item in Apparency from the Terminal. See Help > About the Command-Line Tool for installation instructions.
1.4 (175) Released on December 7, 2021
  • Make the Quick Look preview activate for more file kinds, including standalone (old-style) Quick Look generators, (old-style) Spotlight importers, generic bundles and kernel extensions. [The latter works only on macOS 11 (Big Sur) or later, since kernel extensions finally got a system-defined UTI in the same release that deprecated them!]
  • Show the component Kind in the Quick Look preview, and fix several issues around the display of the icon, executable information and sizing for certain standalone executable types, such as Mach-O dylibs and shell scripts.
  • Various fixes to make Quick Look previews from Suspicious Package more clear and useful, and to ensure that items exported from a package are presented properly, even if found in a temporary directory -- as will be the case for items auto-exported by Suspicious Package for previewing, and then opened in Apparency proper.
  • Added an option to look for components in de facto “code places”.
  • The attributes on the info pane are more universally selectable and copyable. [Read More]
  • Improved handling when opening the main executable of a bundle directly, e.g. opening X.app/Contents/MacOS/X instead of X.app.
  • Improved handling of certain Apple-signed software where the code signature couldn't be verified due to “custom omit rules.”
  • Additional detail for Component > Show Notarization Ticket, including the actual notarized hashes and how they map onto architecture-specific components within the app.
  • Removed support for macOS 10.14 (Mojave).
1.3 (130) Released on August 28, 2021
  • Compatibility updates for macOS 12 (Monterey), including:
  • In the info pane, allow the Identifier, Version and Signed By values to be selected and, therefore, copied.
  • Fixed a bug where an app's main executable might show up as a separate component. (This would happen only when the app was on the data volume of a system volume group other than the booted one.)
  • Fixed a bug where the Edit and Component menu items related to shared app group containers might not be visible through the Accessibility interface — which could also impact apps such as Many Tricks Menuwhere.
  • Fixed a bug where the search field in the Entitlements inspector could stop working after changing processor architectures.
  • More quickly stop any running code signature verification when closing an Apparency window. Unfortunately, the code signing API limits how efficiently we can stop verification that is already under way, but Apparency is now better about not starting irrelevant verification work after the window is closed.
  • Squashed some memory leaks in the determination of Gatekeeper policies.
1.2 (118) Released on March 7, 2021
  • Runs natively on Apple Silicon Macs.
  • Improved compatibility with macOS 11 (Big Sur), including:
    • Adopted the new “unified” style for the toolbar, and updated the icons to fit in better with the general Big Sur “design language” — especially when the toolbar is configured for Icon Only mode.
    • Updated to a new iOS-style Big Sur-style app icon. We're still not fans, but since our app icons were all circles before, we can't get too snotty about them all being “squircles” now. Having every icon on the system be the same shape seems a dubious improvement to macOS, but our icons aren't going to change anything.
    • Fixed other display and icon issues throughout the app.
  • Added Component > Show Provisioning Profile, which will be enabled for certain apps that use iCloud or other services and features that Apple restricts more tightly, at least outside of the App Store. (A provisioning profile is also used to restrict an app to running on specific devices, but this much less likely for macOS apps than for iOS ones.)
  • Where an app has a provisioning profile, Components > Show Entitlements will show which entitlements are provisioned and which are not (and which do not require provisioning). This appears as an icon in the last column.
  • Added Component > Show App Store Receipt, which will be enabled for any app installed from the Mac App Store. This allows you to see attributes of the receipt, including original purchase attributes, and to examine the validity of the receipt and the Apple signature thereon. If a receipt is found, File > Show in App Store will show the product page for the app in the App Store.
  • Added handling of a notarization ticket, where one is “stapled” to the main app bundle. Where this is found and verified, you'll see the Notarization given as Granted — Stapled Ticket for the component called out in the ticket. You can also use Component > Show Notarization Ticket to examine the Apple signature on the ticket.
  • Added Component > Show App Container in Finder, and Edit > Copy Path for App Container, for apps and other components that use the App Sandbox. The app container can also be revealed using the new Show Container toolbar button.
  • Added Component > Show Group Container in Finder, and Edit > Copy Path for Group Container, for components that opt into shared app groups.
  • Added recognition of System Extensions (such as Network Extensions and Endpoint Security extensions) as components that can exist inside an app bundle, and improved determination of the Kind Detail for various extension kinds.
  • Improved checking and reporting of the trust associated with code-signing certificates. Component > Show Code Signature now describes the category of certificate, from amongst the various types that can be issued or used by Apple, as well as other signature- and certificate-related attributes. It also more clearly shows when certificates have expired (in the absence of a verified signing time).
  • From the Executable Information sheet, allow Edit > Copy of a selected Dynamically Linked Library, Runtime Search Path or DYLD Environment row. (For a library, the original library install path is copied.)
  • Made the Signature column more clear for certain cases, such as where Gatekeeper would reject a verified (but insufficient) signature.
  • Made the Quick Look preview more usable from the Finder's preview pane, i.e. View > Show Preview. Since the preview pane is typically much smaller, and since some information is shown directly by the Finder at the bottom of that pane, Apparency now uses a more compact format here. When using View > as Gallery, or the classic separate window of File > Quick Look Item, Apparency still creates a larger preview. Unfortunately, Apple provides no proper way for us to detect what context we're being shown in, so there's a bit of guesswork involved here, but we think it at least works better than it did.
  • Fixed some bugs in the handling of the toolbar, including the fact that changes made via View > Customize Toolbar did not get saved, and that items pushed into the trailing “overflow” section of the toolbar did not get enabled properly.
1.1.1 (75) Released on November 6, 2020
  • Updated for general compatibility with macOS 11 (Big Sur) — albeit with some caveats.
  • On Big Sur, when opening a system framework on the new sealed system volume, Apparency finds the executable in the DYLD shared cache so that the Executable Information is still available. Also, Apparency no longer shows a bunch of errors about the now-broken code signature on such system frameworks. See more info here.
  • If a component is signed by a now-revoked certificate, allow Show Code Signature, so one can see the details of the certificate and/or export it for further analysis. (In this situation, codesign(1) does not provide useful certificate details nor allow it to be exported.)
  • Enable a standalone Mach-O binary to be opened even if it lacks an executable bit, at least via drag-and-drop or from another app — like Suspicious Package, which intentionally strips the executable bit from Mach-O binaries in the installer scripts but still ought to be able them in Apparency!
1.1 (66) Released on August 21, 2020
  • Enhancements for opening “universal” apps that support more than one processor architecture, such as an app updated for the new Apple Silicon Macs, or an older one that still has 32-bit support.
    • Added the Executable type to the Info pane: this shows the supported processor architectures. Click on this text to see the underlying symbolic names for the architectures, such as x86_64 or arm64.
    • Enhanced the Executable Information sheet to show the processor architecture, and to allow choosing from among the architectures provided by the app or component.
    • Show the new Apple Silicon processor architecture where supported, in both the info pane and the Executable Information sheet. [This doesn't mean that Apparency itself is a “universal” app: see more info here.]
    • Enhanced code signature handling to examine every supported architecture — there is a distinct signature for each one — and flag any differences between them: see more info here.
    • Added the supported architectures to the Quick Look preview on macOS 10.15 (Catalina) and beyond.
  • Added Downloaded details to the Info pane, when available: click to cycle amongst the download date, app and kind.
  • Enhanced Executable Information sheet to show the target platform, which is usually simply macOS but can sometimes be something else, like UIKit for Mac (“Catalyst”).
  • Added option in Preferences > General to show the code signing options in the Info pane.
  • Added Edit > Copy Code Signing Identity (Cmd-Ctrl-C) to copy the designated requirement of the component, such as for pasting into a PCCC profile.
  • Improved handling of components with non-Mach-O executables (such as interpreted scripts).
  • Enhancements in performance and responsiveness, especially when opening large apps.
  • Added an Internet Access Policy to Apparency: this is a mechanism defined by Objective Development, the makers of Little Snitch. If you use Little Snitch, you'll get more useful information about Apparency's network connection attempts — which are for one purpose only: the periodic checking for an updated version of the app.
1.0 (43) Released on June 27, 2020
  • Initial release of Apparency.