ios - React Native WebView 离线优先或本地内容

标签 ios react-native offline-caching visual-studio-app-center code-push

我正在使用集成的 AppCenter 构建 React Native 应用程序SDK(分析、崩溃报告、用于应用内更新的 CodePush)。此应用程序只是我们在线 Web 演示文稿的“包装器”。要求是使其离线优先并有可能更新包装器或网络演示。

我的想法是使用本地 HTML 源将 Web 演示文件附加到 React Native 项目和 WebView。 但是 - 它只适用于模拟器。 React Native 打包器(或打包器)可以渲染完整的 HTML 文件及其所有内部依赖项(JS、字体、CSS、其他 Assets )。像这样:

import htmlSource from './presentation/index.html'

<WebView
    source={htmlSource}
    style={styles.webview}
/>

这在模拟器上运行良好,但是当我创建生产构建时,JS 包不包含任何 HTML 依赖项,因此表示只是没有样式和任何其他 Assets 的原始 HTML。所以我无法使用 WebView 呈现完整的演示文稿。创建 CodePush 版本(用于应用内更新)是相同的 - 没有 Assets 。

你有什么想法如何让它工作吗?我需要能够在设备离线时呈现演示文稿,但在连接时能够更新它。

我们不想对 App Store 进行完整的部署过程,因为它的审查/验证过程很长。

为什么它在模拟器上可以运行,但在生产环境中却不能运行?是否有可能以不同的方式捆绑所有 HTMl 文件依赖项?或者,如果我指向 URL 地址,是否可以离线缓存 WebView 内容?

感谢您的任何想法。

最佳答案

react-native bundle --entry-file index.ios.js --platform ios --dev false --bundle-output release_ios/index.ios.jsbundle --assets-dest release_ios/

然后将你本地的css、assets...拖到assets

enter image description here

关于ios - React Native WebView 离线优先或本地内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50714573/

相关文章:

php - 数据库驱动的网络应用 : How to handle offline use

ios - 标签栏 Controller 项目图像未显示

ios - 删除的 CloudKit 记录重新出现

java - React setState 不起作用,出现错误

react-native - undefined 不是对象(评估 '_expo.Permission.askAsync' )

cordova - 使用 OpenLayers 和 TileCache 在 PhoneGap 上离线 map

ios - 如何访问推送通知中的参数

ios - ViewController 模态演示未出现

react-native - react native 博览会错误。我该怎么办?

asp.net-mvc - HTML5 离线 list /功能如何与 ASP.NET MVC 4 配合使用?