What happened with iOS 14.4 and Scriptation?

iOS 14.4 was described by Apple as having included security improvements and a handful of small updates. However, we quickly became aware of a problem whereby users running iOS 14.4 might experience issues loading documents, transferring notes, and navigating between layers.

We first received a report of these issues on Wednesday, February 3, and then two more reports the following day. All reports were based on our 3.9.26 release, which had been in the App Store for over a month. Generally, issues crop up through QA testing, beta testing, or within the first few days of staggered App Store releases — not thirty days after an app release has been made public.

Later that night, our engineering team identified the cause of these issues was Apple’s iOS 14.4 update. On Saturday morning, we released a fix to the App Store that required all iOS 14.4 users to update their iPads and iPhones to Scriptation 4.0.4 or later immediately. Users not running iOS 14.4 will not encounter these issues, although an update is recommended to avoid these kind of issues in the future.

Did Scriptation break? A more technical explanation.

So you might be wondering… Did Scriptation break? No, not really, but the environment around it changed without warning.

Every time you do an action in Scriptation, such as change layers or transfer notes, there are many background processes performed on the file. One of these is called file coordination, and is considered a “best practice” by Apple whenever there is a chance that multiple app processes could be accessing the same file at the same time.

We’ve relied on Apple’s core file coordination system since Day 1 of Scriptation, as almost all other apps do. File coordination is built on the foundation of how iOS handles file storage. However, something changed in iOS 14.4. It could be a bug, or a permanent change in a single line of code.

Our engineering team has now reconceived the way that Scriptation handles file coordination, creating a workaround to avoid the modification Apple made in the new operating system.

A few days later, what do we know about how this affects Scriptation?

While the workaround we implemented in our 4.0.4 update fixes these issues, we’re still trying to figure out why it happened, and how it exactly affects Scriptation.

Here’s what we know so far:

• Any script imported into Scriptation while running iOS 14.4 prior to the Scriptation 4.0.4 update is at risk. If you imported a script while running any other OS version, or while using Scriptation 4.0.4, you will not be affected.
If you imported a script while running iOS 14.4 and then updated to Scriptation 4.0.4, you can resolve this issue by making an annotation, and then closing/re-opening the document. Optimizing Layers will also fix this issue.
• If you’ve updated to Scriptation 4.0.4 and you use iCloud, you may get an “Unable to Display Document” message. However, if you close/reopen the document it will be there. You’re more likely to experience this issue on older documents, or if you’re syncing between devices.

We have yet to hear any acknowledgement from Apple about this issue. In the meantime, we’re doing a full reassessment of their file coordination system, attempting to figure out where exactly things went wrong.

Can I trust Scriptation moving forward?

Yes. We are confident that our 4.0.4 update solves the underlying issue in iOS 14.4, and are sincerely sorry for the issues users were experiencing.

As always, we suggest connecting to a third-party cloud provider for file storage. We recommend Dropbox, because it allows for version controlled saving, and creates a new restorable version after each save instance.

In other words, if a PDF file has an entire set of changes that are no longer relevant, or if a file were to somehow become unable to open, restoring to an earlier version can be easily done from within the cloud provider’s web portal. This is hands down, the safest way to store files.

Note for iCloud users

iCloud does not offer version controlled saving. Additionally, there is still a bug in iCloud where you might see an “Unable to Display Document” message if syncing with your Mac. If you close your document, and reopen it again, all of your data will be there.

We’re currently building another workaround for this iCloud specific issue. Look for it to be included in a future update!

Update to version 4.0.4 today! Check it out in the App Store.