zoukankan      html  css  js  c++  java
  • xcode常见报错调试【原创】

     BMKGeoCodeSearch 反向地理编码一直失败 Location

     申请的key的安全码与代码中build id不一样,修改成一样就OK了

     

    新建一个类,将百度地图的定位功能封装起来以后,定位的代理方法不走

     

    定位是要一直持续的,而我们新建这个类,如果不设置成,staic静态变量,他就会自动销毁,对象销毁以后肯定不会定位了。

     

    ios8系统 点击设置隐私定位功能直接崩溃的问题

    这个问题出现的原因肯定不是ios8系统的问题,因为其他app都好的,为什么你的APP就有问题,肯定是你加代码的时候什么地方写错了。

    我对照代码找了好几遍,终于发现有个地方和别人的不一样,那就是设置plist文件变量的时候Type类型BOOl应该是String。估计苹果是通过字符串对比来判断的,所以BOOl类型就直接崩溃了。

     

    使用cateogry如果调用不了类目里的方法

     

    需要在被扩展的类的.m文件中,导入你所扩展的类,在类目中不能声明变量

     

    弹出不同步 同一时间下来上拉刷新两次,有时数据源数组会是空造成奔溃

     

    数据源数组采用懒加载,另外记得给数组赋nil,最好这样做。

     

    输入框与键盘的弹出不同步

     

    这表明监听键盘错误,应该监听的是键盘将要显示的通知,而不是键盘显示出以后的通知

     

    问题 -[UITableView _configureCellForDisplay:forIndexPath:]

    解答  因为- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 这个函数的返回值中有nil

     

    问题   Xcode 工程文件打不开,cannot be opened because the project file cannot be parsed. (代码更新时,可能有这种情况)

    解答   这是因为.xcodeproj工程文件冲突了 

    冲突消息信息

    <<<<<<< .mine 9ADAAC6A15DCEF6A0019ACA8 .... in Resources */, ======= 52FD7F3D15DCEAEF009E9322 ... in Resources */, >>>>>>> .r269

     

    解决方法: 1.对.xcodeproj 文件右键,显示包内容

     

             2.双击打开 project.pbxproj 文件

     

             3.找到以上类似的冲突信息(可以用commad + f 搜索)

      

             4.删除 <<<<<<<,======,>>>>>>这些行

     

             5.保存,退出

      

             6.重新打开.xcodeproj文件即可

     

    问题 使用arc编写的文件,如何不用删release

     

    解答 在build phases 的complies sources设置中将相应的文件设置为-fno-objc-arc

     

    问题:libxml/tree.h file not found解决办法

     

    解答:1.  导入libxml2.dylib 包

     

          2.设置Header Search Paths 为 /usr/include/libxml2 如图:

              

    问题:__dns_free_resource_r_dns_free环信SDK集成EaseMobSDK

    "_dns_free_resource_record", referenced from: -[XMPPSRVResolver processRecord:length:] in libEaseMobClientSDKLite.a(XMPPSRVResolver.o)

     这样的错误,是由于缺少库:

    添加libresolv.dylib库,就可以了

     

    使用上拉下拉刷新方法时,如果跳出该界面接记得释放上拉下拉刷新类(老版本的MJRefresh)

    不能在viewdidload中跳转控制器

     

    问题:AFNetworking请求中含中文时程序崩溃

    AFHTTPRequestOperationManager * manager = [AFHTTPRequestOperationManager manager];[manager GET:urlString parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {//} failure:^(AFHTTPRequestOperation *operation, NSError *error) {//}];

    出现error:

    Assertion failure in -[AFHTTPRequestSerializer requestWithMethod:URLString:parameters:error:]

    需要处理urlString的编码

     urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

     

    彻底解决_OBJC_CLASS_$_某文件名", referenced from:问题

    http://www.cnblogs.com/g-ios/p/4625907.html 

     

    Receiver type 'TableViewCellFrame' for instance message is a forward declaration

    这往往是引用的问题。ARC要求完整的前向引用,也就是说在MRC时代可能只需要在.h中申明@class就可以,但是在ARC中如果调用某个子类中未覆盖的父类中的方法的话,必须对父类.h引用,否则无法编译。

     

     

    程序发布后,发现一个bug,需要在自己手机调试时,出现:a valid provisioning profile for this executable was not found错误.

     

    原来是因为发布的时候把schema里的"Build Configuration"改成了release。而release对应的provision是用发布证书的。把"Build Configuration"改成了debug就好了。

    because the App Transport Security policy requires the use of a secure connection

     

     

     

    今天升级Xcode 7.0 bata发现网络访问失败。

    输出错误信息

     

    The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.

    Google后查证,iOS9引入了新特性App Transport Security (ATS)。详情:App Transport Security (ATS)

     

    新特性要求App内访问的网络必须使用HTTPS协议。

    但是现在公司的项目使用的是HTTP协议,使用私有加密方式保证数据安全。现在也不能马上改成HTTPS协议传输。

     

    最终找到以下解决办法:

     

    在Info.plist中添加NSAppTransportSecurity类型Dictionary。

    在NSAppTransportSecurity下添加NSAllowsArbitraryLoads类型Boolean,值设为YES

    参考:

     

    App Transport Security support aka apps on iOS 9 don't work #4560

    711_networking_with_nsurlsession.pdf

    总结:

     

    苹果正在加大应用安全的管控,这个举措可以看出苹果对信息安全的重视,也暴露出大部分应用传输数据时都是未经过加密的,或使用私有方式加密,以至于苹果开始对开发者提出要求。

    私有加密虽然一定程度上是安全的,但是终究不是一个长久之计。全世界这么多安全专家在维护HTTPS安全,早日使用HTTPS确保信息安全才是王道!也省去了私有加密协议的安全隐患!

     

     

    当更新xcode后,再次打开svn他将提示xcode/develop不存在,并且让你用xcode-select切换成你当前使用的xcode。

     

    如下: sudo xcode-select -switch /Applications/Xcode-beta.app/

     

    这里的路径是最容易出错的,我当时就被他弄迷了 搞了好长时间  记录这个是硬盘下的application并不是用户里的application,还有就是文件名,尽量让他自己提示出来,避免出错

     

     

    error: Couldn't materialize: couldn't get the value of variable result: variable not available

    Errored out in Execute, couldn't PrepareToExecuteJITExpression 这种报错更直观的表现是,一句代码一执行,所创建的对象将会立马变成空,但不影响使用

     

     

     

     

     

     

     

     

     

     

     

     

     

    coredata  Can't merge models with two different entities named ‘MessageModel'

     

    这种错误是因为工程内部自动生成了一个.xcdatamodeld文件,解决办法就是 将该文件删除,clean,然后将软件从测试机或真机中删除,再运行

     

    uitableView 不走datasource方法

     

    代理没挂     行数或者段数设置为0    uitableview的frame为0 

     

     

     

    Phone开发】“此证书是由未知颁发机构签名”解决方法

     

    问题原因:

    之前在keychain(钥匙窜访问)中多删了一个证书:Apple Woldwide Developer Relations Certification Authority,它是iPhone Developer证书的签发者,如果它被删除就会导致iPhone Developer证书被识别为未知颁发机构签名,然后xcode中真机调试就会出现上面的错误。

     

    解决办法:

    重新把AppleWWDRCA放回去;从Apple官网(http://www.apple.com/certificateauthority/)下载一个,下载后拖入keychain(钥匙窜访问)-登录目录。

     

    如果想重新生成证书,Apple是允许的,只要不修改App Id就Ok。

     

    Code Sign error: No code signing identities found: No valid signing identities (i.e. certificate and private key pair) matching the team ID “E9823ESPAM” were found.

    证书出现这种问题时第一反应不要认为是证书除了问题,要查看target里的CDL与CDLtest里面是否设置了一样的配置文件。

     

    A valid provisioning profile for this executable was not found.  真机调试

    自从XCode支持自动维护证书之后,省去了我们手动添加设备再更新完证书之后下载的麻烦,但一直都没有搞明白自动维护的机制,导致经常出现XCode报错却不自动添加设备,同时由于证书是XCode创建的,又无法手动修改的问题。经过一段时间的测试,终于找到了解决办法,在这里分享给大家。

     

    正常的情况应该是:

    no provisioning profile was found for this executable

    然后可以选择Fix Issue,这样XCode就会自动为我们将新的设备添加到证书里,再自动更新证书。可能遇到的错误如下:

    A valid provisioning profile for this executable was not found

    解决方法是

    1. 在Target的General界面中将Team改为所对应的开发者账号团队

    2. 在Target的Build Settings中的Code Signing Identity都改为iOS Developer(这里不能选择自己的),Provisioning Profile改为Automatic

    3. 此时Clean之后再运行,就可以出现Fix Issue的对话框,选择Fix Issue即可。

     

     

     

  • 相关阅读:
    js中的原生Ajax和JQuery中的Ajax
    this的用法
    static的特性
    时政20180807
    java compiler没有1.8怎么办
    Description Resource Path Location Type Java compiler level does not match the version of the installed Java project facet Unknown Faceted Project Problem (Java Version Mismatch)
    分词器
    [数算]有一个工程甲、乙、丙单独做,分别要48天、72天、96天完成
    一点感想
    解析Excel文件 Apache POI框架使用
  • 原文地址:https://www.cnblogs.com/g-ios/p/4625912.html
Copyright © 2011-2022 走看看