SwiftUI and the Problems of Timing

Well, SwiftUI is certainly a big improvement on building maintainable, robust and nice user interfaces on iOS and macOS compared to the old MVC architecture (Massive View Controller) and the NIB (Next Interface Builder). But it is mainly a declarative framework and from the application developer’s point of view it’s sometimes hard to anticipate what is really going on behind the scenes and especially when its going to happen. There are situations where the promised behaviour doesn’t take place and I’ve already struggled hours for hours to look for a workaround.

Especially the .onAppear modifier seems to be problematic. It looks as if the supplied closure will be executed too early sometimes and the statements inside do not have the desired effect.

Weiterlesen

Synology Drive Client 3.2.0 – 13258 Update has a Problem

As quite a lot of people have noticed already (e.g. here) the Synology Drive Client 3.2.0 – 13258 Update has a problem. After the update it is crashing silently all the time on my Macs. The advice from the Synology support to re-install the Drive client from scratch may be constructive but is quite tedious if you have a lot of shares configured (as for me). A hint in the above mentioned forum lead to the solution.

Obviously the password of the stored connection to the Synology NAS is corrupt after the update. Since the Drive client crashes very soon after startup the best procedure to restore the correct password is the following:

Weiterlesen

Syncing Reminders between Mac and Synology NAS

Well, for quite a while accessing reminders stored on my Synology NAS from my Mac was broken. Syncing with my iOS devices was no problem but on my Mac I could not see the folders and reminder items. Looking around in the internet showed that it was apparently problem since macOS 10.15. It seems that the Reminders client on the Mac does not accept the LetsEncrypt certificate on the Synology NAS.

Good news: With macOS 13 (Ventura) the sync is back on the Mac. No problems anymore neither on my Intel Mac nor on my Apple Silicon Mac.

MapKit: Change in Behaviour of addOverlay on iOS 16 / Xcode 14.0

Just after I have published my latest app project „Muvy“, a very nice tracking app for all outdoor activities, Apple released iOS 16 and Xcode 14.0. With big horror I had to notice that my app was not working properly with the new version of the operating system. All non-Apple maps were covering my tracks so that they were not visible anymore. What a pity. It turns out that Apple changed the behaviour of the quite central method addOverlay without notice.

Weiterlesen

Open the last used document on App startup

Did you ever want your app to open the last used document on startup? Well, that’s not too difficult on macOS. In your NSDocumentController subclass you have the array of recentDocumentURLs, and on startup you can try to open the first member if it exists.

But on iOS it’s a little bit more tricky. There is no such array as on macOS. So we have to mimic it by ourself.

This is a review of my post 2 years ago: UIDocumentBrowserViewController and External Storage

Weiterlesen