> Does Apple permit this?
> Yes! Section 3.3.2 of the iOS Developer Program allows it "provided that such scripts and code do 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."
The AppHub client is also open source [1] and can be configured to point to any backend [2]. We also support asset updates, and the client has been tested in many production apps.
With CodePush, AppHub, and this, it would be nice to have the community converge on a shared auto-updating client. Perhaps down the road we could see this functionality integrated into React Native itself.
The most interesting part is that Apple seems to be cool with this:
> Does Apple permit this?
> Yes! Section 3.3.2 of the iOS Developer Program allows it "provided that such scripts and code do 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."
I use this feature with a Meteor app and it's really nice. Just be sure to not load a corrupted or crashing bundle, else your user will need to reinstall the app.
Apple is allowing this because JS is sandboxed, so I guess it's here to stay.
I wouldn't be so sure. If this starts getting real traction then it is a huge leap over the native development process. Which ironically is all Apple's fault for it taking so long for them to approve updates.
Having said that Apple seems slightly more chilled now Cook's in charge.
Also, this is react native, so it is only sandboxed in the way any other app is. The JS->ObjC bridge can do pretty much anything a native app can do so I don't think the JS thing makes much difference.
I think really it's in there so people can update webviews of content without having to resubmit the whole app. I don't think this is the spirit of that rule. Would be pleasantly surprised if not though.
Yep we do! We don't support updating assets on Android yet but we will as soon as the necessary platform support is released (should hopefully be in RN 0.19.0)
16 comments
[ 3.2 ms ] story [ 35.2 ms ] threadWith CodePush, AppHub, and this, it would be nice to have the community converge on a shared auto-updating client. Perhaps down the road we could see this functionality integrated into React Native itself.
[1] https://github.com/AppHubPlatform/apphub-ios
[2] http://docs.apphub.io/docs/self-hosting
Disclosure: I created AppHub
2 questions:
1. If you don't ask the user to update immediately after it is downloaded, when will the update apply? The next time the app is opened?
2. Is it possible to handle events around the update process from from Javascript? (For example an `onBeforeUpdate` or `onAfterUpdate` event.)
> Does Apple permit this?
> Yes! Section 3.3.2 of the iOS Developer Program allows it "provided that such scripts and code do 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."
I really, really hope this doesn't go away.
Apple is allowing this because JS is sandboxed, so I guess it's here to stay.
Having said that Apple seems slightly more chilled now Cook's in charge.
Also, this is react native, so it is only sandboxed in the way any other app is. The JS->ObjC bridge can do pretty much anything a native app can do so I don't think the JS thing makes much difference.
I think really it's in there so people can update webviews of content without having to resubmit the whole app. I don't think this is the spirit of that rule. Would be pleasantly surprised if not though.
https://github.com/Microsoft/react-native-code-push/blob/mas...