Poor performance on MKMapView clustering in iOS 11

I've been using third party libraries for handling markers clustering. Since iOS 11 has it's own implementation, I've decided to move on and remove third party libraries on behalf "native" implementation.

However, while using third party libraries everything was fine, with this method I get a very poor performance when I pan on my mapView and change region. CPU usage raises up to 90% while memory seems to stay stable, and I feel delay on moving and sometimes even app crashes. I'm loading about 600 annotations.

As the title says, my app immediately crashes when ran if there is no internet connection/airplane mode is on. The thing is, when I set breakpoints it doesn't even make it to any of my code. Not a single viewDidLoad or even AppDelegate function gets called, and the error message doesn't seem like something that would be related to not having a network connection:

I really have no clue what it could be. Tried setting a symbolic breakpoint at [UIViewController _loadViewFromNibNamed:bundle:] but that didn't really give any useful insight. Hope someone can help. I should also mention the only thing I'm doing in AppDelegate is instantiating firebase.

It's not a duplicate question!!
I've searched for many similar questions, but I can't find someone declaring/calling the data model as a class like me.

I want to pass my store's information from Table View Controller to Detail View Controller. I have trouble declaring the right type of variable store to receive the passed data in my Detail View Controller.

I got the error message Cannot assign value of type 'StoreModel' to type '[StoreModel]', at the line
destinationVC.storeList = selectedStore, so I think I have problem declaring the right type of variable in my Detail View Controller.

I'm using a standard UICollectionViewFlowLayout but it seems to do some overwork as it is centering the cells of section with one item and if the section contains 2 or 3 items, they are not distributed to fit width

How to get always the same distribution (to left) and margins (as with more than 3 items)

I came across this problem while designing an agricultural app that I am working on:

I am having a hard time trying to split a polygon in Google Maps / MapKit on the iOS platform. What I am trying to achieve is the following: Have one polygon present on the google maps which can be split into more lesser ideally EQUAL (not necessary at this point) polygons, please see the picture below for inspiration, thank you:

Perhaps Google Maps SDK is not suited for this and I would be better off with MapKit or something else. I am open to any ideas. Thank you very much in advance. Please also if you have an alternate way of achieving this result, please let me know, I am open to any and all ideas.

I have two buttons on the two sides of my annotationView and would like them to execute different methods depending on which one is clicked. I used the calloutAccessoryControlTapped for the first button, but do not know how to specify a method for the second one (button2). Any help would be greatly appreciated.