适配 iOS13

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weiwandaixu_/article/details/100511940

 

1.  就是各种私有属性的访问 一一删除替换其他方案

2. 暗黑模式 文字颜色 按钮颜色 view颜色  全局修改一下 再部分微调
Label  Extension

func setTextColor(_ color: UIColor) {

        if #available(iOS 13.0, *) {

            let titleColor = UIColor(dynamicProvider: { (trait) -> UIColor in

                return trait.userInterfaceStyle == .dark ? UIColor.label : color

            })

            self.textColor = titleColor

        } else {

            self.textColor = color

        }

    }

Button  Extension

func setTitleColor(color: UIColor?, state: UIControl.State = .normal) {

        if #available(iOS 13.0, *) {

            let titleColor = UIColor(dynamicProvider: { (trait) -> UIColor in

                return trait.userInterfaceStyle == .dark ? UIColor.label : (color ?? UIColor.white)

            })

            self.setTitleColor(titleColor, for: state)

        } else {

            self.setTitleColor(color, for: state)

        }

    }

func setBgColor(backgroundColor:UIColor, forState state:UIControl.State = .normal) {

        if #available(iOS 13.0, *) {

            let backgroundColor = UIColor(dynamicProvider: { (trait) -> UIColor in

                return trait.userInterfaceStyle == .dark ? UIColor.label : backgroundColor

            })

            self.setBackgroundImage(UIImage.createImageWithColor(backgroundColor), for: state)

        } else {

            self.setBackgroundImage(UIImage.createImageWithColor(backgroundColor), for: state)

        }

    }

view  Extension

func setBackgroundColor(_ color: UIColor) {

        if #available(iOS 13.0, *) {

            let backgroundColor = UIColor(dynamicProvider: { (trait) -> UIColor in

                return trait.userInterfaceStyle == .dark ? UIColor.systemBackground : color

            })

            self.backgroundColor = backgroundColor

        } else {

            self.backgroundColor = color

        }

    }

3. present 的可折叠 下滑
func present(_ : UIViewController, animated: Bool, completion: (() -> Void)?)
 

设置vc 时 如果没有设置 modalPresentationStyle 默认就会是 :

@available(iOS 13.0, *)

    case automatic

如果需要之前的样式就需要修改为

vc.modalPresentationStyle = .fullScreen

4. CNCopyCurrentNetworkInfo

Apple改变了有关iOS 13的WiFi的一些内容。如果您想使用CNCopyCurrentNetworkInfo,您的应用需要具备以下功能之一

有权访问位置的应用
您的应用是当前启用的VPN应用
您的应用通过NEHotspotConfiguration配置了设备当前正在使用的WiFi网络
如果您不满足,这些条件中的至少一个  CNCopyCurrentNetworkInfo在iOS 13将始终返回nil

https://developer.apple.com/documentation/systemconfiguration/1614126-cncopycurrentnetworkinfo

以下代码适用于iOS 12:

/// retrieve the current SSID from a connected Wifi network  
private func retrieveCurrentSSID() -> String? {  
    let interfaces = CNCopySupportedInterfaces() as? [String]  
    let interface = interfaces?  
        .compactMap { [weak self] in self?.retrieveInterfaceInfo(from: $0) }  
        .first  

    return interface  
}  

/// Retrieve information about a specific network interface  
private func retrieveInterfaceInfo(from interface: String) -> String? {  
    guard let interfaceInfo = CNCopyCurrentNetworkInfo(interface as CFString) as? [String: AnyObject],  
        let ssid = interfaceInfo[kCNNetworkInfoKeySSID as String] as? String  
        else {  
            return nil  
    }  
    return ssid  

5. UIApplication.shared.statusBarFrame.height 
iOS 13.0中不推荐使用'statusBarFrame':改为使用窗口场景的statusBarManager属性:
let height = view.window?.windowScene?.statusBarManager?.statusBarFrame.height ?? 0

 

6.MPMoviePlayerController在iOS13已经不能用了

可以 使用 AVFoundation 里的 AVPlayer

7.  苹果登录 示例

https://github.com/yiruchujian/AppleLogin
 

 

个人建议 使用最好可以多系统的一些经常使用的方法做一个简易的二次封装 这样修改起来会比较快捷 代码逻辑也会比较清晰

描述文件和真机调试包:https://download.csdn.net/download/weiwandaixu_/11653336
描述文件 只能下载 iOS 13.1 的beta版  需要13.0 的话 需要自己先升级mac 系统到10.15的beta版 再去这个地址下载手机相应的固件 https://developer.apple.com/download/#ios-restore-images-iphone-new 通过ituns 安装
————————————————
版权声明:本文为CSDN博主「一如初夏丿」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weiwandaixu_/article/details/100511940

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值