4 ms·
For those curious, here is Apple’s language on dynamic updates like what codepush allows: https://github.com/microsoft/react-native-code-push#store-guideline-co
by ec109685 2y ago
For those curious, here is Apple’s language on dynamic updates like what codepush allows: https://github.com/microsoft/react-native-code-push#store-guideline-compliance https://github.com/microsoft/react-native-code-push#store-gu...
“Executable Code
Except as set forth in the next paragraph, an Application may not download or install executable code. Interpreted code may be downloaded to an Application but only so long as such code: (a) does not change the primary purpose of the Application by providing features or functionality that are inconsistent with the intended and advertised purpose of the Application as submitted to the App Store, (b) does not create a store or storefront for other code or applications, and (c) does not bypass signing, sandbox, or other security features of the OS.”
- kevingadd 2y agoAt least in live service games, nearly 100% of them pull down new interpreted code on a regular basis on mobile, which means they're all basically circumventing app store review. It seems like it's just an agreement between game developers and Google/Apple that in exchange for bypassing review, the billions of dollars worth of lootbox money will keep flowing.
- robertlagrant 2y agoThat seems odd. No reason Apple couldn't review the updates to the games, with or without lootbox money.
- jonplackett 2y agoThe point with this kind of update is it doesn’t go through the App Store review process at all. The developer just sends the new content / feature straight into the app which was approved based on its original version.
- robertlagrant 2y agoYes, I know. My point has that in mind.
- ycombinatrix 2y agoThey can't review dynamic updates because they don't exist yet. They get downloaded to the app at runtime.
- ec109685 2y agoThat seems explicitly allowed by that paragraph, no?
- m-p-3 2y agoAnd yet they don't allow web browsers to use their own rendering engine or have their own extension system..
- j45 2y agoApple is allowing third party browser engines in the EU. Hopefully the option is available to all Apple users since they do take a proud stance on user privacy. Having a blackbox browser like Safari or Webkit does still leave it open for Apple to potentially be able to see things Chrome cant' :) I wonder if all it takes is having a device registered in the EU? https://www.theverge.com/2024/1/25/24050478/apple-ios-17-4-browser-engines-eu https://www.theverge.com/2024/1/25/24050478/apple-ios-17-4-b...
- m-p-3 2y agoSadly not an option where I live (Canada).
- j45 2y agoI'm not sure if updating code is circumventing. Third party code (javascript or another emulator) was explicitly forbidden for a while and this approach, be it with react, or others.. Can Flutter do this with something other than a web view? Review is for sizeable changes that are black and white across some lines, and also keeping malicious apps out. If it's not malicious, and updating for usage, maybe those are metrics that can be monitored and managed.
- j45 2y agoThis feels relatively open ended, for an app that will largely still be after the same result without going after it in a grossly different way. One feature set I notice is how many apps have you pay outside of Apple's walled system for a subscription because the actual work of the app is done in the cloud, and not entirely on device. Separating the app into a basic local app with extra work in the cloud seems to have merits, but with the increased horsepower on devices, it is more and more appealing to see what can be done locally. If an app has a high level and clear enough layout, the details that fill them out can fill in. I've been a fan of things like SDUI (Software defined UI) for a while, to allow more dynamic interface generation based on user preferences, usage, etc. The approach of creating software that is for a fixed business process is more and more becoming outdated. Replacing fixed mindset software with software where flexibility is required, whether during the different stages of pandemic lockdowns, or truly personalizing a user's experience.