Xcode 未反映来自 React-Native 的最新应用程序代码

2024-02-28

EDIT:

好吧,事实证明这不是 AppStore 的问题,我从 Xcode 发布模式运行了应用程序,并且在模拟器上运行了相同的旧版本,我不知道为什么,但 Xcode 没有运行最新的 jsbundle。

现在我发现this https://stackoverflow.com/questions/58977223/using-react-native-ios-release-build-doesnt-load-new-code-but-the-version-does提出同样的问题并尝试遵循它我运行了这个命令:react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios/assets并把新生成的main.jsbundle inside /ios/ProjectName但当我从 Xcode 运行代码时,它仍然给我一个旧版本 我还尝试清理和重建并删除派生数据并再次构建,结果相同

我最近向苹果应用商店上传了一个应用程序,但似乎遇到了问题,这是我上传该应用程序的情况,它获得了批准,并表示已准备好出售,但当我去应用程序商店并下载该应用程序时,它只是该应用程序的先前版本,我没有看到该应用程序上所做的所有新更改...这对我来说有点奇怪,我还在新版本发布中上传了新徽标,并且该徽标已更新..版本也在应用商店列表中更新,前一个是 1.0,这个显示 1.1,并且“新增内容”部分也更新了...我还更改了这个新版本的预览和屏幕截图,这也反映在应用程序上商店列表,但只有当我下载应用程序时,我才会获得以前的版本。

我尝试去我的应用程序商店连接,然后活动,我看到我的版本有正确的上传日期和版本号...我在这里缺少什么吗?

Thanks,


以下是详细的试错过程,试图确定哪一步对于解决问题至关重要。

我从代码库开始npx react-native run-ios --configuration Release确实反映了代码库中的新变化。后续的每一轮都会跟随前一轮,即前一轮的结束状态可能会影响下一轮。

Round 1

  • Remove main.jsbundle来自 Xcode 和文件系统。
  • 对 React Native 代码库进行更改。
  • Run npx react-native run-ios --configuration Release
  • FAIL,新的更改未反映在构建中。

Round 2

  • Try npm start -- --reset-cache
  • Run npx react-native run-ios --configuration Release
  • FAIL,新的更改未反映在构建中。

Round 3

  • 尝试在 Xcode 中使用“Cmd + Shift + K”来清理构建。
  • Run npx react-native run-ios --configuration Release
  • FAIL,新的更改未反映在构建中。

Round 4

  • Run react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/your_app_name/main.jsbundle
  • Run npx react-native run-ios --configuration Release
  • FAIL,新的更改未反映在构建中。

Round 5

  • 在 Xcode 中,手动添加main.jsbundle文件到您的应用程序文件夹。在您的项目中,右键单击包含应用程序名称的文件夹,选择“将文件添加到 your_app_name”,然后添加main.jsbundle在应用程序文件夹中。请注意,我们在此处添加的捆绑包是在第 4 轮中创建的。
  • Run npx react-native run-ios --configuration Release。在命令执行期间的输出消息中,出现一条新消息:"Copying /.../your_app_name/ios/your_app_name/main.jsbundle".
  • SUCCCESS,新的变化正在显现。这表明在第 4 轮中创建的包用于此构建,而不是缓存在某处的某些先前版本。

Round 6

  • 在 React Native 代码库中进行另一项更改。
  • 直接运行npx react-native run-ios --configuration Release无需手动构建捆绑包。复制消息不显示。
  • FAIL,新的更改未反映在构建中。注意main.jsbundle存在于 Xcode 和文件系统中。

Round 7

  • Run watchman watch-del-all清理缓存watchman.
  • Run npx react-native run-ios --configuration Release。复制消息不显示。
  • FAIL,新的更改未反映在构建中。

Round 8

  • Run react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/your_app_name/main.jsbundle重建捆绑包。
  • 无需修改Xcode,直接运行npx react-native run-ios --configuration Release。这次,复制消息出现。
  • SUCCCESS,现在正在显示最新的变化。

结论

至少在我的笔记本电脑上,每个新版本都需要手动构建离线捆绑包,以反映 React Native 代码库中的最新更改。仅当将捆绑包添加到 Xcode 中的应用程序文件夹时,构建捆绑包才有效。看来我们只需要将包添加到 Xcode 一次即可。

另外一个重要的警告是,不同 Xcode 版本的行为可能会有所不同。

我正在使用的版本

  • macOS Catalina 10.15.6
  • Xcode 11.6
  • 反应本机 0.61.5
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Xcode 未反映来自 React-Native 的最新应用程序代码 的相关文章

随机推荐

  • Google Drive Android Intent 中的文件视图

    如果有人能提供帮助 我会非常棒 我正在构建一个应用程序 我试图访问我的文件并将它们显示在图像视图中 我有一个按钮 并附加了一个 onClickListener iButton setOnClickListener new View OnCl
  • PostgreSQL中如何限制列的最大显示长度

    我正在使用 PostgreSQL 表中有一列包含很长的文本 我想在查询中选择此列 但限制其显示长度 就像是 select longcolumn only 10 chars from mytable 我该怎么做 你能做的就是使用 Postgr
  • 尝试使用 AD 令牌/承载令牌 [Azure-Blob][承载令牌] 将文件放入 Azure Blob 中时授权权限不匹配

    我能够创建容器 列表容器 列表Blob但当我试图做一个PUT DELETE请求upload or deleteAzure 存储 blob 中的文件 但发出请求后显示以下错误 403 This request is not authorize
  • 从配置文件读取布尔条件?

    使用Python从配置文件中读取条件的最佳方法是什么ConfigParser and json 我想读一些类似的内容 mysettings x gt 10 y lt 5 然后将其应用到代码中x and y是已定义的变量 并且条件将应用于x
  • Rest 服务的 Application 类生命周期是什么?

    每个休息服务都是从扩展应用程序类并定义应用程序路径开始的吗 该应用程序类本身的生命周期是什么 这是一个例子 import javax ws rs core Application javax ws rs ApplicationPath re
  • 在if语句中创建对象并稍后使用它

    我正在为中缀表示法编写一个解析器 在 if 语句中我声明了变量 newchild 否则我希望它抛出异常 但是当我超出范围时 编译器不再知道该变量 我不能在 if 语句之前声明它 因为根据我们所处的情况 该变量被分配了不同的数据类型 我可以做
  • 滚动经过一定数量的像素时位置固定

    我正在寻找一种方法 仅在向下滚动大约 170 像素后将页面的 header 元素定位为 固定 标题上方是一个横幅 因此当人们向下滚动时 我希望横幅滚动走 标题在到达窗口顶部时保持固定 页面内容在标题下方滚动 http jsfiddle ne
  • 节点 8.6 javascript 承诺:UnhandledPromiseRejectionWarning

    我有一个错误 节点 6186 UnhandledPromiseRejectionWarning 未处理的承诺拒绝 拒绝 ID 1 三p 节点 6186 DEP0018 DeprecationWarning 未处理的承诺拒绝已被弃用 将来 未
  • 当某些内容存储为数组时,Rails where 子句

    我正在运行 Rails 4 2 带有 PG 数据库 我有一个项目存储在数据库中 例如 模型Item something gt 1 2 3 我想得到Item where something include gt 3 显然这是行不通的 但是你打
  • 创建表语法在 hsql 中不起作用

    我是 hsqldb 新手 我正在开发简单的应用程序来获取用户的一些输入 因此搜索嵌入式数据库并发现 hsqldb 是满足我的要求的解决方案 我有一些创建表语法 但它抛出异常 此查询使用 Netbeans 数据库服务执行 Query CREA
  • iOS - Facebook 登录错误 - 构建 URL 时出现未知错误(com.facebook.sdk.core 错误 3)

    我正在使用 Facebook 登录我的 iOS 应用程序 该应用程序是为 iOS 8 及更高版本开发的 正在使用最新的Facebook SDK 我已遵循 Facebook 官方指南中描述的所有基本步骤 但是 当我单击登录按钮时 出现以下错误
  • 如何组织大型 Node.js 项目

    组织大型 Node js 项目有哪些好方法 例如 一个同时使用express js 和socket io 的应用程序 这将包括应用程序逻辑结构和文件系统 目前 我发现自己将大量代码放入一个主 js 文件中 并将代码放入一个巨大的全局对象中
  • Rails 3.1 强制使用 .html 而不是无扩展名

    我的一位客户希望他的新 Rails 应用程序看起来更像他的传统网站 他想知道我是否可以强制 url 具有文件扩展名 最好是 html 我不想对扩展进行硬编码routes rb as match controller action id ht
  • 难以通过网络蓝牙连接热敏打印机

    现在我正在开发能够连接热敏打印机的网络 我正在使用 Angular 框架 并且我使用库成功将热敏打印机与 USB 连接ng thermal printer 但我希望我的网络也能够通过网络蓝牙 BLE 蓝牙低功耗 连接热敏打印机 据我所知 B
  • 转换为乔姆斯基范式

    我确实需要你的帮助 我有这些作品 1 A gt aAb 2 A gt bAa 3 A gt 我应该应用乔姆斯基范式 CNF 为了应用上述规则 我应该 消除 产生式 消除单一生产 删除无用的符号 我立即陷入困境 原因是 A 是一个可为空的符号
  • 它仍然适用于在 RedHat7 上使用 pexpect 还是有替代方法来执行命令并响应提示?

    我尝试在 Redhat7 中使用 pexpect for ansible 但无法安装它 我只得到 pexpect noarch 2 3 11 el7 RHEL7 版本 或者 pexpect 是否有替代方法来执行命令并响应提示 看起来像的版本
  • 给定python代码的打印语句语法错误的原因是什么[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 编辑问题以包括期望的行为 特定问题或错误以及重现问题所需的最短代码 help minimal reproducible example 这
  • 将 Meteor 部署到 Android 设备时找不到构建工具修订版 24.0.1

    我错误地完全删除了 Android SDK 文件夹 之前我已经使用cordova phonegap多次将meteor部署到android设备上 当通过 Android Studio 重新安装 SDK 并尝试在设备中运行 Meteor 时 我
  • SQLAlchemy over MySQLdb 的目的

    为什么人们使用 SQLAlchemy 而不是 MySQLdb 它有什么优点 您不使用 SQLAlchemy 来代替 MySQLdb 您使用 SQLAlchemy 来访问 MySQLdb oursql 我听说更好并且性能更好的另一个 MySQ
  • Xcode 未反映来自 React-Native 的最新应用程序代码

    EDIT 好吧 事实证明这不是 AppStore 的问题 我从 Xcode 发布模式运行了应用程序 并且在模拟器上运行了相同的旧版本 我不知道为什么 但 Xcode 没有运行最新的 jsbundle 现在我发现this https stac