水一把,gpt组织了一下文案
在近期的iOS原生开发中,我遇到了一个关于启动图随系统语言切换而变换的挑战。项目的初步实现方案是移除项目中的默认LaunchScreen.storyboard文件,并为支持的语言创建了两个新文件:LaunchScreen-CN.storyboard和LaunchScreen-EN.storyboard。我在Storyboard中放置了不同的图片,并在各语言版本的InfoPlist中设置了各自的UILaunchStoryboardName。此外,我使用appdelegate方法清除了/Library/SplashBoard的缓存。
然而,这种配置方法在系统切换语言时,并未成功地改变启动图片。这种启动图片问题似乎只在首次安装应用程序时出现,随后就不再变化了。由于此情况,我尝试了采用之前的启动图国际化方案。
为此,我创建了一个新的LaunchScreen.storyboard,并添加了一张图片。该图片保存在资源库中,并已标记为多语言支持。之后,我为各语言版本添加了不同的图片,并进行了相关设置。
然而,我发现应用程序的图像并未发生预期的变化。在任何语言设置下,都仅显示一种图片。在我移除语言设置的"base"选项后,测试发现图片似乎响应系统语言进行了变化。
多语言启动图的相关测试工作复杂度较高,由于缓存问题,我需频繁进行卸载、重启手机,甚至在一些情况下,两者仍无效,这让我无法判断问题是否得到了解决。我甚至遇到了此类问题:启动程序后瞬间出现黑屏,或者启动图片先显示英文后显示中文,或者直接出现黑屏,白屏,这些问题无疑给我增添了困扰。
虽然启动图已随系统语言进行了变化,但我又发现了另一个问题:首次安装应用程序时,会首先出现一段时间的白屏,再展示启动图。wtf
综合考虑各种情况后,我决定:让启动图片保持不变,不再进行国际化处理。相反,将上面的文字按国际化要求,移到代码中的伪启动页面进行处理。尽管这样会造成文字稍微晚些出现,但我认为这是个可以接受的效果,因为正常的app开发本就需要一个伪启动页来进行一些初始化操作。
网友评论