美文网首页
iOS开发错误锦集

iOS开发错误锦集

作者: 小码码 | 来源:发表于2018-12-04 18:29 被阅读63次

    1 pod相关错误

    1.1 错误一:

    解决办法:

    pod deintegrate --verbose   // 移除相关的依赖
    
    pod install  // 重新安装
    

    2 xib相关错误

    2.1 错误一
    解决办法:

    builds for 选择为 iOS 7.0 and Later

    3 版本升级相关错误

    3.1 导航栏item不能点击的事件

    原先好好的能点击的Item,突然不能点了,最终发现竟然是尺寸的问题,虽然显示没啥问题.而尺寸的问题竟然是masony约束导致的.

    //    [messBtn mas_makeConstraints:^(MASConstraintMaker *make) {
    //        make.centerX.mas_equalTo(messageView.mas_centerX);
    //        make.centerY.mas_equalTo(messageView.mas_centerY);
    //    }];
    
    messBtn.center = CGPointMake(messageView.center.x, messageView.center.y);
    
    //        [redHot mas_makeConstraints:^(MASConstraintMaker *make) {
    //            make.left.mas_equalTo(messBtn.mas_right).with.offset(-4);
    //            make.bottom.mas_equalTo(messBtn.mas_top).with.offset(4);
    //            make.width.mas_equalTo(8);
    //            make.height.mas_equalTo(8);
    //        }];
    
    redHot.frame = CGRectMake(CGRectGetMaxX(messBtn.frame)-4, messBtn.frame.origin.y-4, 8, 8);
    

    将注释代码改成非注释代码,发现坑爹的问题解决了.貌似此坑是iOS11以后导航栏系统发生变化导致的.

    4 app发布过程的错误

    4.1 构建版本已经存在,不能upload
    解决办法:

    修改build版本后重新打包上传,不会影响appstore上的发布版本。


    备注说明:

    developer网站上显示的版本是Version,Build的版本专门用于修改、被拒后重提等同一版本重新打包上传时的场景。重新upload时,网站上的构建版本不能删除,只能添加版本号,通常是通过修改build的版本来实现。
    Version和Build的获取方式:

    NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
     
    // app版本
    NSString *app_Version = [infoDictionary objectForKey:@"CFBundleShortVersionString"];
     
    // app build版本
    NSString *app_build = [infoDictionary objectForKey:@"CFBundleVersion"];
    
    4.2 appIcon问题,不能upload
    问题一: 缺少1024的appIcon
    • 解决办法:
      往appIcon里面添加一张1024大小的png图片。但是又有新的问题出现:
    问题二:图片有透明度,要求的图片是一张没有透明度的png图片。
    • 解决办法:换一张1024的没有透明度的图片。
    • 备注:
      可以先将该png图片先导出为jpeg格式,因为jpeg格式没有透明度,然后将jpeg格式重新导出为png格式。用该png图片替换原先的png图片,错误即可解决。
    4.3 app审核被拒的问题
    问题一: 使用了prefs:root字符
    错误原因:

    iOS 8以前,去设置页面时会用到prefs:root字符,如下:

    NSURL *url = [NSURL URLWithString:@"prefs:root=Privacy"];
    
    解决办法:

    iOS8以后,出来了个新的用法:

    NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
     
    if ([[UIApplication sharedApplication] canOpenURL:url]) { 
           [[UIApplication sharedApplication] openURL:url]; 
    }
    

    现在一般都只适配8以后了,所以将上面的代码改成下面即可。

    问题二:缺少使用相机的理由描述

    解决办法:

    在info.plist里面把cameraDesciption对应的描述改一下就行。

    相关文章

      网友评论

          本文标题:iOS开发错误锦集

          本文链接:https://www.haomeiwen.com/subject/nrhmcqtx.html