2 Star 3 Fork 0

internetwei / LLDynamicLaunchScreen

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

LLDynamicLaunchScreen

CI   Carthage   CocoaPods   Platform   License MIT

LLDynamicLaunchScreen 是1个可以让你不用更新APP并修改iPhone上的各种启动图;它还可以自动修复启动图的各种显示异常。

该框架目前没有使用 swift 重写的计划,因为swift没有load方法,有些逻辑需要开发者手动调用,这可能会增加使用成本;当然,它支持和swift混编;如果你想作者提供1个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

如需支持,请发送电子邮件至 internetwei@foxmail.com

致谢

许可证

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

Copyright (c) 2020 internetwei <internetwei@foxmail.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

不用更新APP版本即可修改启动图,可以使用网络图片;自动修复启动图显示异常。 展开 收起
Objective-C 等 2 种语言
MIT
取消

发行版 (6)

全部
fix

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/internetWei/lldynamic-launch-screen.git
git@gitee.com:internetWei/lldynamic-launch-screen.git
internetWei
lldynamic-launch-screen
LLDynamicLaunchScreen
master

搜索帮助