A couple of months ago I disclosed an issue I had discovered and reported to Apple Product Security: Safari runs disabled extensions. At the time, Apple Product Security felt that there were no actual security implications to this, which is why I went public. However, they seem to have had a change of heart after the publication of my blog post. Apple fixed the issue in Safari 13.1, released today, and credited me in the document describing the security content of Safari 13.1. Under "Addition...| lapcatsoftware.com
My last blog post Apple wants a sysdiagnose for a feature request inspired me to think about the lengths to which some software developers will go to avoid fixing bugs. To clarify, my last blog post was about a feature request, not a bug, but the point was that a sysdiagnose is used to investigate bugs, and thus it was illogical and absurd to ask me for a sysdiagnose in this case. If you're not familiar with what a sysdiagnose is, there’s a man page on macOS:| The Desolation of Blog
This is a follow-up to my post Academic philosophy: my quixotic quest. I’d like to explain in a bit more detail why I think we don’t need a theory of truth and how this relates to what philosophers call “objective” truth, that is, truth independent of humans in some crucial sense. Here are a couple of quotes from my previous post:| The Desolation of Blog
I needed new App Store screenshots to submit an update of my iOS app, but I found that the Apple Files app was broken in the simulator, which prevented me from setting up my app properly for my screenshots. I couldn’t share a file on my Mac with the simulator. I couldn’t save a file on the simulator, for example from my own app or from the Apple Photos app, in the Files app. I couldn’t even create a new folder in the Files app. This breakage in Files app did not occur the last time that...| The Desolation of Blog
Jeff JohnsonAcademic philosophy: my quixotic quest| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)Apple wants a sysdiagnose for a feature request| lapcatsoftware.com
I received a support request for my app Link Unshortener from an icloud.com email address. My first reply to the customer bounced. At first I suspected an issue with Apple’s Hide My Email feature, because I’ve encountered that before, and the first part of the customer’s email address appeared to be randomly generated. However, in the previous case the Diagnostic-Code from the Mail Delivery System said “user does not exist,” whereas in this case it said “Message rejected due to lo...| The Desolation of Blog
On Friday I published a glowing book review of Apple in China by Patrick McGee. Coincidentally, on the same day UnHerd published an article by Patrick McGee, Time is running out for Tim Cook: Apple lacks strategic vision. I continue to admire McGee’s reporting, continue to recommend his book, and this new article hasn’t changed my mind about that. However, reporters who have made a name for themselves have a tendency to want to become commentators, to add their opinions to their factual r...| The Desolation of Blog
Jeff Johnson (My apps, PayPal.Me, Mastodon)Book review: Apple in China by Patrick McGee| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)Safari 17 hidden feature: Always allow this website to open an app| lapcatsoftware.com
This morning I received an unsolicited email titled “Blog feature Suggestion”:| The Desolation of Blog
Jeff Johnson (My apps, PayPal.Me, Mastodon)Liquid Crass| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)Apple in China, Ripoff in Amazon| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)App Store search is not a user feature| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)Safari web app strange connection behavior| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)macOS Tahoe forces all app icons into iOS squircles| lapcatsoftware.com
Today, Apple announced a self-funded study titled Global App Store helps developers reach new heights, supporting $1.3 trillion in billings and sales in 2024, but what interested me more was the subtitle:| The Desolation of Blog
I was testing font replacement with my web browser extension StopTheMadness Pro on https://www.apple.com, but for some reason the feature wasn't working as expected. The fonts were replaced everywhere on the web page except for in the navigation header at the top. The Safari web inspector revealed why (click image for full size):| The Desolation of Blog
Jeff Johnson (My apps, PayPal.Me, Mastodon)Stop The Mac App Store minor update| lapcatsoftware.com
John Siracusa has recently written a couple of noteworthy articles titled Apple Turnover and Apple Turnaround. Although I mostly agree with the sentiments expressed by those articles, I'm much more pessimistic than Siracusa, who says, "It’s springtime, and I’m choosing to believe in new life. I swear it’s not too late." The title of my article, Apple Turntable—a less clever riff on its inspirations—signifies that I believe Apple is a broken record. In other words, it's too late. My ...| The Desolation of Blog
I'm an App Store developer, and for the sake of all developers, I hope that Epic Games prevails in court against Apple. Nonetheless, I personally value truth and honesty above my financial interests, and thus I have a problem with some of the statements made by Epic Games and its CEO Tim Sweeney on the social media service formerly known as Twitter. These tweets, as they are still called, have given many people the impression that Apple is indefinitely blocking Epic Games from updating its iP...| The Desolation of Blog
My recent blog post Free with In-App Purchase is a sham already looked at a top grossing app in the Mac App Store, and App Store Curation at a top grossing app in the iOS App Store—err, formerly top grossing, since the latter was removed from the App Store after I wrote about it. I was inspired by those blog posts, by recent events involving the App Store (gestures broadly), and by my free time before WWDC to look at some more apps. This blog post is about an app named Chatbot: Ask AI Chat ...| The Desolation of Blog
Jeff Johnson (My apps, PayPal.Me, Mastodon)Making my app worse because of macOS privacy protections| lapcatsoftware.com
A couple of weeks ago I published a blog post about App Store Curation. At the end I said:| The Desolation of Blog
Last year I wrote a blog post Mac app launches slowed by malware scan:| The Desolation of Blog
Yesterday I came across an interesting Reddit post:| The Desolation of Blog
According to the Mozilla Developer Network web docs, "The head of an HTML document is the part that is not displayed in the web browser when the page is loaded."| The Desolation of Blog
Jeff Johnson (My apps, PayPal.Me, Mastodon)App Store Curation| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)Google Chrome 136 automatically upgrades your accounts to use passkeys| lapcatsoftware.com
I'm subscribed to an RSS feed for WebKit commits. (I cannot emphasize enough the utility of RSS.) My primary interest is WebKit changes related to Safari extensions, but this unrelated commit caught my eye: Fix deprecation warnings due to new SDK. You know how big companies bury bad news by announcing it on a Friday evening before a holiday weekend? Anyway, the commit doesn't specify which new SDK, but the diff clearly shows the affected API, all of which are declared by the UIApplicationDele...| The Desolation of Blog
My previous blog post mentioned that I filed a bug report with Apple: ~/Library/Group Containers/group.com.apple.CoreSpeech/Caches/onDeviceCompilationCaches/ recreated on every login with Siri disabled (FB17163068). I've now discovered—by manually browsing Feedback Assistant—that my bug report has been given the resolution "Investigation complete - Unable to diagnose with current information". This is despite the fact that the bug is 100% reproducible for me on two different Macs, and de...| The Desolation of Blog
A couple of months ago I wrote about inaccessible .bnnsir files on macOS Sequoia. This blog post is a follow-up. Yesterday the backup of my macOS Data volume failed with "copy error: Operation not permitted".| The Desolation of Blog
Today, out of the blue, Little Snitch alerted me to an incoming connection attempt from IPv4 address 142.250.191.99 to UDP port 56878. (I denied the connection.) The IP address is in a range controlled by Google.| The Desolation of Blog
Jeff Johnson (My apps, PayPal.Me, Mastodon)NSURLComponents changed in macOS 15.4| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)Apple Software Update dark pattern| lapcatsoftware.com
I'm selling my M1 MacBook Pro, because I recently purchased an M4 MacBook Pro with nano-texture display. Although my M1 MacBook Pro is less than three years old, purchased in April 2022, and still a great machine—I honestly haven't noticed a difference in performance between the M1 and M4 MacBook Pro—I decided to upgrade now for several reasons: I've been waiting over a decade for Apple to make another matte MacBook Pro, I was worried about tariffs making new Macs more expensive later, an...| The Desolation of Blog
Today I updated my Mac mini and MacBook Pro from macOS 15.3.1 to 15.3.2. According to Apple's release notes for macOS 15.3.2, "This update provides important security fixes and is recommended for all users." The use of the plural "security fixes" seems a bit misleading, because Apple has documented only one security fix in 15.3.2, for a bug in WebKit: "Maliciously crafted web content may be able to break out of Web Content sandbox." In any case, macOS 15.3.2 appears to be entirely, or at leas...| The Desolation of Blog
Jeff Johnson (My apps, PayPal.Me, Mastodon)iCloud remotely triggers iMessage sign-in and sync| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)Apple Mail app bugs finally pushed me to MailMate| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)Xcode constantly phones home| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)Inaccessible .bnnsir files on macOS Sequoia| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)New secure note on macOS Sequoia| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)Apple software update "bug" enables Apple Intelligence| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)How Safari search engine extensions work| lapcatsoftware.com
From: Jeff Johnson’s Blog| iOS Feeds
Jeff Johnson (My apps, PayPal.Me, Mastodon)Image Creation Tools Are Here| lapcatsoftware.com
In my view, a useful backup system must be (1) chronological, (2) granular, and (3) redundant. A chronological backup system includes multiple historical snapshots of your data, allowing you to recover not only the latest version of your data but also past data that has been deleted or edited. A granular backup system allows you to selectively recover specific fragments of data from your backup without disturbing, deleting, or corrupting the rest of your current data. A redundant backup syste...| The Desolation of Blog
I mentioned yesterday that I just bought a new M4 MacBook Pro, which of course comes with macOS Sequoia. Before I enabled iCloud on the new Mac, I installed a configuration profile created with Apple Configurator app. The purpose of the configuration profile was to prevent iCloud from silently enabling features that I don't want. I discussed this technique last year in a blog post about how to stop iCloud Keychain with a profile. My configuration profile disables not only iCloud Keychain but ...| The Desolation of Blog
Jeff Johnson (My apps, PayPal.Me, Mastodon)Help? Reset AirDrop identity hash| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)Little Snitch feature nobody knows about| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)The internet is full of experts| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)Technology is never a substitute for consent| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)Apple Photos phones home on iOS 18 and macOS 15| lapcatsoftware.com
This blog post has undergone some revision and correction since first published. It turns out, contrary to my initial assumption, that the code signatures of the apps is largely irrelevant. Thanks to Avi Drissman of the Google Chrome team for assistance!| The Desolation of Blog
Jeff Johnson (My apps, PayPal.Me, Mastodon)How Safari 18.2 https upgrade works| lapcatsoftware.com
I'm not talking about the tint of the extension icons this time. I'm talking about the size of the extension icons in the Safari toolbar on Mac. I've explained the difference between Safari app extensions and Safari web extensions before, so I won't repeat the explanation here, except to note that my own StopTheMadness Pro and StopTheScript are examples of Safari app extensions.| The Desolation of Blog
Jeff Johnson (My apps, PayPal.Me, Mastodon)Apple continues to dismiss bug reports| lapcatsoftware.com
This is a follow-up to my blog post macOS Sonoma silently enabled iCloud Keychain despite my precautions from five months ago. The TL;DR of that blog post is that when you have iCloud enabled but not iCloud Keychain, updating from Ventura to Sonoma causes iCloud Keychain to be silently enabled. (I don't know yet whether that still occurs when updating from Sonoma to Sequoia.) What I didn't realize at the time, indeed didn't realize until now, is that iCloud Keychain already uploaded all of my...| The Desolation of Blog
StopTheMadness Pro has three variants, one each for iOS, macOS, and visionOS, because I created native apps for each platform rather than simply porting an iPad app to Mac and Vision Pro. The way the App Store works, each native app variant must be reviewed separately by Apple, so every update to StopTheMadness Pro must now pass through an obstacle course of three reviews. The latest updates for iOS and macOS were accepted by Apple with no objection and are now available in the App Store. How...| The Desolation of Blog
In my first blog post of the year, way back at the beginning of January, I wrote about how Safari can improve extensions, offering a number of suggestions. Last month, Apple released a major update to Safari, version 18 for iOS and macOS, so now it's time to look back at how my suggestions fared.| The Desolation of Blog
This problem was highlighted the other day in an update to Michael Tsai's earlier blog post about “Damaged” Mac App Store Apps, but I think it's important enough to warrant a dedicated blog post, because Mac developers who missed the update need to know about it. The problem is that if you compile your app with the macOS 15 SDK in Xcode 16, and your app exits with the status 173—the traditional way to handle Mac App Store receipt validation failure—then macOS 15 Sequoia will show the ...| The Desolation of Blog
I never use the sidebar in macOS Safari and always keep it closed. However, since I updated to Safari 18 on macOS 14.7, I've been seeing new Safari windows open with the sidebar open. This is driving me crazy! It doesn't happen every time, though. It's seemingly random, which makes the issue extremely difficult to diagnose. It frequently happens when I open a URL from another app, such as Mail, Mona, or my own Link Unshortener.| The Desolation of Blog
It turns out that the monthly screen recording prompts are not even the most annoying new "feature" of macOS 15 Sequoia. Behold!| The Desolation of Blog
All credit for this discovery should go to Ricci Adams, who told me about it. But Ricci doesn't have a blog, and I do, so here it is. Thank you very much, Ricci, and please start a blog!| The Desolation of Blog
Today I downloaded a copy of my data from https://privacy.apple.com, Apple's Data and Privacy website. (For some reason it took 5 days after my request for the data to be ready for download.) I highly recommend that you download your data too, because you might be shocked how much Apple has on you. Apple's advertisement "What happens on your iPhone stays on your iPhone" appears to be a blatant lie. My purpose in downloading my data wasn't to go on a fishing expedition, though. I was just look...| The Desolation of Blog
Jeff Johnson (My apps, PayPal.Me, Mastodon)Can't change security policy or disable SIP with macOS 15 Sequoia| lapcatsoftware.com
When I search for the same text in multiple Safari tabs, I experience a lot of trouble with Safari failing to remember the search string in the find panel.| The Desolation of Blog
Jeff Johnson (My apps, PayPal.Me, Mastodon)Feedback Assistant Boycott| lapcatsoftware.com
I keep this website under version control in a git repository on my MacBook Pro. The tricky part is getting the website files from my laptop onto my web server. In the past I did this manually via SFTP, which obviously sucked. With help from the excellent customer service of my web host Tiger Technologies, whom I've been with since 2006 and recommend highly, I realized that I could just git push from my local repository. This is possible because my web server allows ssh access and also has gi...| The Desolation of Blog
I first saw this bug on the macOS 15 Sequoia betas, which I ignored as a beta issue, but I've started to see the bug on Sonoma too after updating to macOS 14.6, and the bug continues on macOS 14.6.1. I've seen the bug on both my MacBook Pro and my Mac mini.| The Desolation of Blog
Yesterday, App Store developers were paid for app purchases made during the period of June 2 through June 29, 2024. You may recall that Apple underpaid App Store developers for app bundle purchases made in February through May, due to a bug in Apple's accounting software. I wrote about this issue originally on May 10, with a follow-up on June 3. Fortunately, that issue appeared to be resolved. Unfortunately, a new issue appears to have arisen now.| The Desolation of Blog
Here's a tip for iOS app developers and mobile web developers: today I learned that Smart App Banners don't appear in private browsing. I haven't seen this documented anywhere!| The Desolation of Blog
Jeff Johnson (My apps, PayPal.Me, Mastodon)Feedback Assistant Boycott| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)Feedback Assistant Boycott| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)Feedback Assistant Boycott| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)Feedback Assistant Boycott| lapcatsoftware.com
A bookmarklet is a bookmark stored in a web browser that contains JavaScript commands. Here's a simple, useless example:| The Desolation of Blog
Jeff Johnson (My apps, PayPal.Me, Mastodon)Feedback Assistant Boycott| lapcatsoftware.com
This is a follow-up to my blog post macOS Sonoma silently enabled iCloud Keychain despite my precautions. A follower on Mastodon gave me a nice tip on how to prevent this in the future: create a configuration profile.| The Desolation of Blog
I really want to report bugs to Apple. In fact I do frequently report bugs to Apple via the WebKit Bugzilla. I want to report bugs to Apple so badly that sometimes I write entire blog posts here about Apple bugs. But Apple's Feedback Assistant is a frustrating nightmare, for a number of reasons, and I'm refusing to use it. Back in November I blogged about the Apple developer boycott of Feedback Assistant, which also has an official web page. I won't rehash the list of reasons for the boycott ...| The Desolation of Blog
Mail app on macOS has a privacy setting Block All Remote Content that prevents downloaded emails from connecting to the internet. For example, HTML emails frequently include image links, which can be used for tracking: when the image is loaded from a remote server, the owner of the server knows that you've opened the email! Block All Remote Content is supposed to prevent this kind of tracking, and it did… until macOS Sonoma.| The Desolation of Blog
This is a follow-up to my blog post Apple started cheating me out of App Store bundle purchases. The good news is that Apple appears to have resolved most of the issues. Let me give a timeline:| The Desolation of Blog
Four days ago, I updated my MacBook Pro from macOS Ventura to Sonoma. Since then I've encountered severalbugs. This morning, for no apparent reason, Sonoma System Settings decided to show me the warning, "Verify Your Recovery Key".| The Desolation of Blog
Jeff Johnson (My apps, PayPal.Me, Mastodon)Feedback Assistant Boycott| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)Feedback Assistant Boycott| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)Feedback Assistant Boycott| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)Feedback Assistant Boycott| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)Feedback Assistant Boycott| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)Feedback Assistant Boycott| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)Feedback Assistant Boycott| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)Feedback Assistant Boycott| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)Feedback Assistant Boycott| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)Feedback Assistant Boycott| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)Feedback Assistant Boycott| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)Feedback Assistant Boycott| lapcatsoftware.com
Stop 'Open in the Twitter app' in Safari Catalina| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)Feedback Assistant Boycott| lapcatsoftware.com
The Safari Extensions section of the iOS Settings app has a More Extensions link that takes you to the Safari Extensions section of the App Store.| The Desolation of Blog
Jeff Johnson (My apps, PayPal.Me, Mastodon)Feedback Assistant Boycott| lapcatsoftware.com
Jeff Johnson (My apps, PayPal.Me, Mastodon)Feedback Assistant Boycott| lapcatsoftware.com