React Native,我需要通过应用商店发送更新吗?
React native, do I need to send updates through app store?
标题几乎解释了它。它是从外部代码库呈现 JS,以便我可以简单地通过 git 推送新更新,还是我需要通过 App Store 实际推送更改?
这是我之前的回答,它被否决了,因为它没有预测到像 CodePush 这样很酷的东西会出现在 React Native 中:)
React Native compiles to an iOS binary. Updates need to be sent to the
App Store, unless you're simply using React Native for its WebView
and rendering an existing webpage on the client.
更新时间 6/2/16
看起来 Microsoft 有一个很棒的 CodePush 插件 found here 可以让您将更改远程推送到您的 React Native 应用程序,而无需通过 App Store 发送更新。
这里引用了 README 文档中的一段话:
NOTE: While Apple's developer agreement fully allows performing
over-the-air updates of JavaScript and assets (which is what enables
CodePush!), it is against their policy for an app to display an update
prompt. Because of this, we recommend that App Store-distributed apps
don't enable the updateDialog option when calling sync, whereas Google
Play and internally distributed apps (e.g. Enterprise, Fabric,
HockeyApp) can choose to enable/customize it.
如果您 link 已将更新推送到外部捆绑包并转发了 IP/正确端口,则可以将更新推送给远程用户,但是 Apple 不允许对已发布的 AppStore 应用程序执行此操作。
对于 Beta 测试远程应用程序,您可能想尝试指数 http://exp.host/
更新---
为了完整起见,应该注意的是,如果您是 Apple 企业计划的一部分,则根本不需要将应用程序发布到 AppStore,您可以 post 通过下载 link 将它们提供给最终用户。
我实际上正在做一个项目(与 React Native Playground 团队合作 - https://rnplay.org/about) that will allow you do live update your apps JS on the fly without submitting an update to the App Store. It's called Reploy, http://reploy.io
我们很快就会开源它的第一部分(更新模块)。还将有一项服务可以帮助您管理更新,甚至可以在需要时将您的应用程序部署到 TestFlight 和 App Store(添加新的本机模块或静态资产时仍然需要 App Store 更新)。
此外,如您所知,Apple 已通过 "iOS Developer Program Requirements" 文档中的第 3.3.2 项允许此类自动更新,它说:
3.3.2 An Application may not download or install executable code. Interpreted
code may only be used in an Application if all scripts, code and interpreters are
packaged in the Application and not downloaded. The only exception to the
foregoing is scripts and code downloaded and run by Apple's built-in WebKit
framework or JavascriptCore, 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 as
submitted to the App Store.
https://developer.apple.com/programs/ios/information/iOS_Program_Information_4_3_15.pdf
我从事一个名为 AppHub 的项目,它可以让您更新 JavaScript 和图像而无需重新提交到 App Store。 iOS SDK 将开源,但目前您可以使用托管服务来管理应用的新版本。
标题几乎解释了它。它是从外部代码库呈现 JS,以便我可以简单地通过 git 推送新更新,还是我需要通过 App Store 实际推送更改?
这是我之前的回答,它被否决了,因为它没有预测到像 CodePush 这样很酷的东西会出现在 React Native 中:)
React Native compiles to an iOS binary. Updates need to be sent to the App Store, unless you're simply using React Native for its
WebView
and rendering an existing webpage on the client.
更新时间 6/2/16
看起来 Microsoft 有一个很棒的 CodePush 插件 found here 可以让您将更改远程推送到您的 React Native 应用程序,而无需通过 App Store 发送更新。
这里引用了 README 文档中的一段话:
NOTE: While Apple's developer agreement fully allows performing over-the-air updates of JavaScript and assets (which is what enables CodePush!), it is against their policy for an app to display an update prompt. Because of this, we recommend that App Store-distributed apps don't enable the updateDialog option when calling sync, whereas Google Play and internally distributed apps (e.g. Enterprise, Fabric, HockeyApp) can choose to enable/customize it.
如果您 link 已将更新推送到外部捆绑包并转发了 IP/正确端口,则可以将更新推送给远程用户,但是 Apple 不允许对已发布的 AppStore 应用程序执行此操作。
对于 Beta 测试远程应用程序,您可能想尝试指数 http://exp.host/
更新--- 为了完整起见,应该注意的是,如果您是 Apple 企业计划的一部分,则根本不需要将应用程序发布到 AppStore,您可以 post 通过下载 link 将它们提供给最终用户。
我实际上正在做一个项目(与 React Native Playground 团队合作 - https://rnplay.org/about) that will allow you do live update your apps JS on the fly without submitting an update to the App Store. It's called Reploy, http://reploy.io
我们很快就会开源它的第一部分(更新模块)。还将有一项服务可以帮助您管理更新,甚至可以在需要时将您的应用程序部署到 TestFlight 和 App Store(添加新的本机模块或静态资产时仍然需要 App Store 更新)。
此外,如您所知,Apple 已通过 "iOS Developer Program Requirements" 文档中的第 3.3.2 项允许此类自动更新,它说:
3.3.2 An Application may not download or install executable code. Interpreted code may only be used in an Application if all scripts, code and interpreters are packaged in the Application and not downloaded. The only exception to the foregoing is scripts and code downloaded and run by Apple's built-in WebKit framework or JavascriptCore, 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 as submitted to the App Store.
https://developer.apple.com/programs/ios/information/iOS_Program_Information_4_3_15.pdf
我从事一个名为 AppHub 的项目,它可以让您更新 JavaScript 和图像而无需重新提交到 App Store。 iOS SDK 将开源,但目前您可以使用托管服务来管理应用的新版本。