升级到 Xcode 16 后,我注意到我的应用程序大小变大了,从 10MB 到 165MB(!)。
我认为它与此版本的 Xcode 中的位码设置删除有关,因此我添加了自己的条带符号步骤来构建阶段(与 https://docs.emergetools.com/docs/ 中提出的相同) strip-binary-symbols),但没有任何改变。
我需要一些关于还需要检查哪些内容的建议,以便在继续使用最新版本的 Xcode 的同时将应用程序大小减小到正常大小。
所以,对我来说可能是以下之一:
为此,您可以检查您的构建设置,并确保在发布构建中排除不必要的架构,例如 x86_64、i386 和 arm64e。
确保“仅构建活动架构”选项设置为否。您还可以在运行脚本阶段使用脚本从嵌入式框架中剥离模拟器架构,确保它们不会使应用程序膨胀。
您还可以检查您的资产,以确保您的构建中仅包含必要的资产。应压缩或按需加载大型资源,以进一步减小应用程序的大小。
您还可以从Apple官方文档中阅读此文档: https://developer.apple.com/documentation/xcode/reducing-your-app-s-size
它可以更好地解释任何一点。
还要确认您的构建设置中的“启用位码”设置为否,并确保您的构建配置正确设置为发布以进行分发。
在最后一种情况下,您可以通过在 Xcode 中选择“产品”>“清理构建文件夹”来执行清理构建,以删除任何旧工件并再次检查大小。
您可以随时比较更新前后的文件: ios/projectId.xcodeproj/project.pbxproj
我希望它至少能给你一个前进的方向! :)
终于找到解决办法了。
正是框架二进制文件(在我的例子中,hermes)通过保留其符号未剥离而导致了问题。
长话短说:
APP_FRAMEWORKS_DIR="${BUILT_PRODUCTS_DIR}/XCFrameworkIntermediates"
而不是
APP_FRAMEWORKS_DIR="${APP_DIR_PATH}/框架"