Asynchronous Asset Loading on iOS

I have a technical query to do with AssetBundle loading on the iOS platform, specifically the asynchronous aspect.

Our basic problem is, while a high res asset is loaded in, we either want to display a low res asset or just load in the background while either the game continues or an animated loading screen is displayed.

At the moment, we’ve come to the conclusion that asynchronous asset bundle loading is not supported on iOS, the application appears to just hang until the bundle is loaded and unpacked, so having a nice animated loading screen (or loading items in the background) isn’t really possible. Is this true, or have we come to the wrong conclusion?

One solution we were contemplating looking into, was loading textures (or other assets) on the objective-c side of our application, where we can load them asynchronously in the background. We could then pass this data into Unity (or have Unity pull the data as this would work better as I believe you can only pass string data from objective-c to Unity with SendMessage). Does this sound possible, has anyone looked into something like this before?

One main issue might be that in the case of Textures, can we only construct a Texture or Texture2D on Unity side from a byte array for JPG and PNG encoding? Would there be another way to construct a Texture on Unity side from data loaded on objective-c side?

Any advice would be great in case we are barking up the wrong tree.

Basic or Pro license ?
Pro is required to use AssetBundles.