MG--错误总结(不定时更新)

作者: Mg明明就是你 | 来源:发表于2016-12-27 16:57 被阅读275次

总结自己在开发过程中遇到的BUG


第1和第2个错误
第3个错误
第4个错误 第5个错误
第6个错误
第7个错误
第8个错误
第9个错误 第10个错误


第11个错误

![第12个错误]](http:https://img.haomeiwen.com/i1429890/b982f103cc502475.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

第十三个错误:

第十三个错误
  • 错误描述:控制器不能加载到UITableView
  • 解决方法:storyBoard的控制器与写代码的控制器不对应,改为对应的控制器即可。。

第十四个错误:iOS9 https协议

第十四个错误
  • 原因:从iOS9起,新特性要求App访问网络请求,要采用 HTTPS 协议。
  • 解决方法:如果仍想要使用HTTP协议,解决办法如下:
    • 1,在Info.plist中添加 NSAppTransportSecurity 类型 Dictionary ;
    • 2,在 NSAppTransportSecurity 下添加 NSAllowsArbitraryLoads 类型Boolean ,值设为 YES
原因

第十五个错误:(直接拖入动画框架POP的错误)

第十五个错误
  • 第十六个错误:网络请求出错


    第十六个错误
    • 解决方法

第十七个错误:NAN的错误

第十七个错误
  • 解决方法

第十八个错误:未定义的错误

第十八个错误
  • 原因:没有定义某个属性或者类
  • 解决方法:找到这个东西,定义一下即可

第十九个错误:bitcode的错误

第十九个错误:bitcode的错误
  • 原因:得到的信息是引入的一个第三方库不包含bitcode。

  • 解决方法:要么让第三方库支持,要么关闭target的bitcode选项。如果这个库不支持bitcode,暂时只能设置ENABLE_BITCODE为NO。
    ![Upload Snip20160601_24.png failed. Please try again.]

  • 补充:理解Bitcode:一种中间代码。实际上,在Xcode 7中,我们新建一个iOS程序时,bitcode选项默认是设置为YES的。我们可以在”Build Settings”->”Enable Bitcode”选项中看到这个设置。


    Snip20160601_25.png

第二十个错误:真机调试下静态库架构问题

第二十个错误:真机调试下静态库架构问题
Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_WKWebView", referenced from:
      objc-class-ref in BSWebViewController.o
ld: symbol(s) not found for architecture x86_64
Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_BSWebViewController", referenced from:
      objc-class-ref in BSMeController.o
ld: symbol(s) not found for architecture x86_64
解决真机调试下静态库架构问题


第二十一个错误:使用FMDB遇到的错误(SWift)

Snip20160601_28.png
  • 原因:类型的表达式是不明确的,没有更多的上下文
  • ✅解决方法:找到这个东西,让它类型明确即可


    解决方法.png

第二十二个错误:设置状态栏出现的警告错误

  • 第二十二个错误:设置状态栏出现的警告错误
  • ❎错误描述:CGContextSaveGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
  • 原因:View controller-based status bar appearance设置为NO
  • ✅解决方法:修改方式将View controller-based status bar -appearance设置为YES,然后使用新的方式来实现状态栏的样式。
- (UIStatusBarStyle)preferredStatusBarStyle;
- (UIViewController *)childViewControllerForStatusBarStyle;
- (void)setNeedsStatusBarAppearanceUpdate


第二十三个错误:莫名错误--静态库不支持某种架构

  • ❎错误:


    错误描述
  • ✅解决


    解决

第二十四个错误:莫名错误--duplicate symbols for architecture x86_64(重复编译)

第一种情况:在工程中重复导入了某一个类或文件,这一般出现在你添加第三方库的时候比较多,在不知道的情况下又导入了一次相同的类。
第二种情况:工程中在#import引入头文件的时候,将#import "XXX.h" 写成了#import "XXX.m"。错误的引入.m头文件 ```


第二十五个错误:(友盟分享)_rkl_NSExceptionForRegex in MOBFoundation

  • ❎错误描述:
Undefined symbols for architecture x86_64:
  "_u_errorName", referenced from:
      _rkl_NSExceptionForRegex in MOBFoundation
      _rkl_userInfoDictionary in MOBFoundation
      _cm_rkl_NSExceptionForRegex in AGCommon
      _cm_rkl_userInfoDictionary in AGCommon
  "_u_strlen", referenced from:
      _rkl_userInfoDictionary in MOBFoundation
      _cm_rkl_userInfoDictionary in AGCommon
  "_uregex_setText", referenced from:
      -[MOBFRKLBlockEnumerationHelper initWithRegex:options:string:range:error:] in MOBFoundation
      _rkl_performRegexOp in MOBFoundation
      _rkl_clearCachedRegexSetTo in MOBFoundation
      -[CMRKLBlockEnumerationHelper initWithRegex:options:string:range:error:] in AGCommon
      _cm_rkl_performRegexOp in AGCommon
      _cm_rkl_clearCachedRegexSetTo in AGCommon
  "_uregex_start", referenced from:
      _rkl_performRegexOp in MOBFoundation
      _rkl_findRanges in MOBFoundation
      _rkl_search in MOBFoundation
      _cm_rkl_performRegexOp in AGCommon
      _cm_rkl_findRanges in AGCommon
      _cm_rkl_search in AGCommon
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
  • ✅解决(other link)-licucore


    Xcode设置
  • 小结:
    • 可能会遇到这几种错误:
Undefined symbols for architecture armv7
Undefined symbols for architecture armv7s
Undefined symbols for architecture arm64
Undefined symbols for architecture i386
Undefined symbols for architecture x86_64
  • 检查静态库的CPU架构支持命令:
    lipo -info xxxxx.a
  • 找出不支持arm64的静态库
    find . -name *.a -exec lipo -info "{}"

第二十六个错误:Xcode8运行报错--签名必须加入某个team

  • ❎错误描述
    • Xcode8运行报错.png
  • ✅解决
    • 解决.png

第二十七个错误:Swift3.0归档报错--需要强引用

  • ❎错误描述
    • 归档.png
  • ✅解决
    • 删除[weak self]即可

第二十八个错误:使用第三方框架PopoverSwift报错--需要约束

  • ❎错误描述
    • 使用第三方框架PopoverSwift报错.png
  • ✅解决
    • 将按钮加入某个View即可,反正得让按钮有父控件

第二十九个错误: Swift3.0使用NSUserDefaults存储Bool类型

  • ❎错误描述
    • [NSUserDefaults setObject:forKey:]: attempt to insert non-property list object
      NSUserDefaults存储.png
  • ✅解决
    • 首先, 认为这种错误的原因是插入了不识别的数据类型,NSUserDefaults支持的数据类型有NSString、 NSNumber、NSDate、 NSArray、NSDictionary、BOOL、NSInteger、NSFloat等系统定义的数据类型。
      然而并不是这样,我在取值之前先要存储一下该Bool类型,代码展示
SaveTools.mg_SaveToLocal(value: isAddMoveAnimation, key: "isAddMoveAnimation")  // 就是这句代码,先要存储一下该Bool类型
isAddMoveAnimation = SaveTools.mg_getLocalData(key: "isAddMoveAnimation") as! Bool
titleLabel?.text = titleStr ?? "其他工作"
if isAddMoveAnimation == false {
        self.addMoveAnimation(label: titleLabel!)
        isAddMoveAnimation = true
        SaveTools.mg_SaveToLocal(value: isAddMoveAnimation, key: "isAddMoveAnimation")
}

第三十个错误: Swift3.0使用导航栏给item添加约束报错

  • ❎错误
    • 描述:当给导航栏的左边Item或右边Item以及title自定义控件,并且自定义按钮添加了约束,点击push其他控制器就会报错。。。 (如下错误)
  • ✅解决:删掉约束,使用frame
    • 解决方法



  • 第三十一个错误: 真机使用KVO报错

    • ❎错误
      Terminating app due to uncaught exception 'NSRangeException', reason: '
      <chart2.HomeVC 0x17d148c0> for the key path "frame" from
      <chart2.HomeVC 0x17d148c0> because it is not registered as an observer.'
      First throw call stack: 内存泄漏
      (0x297a3137 0x37833c77 0x297a307d 0x2a43fcc9 0x2a43f6db 0x103f2c 0x1040dc 0x3784e1a9 0x296b2729 0x2cdd2fb9 0x2976926d 0x29766951 0x29766d53 0x296b29a1 0x296b27b3 0x30e8b1a9 0x2ce3d695 0x157054 0x37ddbaaf)
    • 错误.png
  • ✅解决:找到对应的监听者,之前移除的是self.removeObserver(self, forKeyPath: "frame"),报错。所以不要移除错了
  • 找到对应的监听者,不要移除错了,否则就会报错

第三十二个错误: 项目一段时间没用,莫名报错

  • ❎错误
    clang: error: no such file or directory: '/Users/ZBKF001/Desktop/工作目录/Chart/Chart/LMReport/NSIndexPath+LMReport.m' clang: error: no input files
  • ✅解决:莫名其妙的错误 clear 强退XCode 删除缓存

  • 第三十三个错误:设置导航栏全局属性的BUG

  • ❌错误

    • 代码展示错误.png
  • 错误描述:reason: '-[_SwiftValue pointSize]: unrecognized selector sent to instance 0x600000442550'

    错误描述.png
  • ✅解决:仔细看注释掉的代码和新增的代码

    • 我了个去,这也算是个BUG

第三十四个错误:Swift导入编译文件两次的错误

  • ❌错误
    • 错误描述
    • 错误描述:reason: “filename xxx Used twice”
  • ✅解决:在Build Phases -> Compile Sources 删除其中一个编译的文件即可
    • 删除其中一个编译的文件

第三十五个错误:证书真机安装安装失败

  • ❌错误


    证书真机安装安装失败.png
  • ✅解决:在项目下Edit Scheme -> Run -> build Configuration 不小心调成release模式了 改回来Debug就行了.


    改回来Debug.png

第三十六个错误:打包上传失败

  • ❌错误:因为没有在iTunes connect 构建版本,那些ID和套装ID未填写,就打包上传,报此错误


    因为没有在iTunes connect 构建版本,那些ID和套装ID未填写,就打包上传.png
  • ✅解决:在iTunes connect 构建版本就行了.然后再上传就ok了.

第三十七个错误:Modal错误

  • ❌错误:which is already presenting *
Warning: Attempt to present * on * which is already presenting *
Warning: Attempt to present (要被presented的控制器)  on (哪个控制器来presenting) which is already presenting (已经被presenting的控制器)
self: 是被presented出来的控制器,
self.presentingViewController: 看看是谁把self给presenting出来
RPLog(@"%@ - %@", self.presentingViewController, [UIApplication sharedApplication].keyWindow.rootViewController);
打印结果: <RPNavigationController: 0x789d0330> - <RPNavigationController: 0x789d0330>```
`ProductionReport[98607:30384979] Warning: Attempt to present <UIAlertController: 0x7f8d0ae431b0>  on <ProductionReport.QRCodeViewController: 0x7f8d0ac04af0> which is already presenting (null)`
- ✅解决:
  - 结论: poopver中的控制器, 其实是通过窗口的根控制器presenting出来的, 所以要想窗口的根控制器再presenting其他控制器,需要先dismiss掉原来presenting的控制器,

相关文章

  • MG--错误总结(不定时更新)

    总结自己在开发过程中遇到的BUG ![第12个错误]](http://upload-images.jianshu....

  • 遇到的问题汇总

    总结一些遇到的问题,不定时更新 1. Xcode编译错误: This application does not s...

  • Android书签总结完整版

    【Android书签总结完整版】(定时更新...) 如果你有好的链接,欢迎留言分享,作者会定时更新; 联系方式 C...

  • iOS知识总结备份-原创

    从业iOS以来,基本的一些知识点总结,尽量用自己的话通俗易懂的方式去解释,原创,不定时更新。有不完善或者错误的地方...

  • iOS定时器看我就够了

    这篇文章总结iOS开发中用到的全部和定时器相关的内容,用到某个定时器就会总结一下,所以持续更新中~ CADispl...

  • java错误集汇总,不定时更新

    *1 java.lang.ClassNotFoundException: Cannot find class 我遇...

  • 5. 邮件定时发送

    1.生活中的定时任务 定时推送,签到 QQ定时发说说邮件 蚂蚁森林定时产生能量。微信公众号不步数的更新 手机定时开...

  • 定时任务错误总结1

    Linux下定时脚本执行问题定时脚本(crontab)如果遇到设定后不生效的问题,排查问题思路如下:(1)查看脚本...

  • 常用技巧总结(不定时更新)

    打印所有视图的子视图 NSString判断特殊字符 去除tableView中分割线多余的15个像素 首先在view...

  • python错误总结(持续更新)

    一:win10,python2 终端pip install 时报错: UnicodeDecodeError: 'a...

网友评论

    本文标题:MG--错误总结(不定时更新)

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