I'm having great trouble with various issues regarding hosted content. Among many attempts to upload an in-app purchase hosted content package, I have only succeeded once, repeatedly receiving the message that my IAP product ID is not recognised. The one time it did succeed, I then realised I wanted to make changes, but could not delete the hosted package or IAP, seemingly because it was being processed. Hence I created a new IAP, but as mentioned previously, it won't recognise my upload. Fundamentally, however, I do not see what the difference would be to upload one bundle with on demand resources versus using hosted content for the IAP and uploading a seperate IAP package. Is it that the IAP hosted content is dowloaded automatically at purchase time? Also, is there any difference between having the IAP content on Apple's servers and downloaded/downloadable when purchased versus having it on the app bundle, which locates ODR on Apple servers anyway? My app makes NSBundleResourceRequests for ODR in the main bundle, but checks to see if the non-consumable unlock of the full game has been purchased and makes further ODR requests. Is it possible that someone can hack my code and request ODR more easily than hosted IAP content?
You are correct - #3 and #4 do not apply to ODR. I misread your original post and focused on:
Is ......hosted content ... dowloaded .... at purchase time? Also, is there any difference between having the IAP content on Apple's servers and downloaded/downloadable when purchased versus having it on the app bundle,
Like IAP, ODR is not downloaded in the original in the app bundle. When you asked the question this way I assumed you were placing the content directly in the app binary not in ODR.
The way IAP hosted content is downloaded into an app gives the app a bit more control, but that control may not be needed. Also, once downloaded the app must retain hosted content as a file on the device - I think ODR can be swapped in and out of memory as determined by the system. There appears to be little difference as far as the IAP is concerned if you place the ODR tag behind a wall in your app that is opened with a simple IAP. I think #1 and #2 may be different for hosted content than ODR.