Elbette yeni swift versiyonlarında yapılan api değişiklikleri beni de zorluyor ve eski swift versiyonlarında hazırladığım projelerde hatırı sayılır ölçüde değişiklik yapmamı gerektiriyor.
Biz geliştiriciler için zorlayıcı bir süreç olsa da, platform tabanlı programlama dillerin de bu değişiklikler kaçınılmaz, öyle ya da böyle android veya diğer platformlarda kullanılan native programlama dilleri de bir şekilde değişikliğe uğruyor veya uğrayacak, örneğin android için açıklanan kotlin gibi.
Bana kalırsa bu değişikliklerin peyderpey yapılması, ileride önümüze bir kere de konulmasından daha iyi bir durum. Ama üretim süreleri üzerinde ne yazık ki negatif bir etkisi var. Bu durumdan kaçınmak için crossplatform çalışmak bir çare olabilir pek tabi.
Main Thread Checker'e gelince, apple main thread dışındaki thred'lar da yaptırılan kullanıcı arayüzünü güncellemeye çalışma hatalarından bıkmış olacak ki böyle bir şey yapmış diye düşünüyorum.
UI sadece main thread'da update edilmelidir, diğer thread'lar da yapılan UI updatleri her ne kadar bir hata vermeden çalışıyor gibi görünse de ileride nasıl ve ne sıklıkda bir hataya neden olacağı öngörülemez. Uygulamalarınızı bu gereksinimleri göz önüne alarak dikkatli bir şekilde oluşturun.
O zaman başkaları için sıkıntı yaratan bu hatalar sizin için de görünmez hale gelebilir. Tıpkı benim önceki projelerimde böylesi hatalarla karşılaşmıyor oluşum gibi.
:D