this is the url for the sat map tiles: https://sat-cdn.apple-mapkit.com/tile?style=7&size=2&scale=1&z=12&x=2159&y=1325&v=9871&accessKey=
you can grab an access key from: https://duckduckgo.com/?q=maps&iaxm=maps&source=maps
regarding the original question - I think I would not go this way in a production environment. It is probably better to use the mapview logic to "intercept" the tile loading and store it, rather then rebuilding it completely.