Problems with iOS13 (part 1)

Apple’s rollout of iOS13 came with many problems for existing applications that are not ready for the changes. Some developers have slammed the “anticompetitive” privacy changes, some have complained about the countless bugs. In this short article, we would like to share the problems we have encountered so far, as well as how those have affected our developers and existing customers. Special thank you to Kyle Sakai, our full-stack developer, for writing this post.

Specifically, we will address:

– Default modal presentation styles changing to `sheet`;

– User Agent Strings for the browser being set to the macOS value instead of an iOS UA String.

Modal Presentation Style

The old default used to be .fullscreen, where a new modal would occupy the entire screen’s space. The new default is `.sheet` which makes it look more like a pop-up:

User Agent Strings

By default, iOS devices now effectively fetch “desktop” sites instead of “mobile” sites when the WebView is fullscreen due to a behaviour change in the UA Strings.

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0 Safari/605.1.15

is what you might see now being sent to servers instead of something indicating a mobile device like:

Mozilla/5.0 (iPhone; CPU iPhone OS 13_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Mobile/14A41DS1497c Safari/602.1

Some of our partners provide mobile-specific services through their mobile sites and when iOS13 landed, we lost access to the mobile sites. Currently our workaround is to falsify the WKWebView’s UAString:

webView.customUserAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 13_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Mobile/14A41DS1497c Safari/602.1"

One more change we are expecting to have to resolve is the way colours work in iOS13+ with the addition of DarkMode as an OS setting. The following link outlines a few nifty tables to get a sense of how each adaptive color works in light/dark modes:

https://noahgilmore.com/blog/dark-mode-uicolor-compatibility

You can also specify your own set of colours in the assets catalog which can be referenced by name in your code. These colours can be set to have different values based on the light/dark mode context.

We hope this article has provided you with a few valuable insights on how much of an impact a software update can have on companies, their customers, and users.

To stay in the loop with the latest discussions, updates and articles from Evident Point, please follow us on social media and subscribe to our newsletter!

Leave a Comment