zoukankan      html  css  js  c++  java
  • iOS 14首个坑

    背景:
    生产上爆出一个问题,iOS14用户某个跳转按钮没有反应。其他系统用户没有这个问题。

    苹果在9月17号正式推送了iOS14.
    2020,9月17号我们的APP升级OK 。用户未没有抱怨出问题。
    在23号的时候,还未爆出问题。24号,已经有人反馈了。
    我还没有升级MAC系统,也没有Xcode12的测试包,也没有iOS14的测试机。
    一切又要从装系统,装Xcode开始。Xcode Version 12.2 beta (12B5018i)装下来整整28.6G,我的学习资料都没得空间了。XCode11 才 16.2G。
    我想说:“#&……#”希望正式版会压缩体积。

    1、整好之后在看页面的层次结构时模拟器先报错了:
    运行模拟器报"Remote object proxy returned error: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated." UserInfo={NSDebugDescription=The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated"

    解决方案:
    在终端运行 xcrun simctl spawn booted log config --mode "level:off" --subsystem com.apple.CoreTelephony

    2、开始解决按钮无效的问题。打印日志:确定跳转前后的问题

    - (void)viewWillAppear:(BOOL)animated {
        [super viewWillAppear:animated];
        NSLog(@"viewWillAppear");
    }
    
    - (void)viewDidAppear:(BOOL)animated {
        [super viewDidAppear:animated];
        NSLog(@"viewDidAppear");
    }
    

    控制台只打印了:

    viewWillAppear
    

    看来按钮是生效了,肯定是B控制器的viewDidLoad出了问题。
    由于线上大部分机型和系统没有问题,只有一行行排除。
    不停的调试之后。
    定位到是纯代码布局:

     [self.inputView mas_makeConstraints:^(MASConstraintMaker *make) {
            make.left.mas_equalTo(oneThirdScreenWidth - 15);
            make.height.mas_equalTo(25);
            make.width.mas_equalTo(2 * oneThirdScreenWidth - 45);
    //        make.centerY.baseline.equalTo(self);
            make.centerY.equalTo(self);
        }];
    

    被注释掉的代码出了问题,看来iOS14苹果对自动布局又做了【优化】,centerY和baseline不能同时设置约束,Masonry也没有爆约束冲突的断言。iOS14之前,也没有错误。
    最后想想而且之前这样做也像是多余的约束,实际上这两个约束用一个就好,里面的textFiled的位置不合适可以再做偏移设置。

    顺利解决。

  • 相关阅读:
    socket 编程练习--UDP聊天程序
    练习 多线程
    练习二:求最大公约数
    练习一:单链表的反转,串的模式匹配
    【算法1】string 的全排列
    lw资料
    SDmenu滑动菜单获取导航连接部分代码
    FileOperate(个人资料)
    C/C++基本数据类型
    C++/MFC计算程序运行时间
  • 原文地址:https://www.cnblogs.com/wjw-blog/p/13745271.html
Copyright © 2011-2022 走看看