首页 > 解决方案 > 在 react-native 中从 ios 包中删除未使用的图像(@2x 或 @3x)?

问题描述

我正在尝试根据 react-native 指南https://facebook.github.io/react-native/docs/images@3x优化我的应用程序性能并为我的图像添加和后缀@2x

这显然重复了图像,但我假设仅基于设备@2x@3x图像将被删除?

现在我的包刚刚增加到额外的 15mb 大小,似乎所有图像都被使用,无论我在什么设备上测试。

这是预期的还是有办法改进它,所以每个设备都使用正确的分辨率,但没有捆绑额外的图像?

应用程序大小已通过 测试TestFlight,我不确定,但也许从 App Store 下载时这些图像会被删除?

标签: iosreact-nativeoptimization

解决方案


如果您使用过react-native-cli,则可以在XcodeIDE 中为该iOS文件夹编译项目。如果编译成功,请按照以下步骤操作,

您需要bitcode在项目的构建设置中启用才能启用App Thinning功能。

启用过程Bitcode

  • 在项目构建设置中,确保您已启用所有设置可见。
  • 构建选项是第 4 部分。选择选项YesEnable Bitcode

App Store 和操作系统优化了 iOS、tvOS 和 watchOS 应用程序的安装,方法是根据用户特定设备的功能定制应用程序交付,并且占用空间最小。这种优化称为应用程序精简,可让您创建使用最多设备功能、占用最少磁盘空间并适应 Apple 可以应用的未来更新的应用程序。其他应用程序和内容的更快下载和更多空间可提供更好的用户体验。

切片(iOS、tvOS) 切片是为不同的目标设备创建和交付应用程序包变体的过程。变体仅包含目标设备所需的可执行架构和资源。您继续开发应用程序的完整版本并将其上传到 App Store Connect。App Store 将根据您的应用支持的设备创建和提供不同的变体。使用资产目录,以便 App Store 可以选择适用于每个设备变体的图像、GPU 资源和其他数据。当用户安装应用程序时,会下载并安装用户设备的变体。

Xcode 在开发过程中模拟切片,因此您可以在本地创建和测试变体。当您在设备或模拟器中构建和运行应用程序时,Xcode 会对您的应用程序进行切片。当您创建档案时,Xcode 包含您的应用程序的完整版本,但允许您从档案中导出变体。

注意:运行 9.0 及更高版本的设备支持切片应用;否则,App Store 会向客户提供通用应用程序。

有关减小应用程序大小的更多详细信息,请参阅减小我的 App 应用程序精简的大小


推荐阅读