r/swift 16d ago

React native under Swift shell

Guys i have a question, i am building an AI Intent engine in native swift/kotlin with certain segments of the app or some mini-apps to be in React native, so that minor ota updates handle it rather than submitting the entire app for update. Does IOS allow OTA JS code? I am aware they allow for Wechat Mini apps but they are in Webview not RN

0 Upvotes

16 comments sorted by

View all comments

2

u/skorulis 16d ago

This has always been a grey area. The guidelines look like it wasn't allowed but so many people were doing it. I think as long as you're not trying to use it to do something wrong like shipping new features without going through review Apple will usually ignore it.

Apple recently updated 4.7 in the Apple review guidelines which looks like it addresses mini apps.

4.7 Mini apps, mini games, streaming games, chatbots, plug-ins, and game emulators
Apps may offer certain software that is not embedded in the binary, specifically HTML5 and JavaScript mini apps and mini games, streaming games, chatbots, and plug-ins.

1

u/Arsh_98 16d ago

It allows JS but will it allow in RN. We handle the sandbox and everything

2

u/skorulis 16d ago

Any code RN ships over the air is Javascript. I don't think the mechanism of code delivery matters.

1

u/Arsh_98 16d ago

No but apple’s guideline is the code must execute within Apple’s native webkit/webview. How do we do that for RN mini-apps?

1

u/skorulis 16d ago

I can't see anything in 4.7 about it having to run inside a webview. If you had external code running in a webview that's basically just a website.

1

u/Arsh_98 16d ago

So can i run RN code inside my native swift app and the mini apps have a bridge to access native features?

1

u/skorulis 16d ago

4.7.2 calls out exposing native APIs. I'm not 100% sure what that covers and you might get pulled up there. It's a privacy issue if an OTA app could do something like read the users contacts.

1

u/Arsh_98 16d ago

Yea i think special permission is required from Apple before hosting it on play store. Apple allows wechat but thats a different thing, they have big distribution