Friday, March 22, 2019

iOS 12: Changes in Memory Accounting

Apple:

iOS 12 and tvOS 12 require apps to use memory far more efficiently than before. If you have difficulty reducing your app’s memory requirements, contact us to request an entitlement for your app to use iOS 11-style memory accounting.

Steve Troughton-Smith:

An example of Apple providing private entitlements on request so that iOS apps can do things they could not otherwise; there are so many ways in which Apple could use these w/ trusted partners to build categories of apps that would otherwise break rules

Pádraig:

This memory requirement is news to me. So great to hear about a change like this 6 months after it shipped. Also there’s no details I can find on what the rules are it’s just “use less memory”. Really hate this platform sometimes. 😥

Orion Edwards:

The problem with extra entitlements like this is that apple is useless. We asked for the “don’t show Apple Pay pop up when you see NFC” entitlement as it interferes with our app’s behaviour over a month ago. No response from apple whatsoever

We found a similar thing online, except their story was “apple ignored me for over a month, but then I asked my friend who works at apple to have a look and then it got dealt with.” It’s hard to have a handy friend who works at apple when you live in New Zealand 😞👎

Andrew Grant:

To be fair, this is them grandfathering in existing apps after they made significant changes to available memory in iOS 12. There are a lot of apps that are still submitting with the old SDK due to this change

Previously: Transmit 5 on the Mac App Store.

1 Comment RSS · Twitter

Following the link chain to
https://developer.apple.com/documentation/metal/reducing_the_memory_footprint_of_metal_apps
it looks like this change causes purgeable-but-nonvolatile Metal allocations to count toward the app's memory limit?

That seems relatively straightforward to understand and diagnose (though maybe not to fix, if you were relying on that behavior), and also... the right behavior. I'm not sure what there is to be upset about here. Was this just not communicated well before?

Leave a Comment