美文网首页ios
常见错误[不定期更新]

常见错误[不定期更新]

作者: CoderZb | 来源:发表于2016-08-26 11:36 被阅读133次

    (一)利用AFN请求数据时的错误提示1:

    • xcode控制台出现的错误提示:
    "Request failed: unacceptable content-type: text/html"
    
    • 错误原因:AFNetworking 默认不支持text/html

    • 解决方法1.在作者源代码处添加 @"text/html" 。

    101.34.gif
    • 解决方法2(推荐).在自己的代码处加上这句代码:
     manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
    
    101.35.gif
    • 解决方法3.让后台人员在后台的php代码中加上这句代码
    header('Content-type: text/json');
    
    101.36.gif

    (二)利用AFN请求数据时的错误提示2:

    • xcode控制台出现的错误提示
    "Request failed: unacceptable content-type: text/json"
    
    • 错误原因:前台和后台都设置了内容类型,去掉其中一个就行。
    • 解决办法:
    101.38.gif

    (三)利用AFN请求数据,控制台输出的内容有乱码

    • 解决办法:
       // responseObject为json数据。这里将json数据先转为NSData,
        NSData *JsonToData = [NSJSONSerialization dataWithJSONObject:responseObject options:NSJSONWritingPrettyPrinted error:nil];
       // 再将NSData转为NSString
        NSString *DataToString = [[NSString alloc] initWithData:JsonToData encoding:NSUTF8StringEncoding];
        NSLog(@"%@", DataToString);
                
    
    
    
    • 截图演示
    101.37.gif

    (四)未初始化cell

    原代码

    -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
        static NSString  *ID = @"cell";
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
        cell.textLabel.text = self.dataSources[indexPath.row];
        
        return cell;
    }
    

    错误提示如下:

    Assertion failure in -[UITableView _configureCellForDisplay:forIndexPath:], 
    /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-
    3512.60.7/UITableView.m:7971
    
    
    • 错误原因:
    • 没有对cell 为nil的情况进行判断。如果为nil,就直接将数据显示到空的cell的就会发生这种情况
    • 解决办法:
    • 如果nil为空,就自己创建一个cell
    -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
        static NSString  *ID = @"cell";
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];// 从缓存池取出cell
        if(cell == nil){// 缓存池没有cell就自己创建一个cell
            cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:ID];
        }
        
        cell.textLabel.text = self.dataSources[indexPath.row];
        
        return cell;
    }
    

    (五)真机调试提示 An unknown error occurred.

    • 步骤1: /Users/zhangbin/Library/Developer/Xcode/DerivedData/下的文件全部删除
    • 步骤2:重启电脑即可

    (六)每次运行模型都会出现这个提示,每次必须clean项目才能运行

    9873A504A846DA8BDECC796AE2154CB6.jpg
    • 解决办法:重置模拟器,即恢复出厂设置

    (七)出现Assigning to 'id<UINavigationControllerDelegate,UIImagePickerControllerDelegate> _Nullable' from incompatible type 'ViewController *const __strong'这种警告

        UIImagePickerController *photoVC = [[UIImagePickerController alloc] init];
        photoVC.delegate = self;
        photoVC.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
        [self presentViewController:photoVC animated:YES completion:nil];
    
    提示警告.png

    错误原因:

    • 仅仅设置了UIImagePickerControllerDelegate协议头,但没有设置UINavigationControllerDelegate协议头

    解决办法:

    • 添加UINavigationControllerDelegate协议头即可

    <八>出现duplicate symbol OBJC_IVAR$_AS_ZBGrabDetailTableViewTwoCell._words in:

    引用错误.png
    • 错误原因:引用文件错误。将.h的文件写成了.m
    引用错误的地方.png

    还有一种情况就是项目中有重复的文件。


    ios真机调试错误 Reason: no suitable image found. Did find

    • 该问题解决方法参考这篇文章解决方法
    • 具体解决办法:把手机上相应的APP删除,删除后,xcode clean下,然后重新运行,是不是成功了!
    • 原因是:因为你的证书在上一次安装到现在安装失败这段时间里证书肯定被重置过,那么两次的签名就不一样了,而你的Bundle identifier ID又是同一个,所以你这次安装会失败。

    指针类型不匹配

    指针类型不匹配.png
    • 解决办法:把nsinteger前面的*去掉即可


      image.png

    修改不可变数组中的值

    • 解决办法:将出现问题的不可变数组,变为可变数组


      image.png

    no such file or directory: '/Users/zhangbin/Desktop/一秒招聘/aSecondjobProject/AS_ZBEmployerOrderEmployerListModel.m'

    image.png
    • 解决办法:在如图的搜索框中,搜索错误的类,一个是没有任何信息的类,一个是有全路径的类,将后者删除即可。链接
      Snip20170630_123.png

    [__NSCFNumber length]: unrecognized selector sent to instance 0x类似这个链接的错误

    • 错误原因:将NSNumber类型的数据赋值给了NSString类型的。例如:这个NSNumber数据是写入到沙盒的plist文件中的,你从plist文件取出来却用NSString类型的接收,就会造成这个问题。
    • 解决办法:将沙盒plist文件中的NSNumber改为NSString类型。或者直接写在APP重装APP,这样沙盒的数据就没有额。

    文件引用错误

    image.png
    • 原因:AS_ZBCommonVC.m文件有问题。我遇到的问题是将其他某个文件的.m的全部代码复制到了AS_ZBCommonVC.m文件中。@implementation后面跟着的类名并没有和当前类(AS_ZBCommonVC)保持一致。@interface后面跟着的类名也没有和当前类(AS_ZBCommonVC)保持一致。
    • 解决办法:将@implementation和@interface后面跟着的类名改为AS_ZBCommonVC,并且导入AS_ZBCommonVC类库即可,移除没有更改的类库。

    报NSScanner: nil string argument错误

    image.png

    declaration of 'Method' must be imported from module 'ObjectiveC.runtime' before it is required

    解决办法:在报错的文件中添加头文件导入头文件 #import<objc/runtime.h>


    -fembed-bitcode is not supported on versions of iOS prior to 6.0

    image.png
    解决办法:
    将enable_bitcode的值改为NO即可。 我的这篇文章也有写过
    image.png

    Compiling IB documents for earlier than iOS 7 is no longer supported.

    Snip20180626_15.png
    • 解决办法:


      image.png

    相关文章

      网友评论

        本文标题:常见错误[不定期更新]

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