视频直播app源码,Swift动态修改Icon,消除系统弹窗

视频直播app源码,Swift动态修改Icon,消除系统弹窗

实现

 

1 导入待替换的新图片,放到项目工程新文件夹中;

2 配置 Info.plist 文件:

 

1
<key>CFBundleIcons</key><br><dict><br>    <key>CFBundleAlternateIcons</key><br>    <dict><br>        <key>icon1</key><br>        <dict><br>            <key>CFBundleIconFiles</key><br>            <array><br>                <string>icon1</string><br>            </array><br>            <key>UIPrerenderedIcon</key><br>            <false/><br>        </dict><br>        <key>icon2</key><br>        <dict><br>            <key>CFBundleIconFiles</key><br>            <array><br>                <string>icon2</string><br>            </array><br>            <key>UIPrerenderedIcon</key><br>            <false/><br>        </dict><br>    </dict><br>    <key>CFBundlePrimaryIcon</key><br>    <dict><br>        <key>CFBundleIconFiles</key><br>    <array><br>        <string>AppIcon60x60</string><br>    </array><br>    </dict><br></dict><br> 

3 通过代码替换

 

1
      if #available(iOS 10.3, *) {<br>            if UIApplication.shared.supportsAlternateIcons {<br>                print("you can change this app's icon")<br>            }else {<br>                print("you cannot change this app's icon")<br>                return<br>            }<br>            <br>            if let name = UIApplication.shared.alternateIconName {<br>                // CHANGE TO PRIMARY ICON  恢复默认 icon<br>                UIApplication.shared.setAlternateIconName(nil) { (err:Error?) in<br>                    print("set icon error:\(String(describing: err))")<br>                }<br>                print("the alternate icon's name is \(name)")<br>            }else {<br>                // CHANGE TO ALTERNATE ICON 指定icon图标<br>                UIApplication.shared.setAlternateIconName("icon1") { (err:Error?) in<br>                    print("set icon error:\(String(describing: err))")<br>                }<br>            }<br>        }<br> 

 

4 去掉更换图标时的弹框

更换图标时会出现系统弹框,可以使用Runtime来隐藏弹框,这样方便在节日时候程序自动 无感 更改APP 的icon

具体代码如下:

 

1
extension UIViewController {<br>  //通过运行时替换系统的present方法<br>  public class func nkReplaceSystemPresent(){<br>    let systemSelector = #selector(UIViewController.present(_:animated:completion:))<br>    let nkSelector = #selector(UIViewController.newPesent(_:animated:completion:))<br>    let systemMethod = class_getInstanceMethod(self, systemSelector)<br>    let nkNewMethod = class_getInstanceMethod(self, nkSelector)<br>      method_exchangeImplementations(systemMethod!, nkNewMethod!)<br>  }<br>  @objc public func newPesent(_ vcToPresent:UIViewController, animated flag:Bool, completion: (() ->Void)? = nil) {<br>    if vcToPresent.isKind(of:UIAlertController.self) {<br>      let alertController = vcToPresent as? UIAlertController<br>      if alertController?.title==nil && alertController?.message==nil {<br>        return<br>      }<br>    }<br>    self.newPesent(vcToPresent, animated: flag)<br>  }<br>} 

 

然后在满足需求的控制器中调用即可。

方法如下:

 

1
<br>    override func viewDidLoad() {<br>        super.viewDidLoad()<br>        DH_MyViewController.nkReplaceSystemPresent()<br>    }

 

 以上就是 视频直播app源码,Swift动态修改Icon,消除系统弹窗,更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2022-03-16 一对一直播源码,实现一个简单的登录界面
2022-03-16 app直播源码,自定义两种Activity切换动画实现
2022-03-16 ​直播平台开发,实现点击跳转外部链接时的跳转步骤
点击右上角即可分享
微信分享提示