LLDynamicLaunchScreen 1.0.8

LLDynamicLaunchScreen 1.0.8

internetwei 维护。



  • 作者:
  • internetwei

LLDynamicLaunchScreen

CI   Carthage   CocoaPods   Platform   License MIT

LLDynamicLaunchScreen 是一个允许您无需更新 APP 即可修改 iPhone 上的各种启动图;它还可以自动修复启动图的显示异常。

此框架目前没有使用 swift 重写的计划,因为 swift 没有load方法,有些逻辑需要开发者手动调用,这可能会增加使用成本;当然,它支持与 swift 混编;如果您想作者提供一个 swift 版本,请在此 issues 中留言。

功能

  • 不更新 APP 修改启动图(支持从网络下载图片)。
  • 自动修复启动图黑屏/白屏。
  • 自动修复启动图在横屏状态下可能显示异常。
  • 更新 APP 版本后自动迁移上版本数据,无需开发者手动处理。
  • 对迁移数据的精确控制,可控制哪些启动图需要迁移,哪些不需要。
  • 任何公开 API 均支持在子线程调用,以提高性能。

演示

修改启动图 自动修复异常
demo1 demo2

示例代码

// objc示例代码:
// 在子线程中修改指定类型的启动图。
[LLDynamicLaunchScreen replaceLaunchImage:replaceImage type:LLLaunchImageTypeVerticalLight completed:nil];
// swift示例代码:
// 在子线程中修改指定类型的启动图。
LLDynamicLaunchScreen.replaceLaunch(replaceImage, type: .verticalLight, completed: nil)

安装

CocoaPods

  1. 在 Podfile 中添加 pod 'LLDynamicLaunchScreen'
  2. 执行 pod installpod update
  3. #import <LLDynamicLaunchScreen/LLDynamicLaunchScreen.h>

Carthage

  1. 在 Cartfile 中添加 github "internetWei/LLDynamicLaunchScreen"
  2. 执行 carthage update --platform ios 并将生成的 framework 添加到您的工程。
  3. #import <LLDynamicLaunchScreen/LLDynamicLaunchScreen.h>

手动安装

  1. 下载 LLDynamicLaunchScreen 文件夹内的所有内容。
  2. 将LLDynamicLaunchScreen文件夹添加(拖放)到你的工程中。
  3. #import "LLDynamicLaunchScreen.h"

版本限制

如果你的项目使用的是LaunchScreen而不是LaunchImage,理论上没有最低版本限制;不过我只在iOS11.0及以上系统使用并测试过,如果你在低于iOS11.0的版本上使用并遇到了问题,请提交issues

注意事项

如果你在项目中使用了1整张图片适配启动图(或者大于屏幕90%区域)的话,请你务必在启动图的右下角添加1个1×1像素的辅助视图,并将视图的背景设置成 system color,具体细节请看:LLDynamicLaunchScreen 设计思路 中关于《修改启动图》的内容。

已知问题

  1. 当用户修改了手机上的系统语言后,系统会清空APP所有启动图,并且在下次启动时不会一次性生成所有启动图,而只会生成当前模式下的1张启动图(《测试设备:iPhone 14, iOS 16.4.1》)(除了测试,一般情况下用户不会去修改手机上的首选语言),所以暂时不会处理。
  2. 如果APP支持国际化的话,系统会根据首次打开时的语言选择启动图文件,即使后面修改系统语言,除非更新APP,否则还是会显示首次打开时的语言的启动图(《有点拗口,举个例子,首次打开APP时系统语言是简体中文,此时系统会选择简体中文的启动图文件,然后用户将系统语言修改成了英语,此时系统会清空所有启动图,当用户打开APP时,系统会重新生成启动图,但系统没有显示英语的启动图文件,而是显示第1次也就是简体中文的启动图文件,这应该是系统启动图BUG》)(一般用户也不会去修改手机上的系统语言,所以暂时不会处理)

支持

如果你有任何更好的意见,请提交 issue

如需支持,请发送电子邮件至 [邮箱保护 透露]

致谢

许可证

LLDynamicLaunchScreen 使用 MIT 许可证,详情见 LICENSE