![](https://storage.googleapis.com/ackee-blog-cms-static-files/medium_Grafika_k_blogu_ios_update_c7f7f6773c/medium_Grafika_k_blogu_ios_update_c7f7f6773c.png)
Jakub Olejník
![](https://storage.googleapis.com/ackee-blog-cms-static-files/medium_Grafika_k_blogu_ios_update_c7f7f6773c/medium_Grafika_k_blogu_ios_update_c7f7f6773c.png)
![](https://storage.googleapis.com/ackee-blog-cms-static-files/medium_Open_API_blog_cover_354d5aabef/medium_Open_API_blog_cover_354d5aabef.png)
Is Swift OpenAPI Generator a match for us?
![](https://storage.googleapis.com/ackee-blog-cms-static-files/medium_blog_universal_losos_1cbda6b0e9/medium_blog_universal_losos_1cbda6b0e9.png)
How to Write Custom UICollectionViewLayout With Real Self-sizing Support
![](https://storage.googleapis.com/ackee-blog-cms-static-files/medium_snapshot_development_ff0d55f6db/medium_snapshot_development_ff0d55f6db.png)
Snapshot Driven Development
![](https://storage.googleapis.com/ackee-blog-cms-static-files/medium_Blog_cover_web2020_UI_Collection_View_Layout_307da2618b/medium_Blog_cover_web2020_UI_Collection_View_Layout_307da2618b.png)
How I Tackled the Undocummented Jungle of UICollectionViewLayout
![](https://storage.googleapis.com/ackee-blog-cms-static-files/medium_blog_cover_2019_wwdc19_min_f10f427c15/medium_blog_cover_2019_wwdc19_min_f10f427c15.png)
Thanks Apple for the '19 WWDC
![](https://storage.googleapis.com/ackee-blog-cms-static-files/medium_xcode_enviroments_web_ece2d6ce55/medium_xcode_enviroments_web_ece2d6ce55.jpg)
How to Deal with Different Environments in Xcode
![](https://storage.googleapis.com/ackee-blog-cms-static-files/medium_Cocoapods_vs_carthage_blog_cover_d656497d95/medium_Cocoapods_vs_carthage_blog_cover_d656497d95.png)