从react-native中的ios包中删除未使用的图像(@ 2x或@ 3x)?

时间:2018-12-29 14:46:48

标签: ios react-native optimization

我正在尝试优化我的应用性能,并根据本机指南https://facebook.github.io/react-native/docs/images

在图像中添加了@3x@2x后缀

这显然是重复的图像,但是我假设基于设备仅会删除@2x@3x图像?

现在,我的捆绑包仅增加了15mb,无论我在什么设备上测试,似乎所有图像都已使用。

这是预期的还是有改进的方法,因此每个设备使用正确的分辨率,但不捆绑额外的图像吗?

我不确定是否通过TestFlight测试了应用大小,但是也许从App Store下载这些图像后会删除这些图像吗?

1 个答案:

答案 0 :(得分:2)

如果使用过react-native-cli,则可以在Xcode IDE中为iOS文件夹编译项目。如果编译成功,请执行以下步骤,

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

启用Bitcode的过程:

  • 在项目构建设置中,确保已启用“所有设置”可见。
  • “构建选项”位于第4部分。为Yes选项选择Enable Bitcode
  

App Store和操作系统通过根据用户特定设备的功能量身定制应用程序交付,从而以最小的占用空间优化了iOS,tvOS和watchOS应用程序的安装。此优化称为应用程序精简,使您可以创建使用最多设备功能,占用最少磁盘空间并容纳Apple可以应用的将来更新的应用程序。更快的下载速度和更多的其他应用程序和内容空间可提供更好的用户体验。

     

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

     

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

     

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

有关减小应用程序大小的更多详细信息,请参阅Reducing the size of my App App Thinning