xcode常见报错调试【原创】

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

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

 

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

 

定位是要一直持续的,而咱们新建这个类,若是不设置成,staic静态变量,他就会自动销毁,对象销毁之后确定不会定位了。数组

 

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

这个问题出现的缘由确定不是ios8系统的问题,由于其余app都好的,为何你的APP就有问题,确定是你加代码的时候什么地方写错了。安全

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

 

使用cateogry若是调用不了类目里的方法session

 

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

 

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

 

数据源数组采用懒加载,另外记得给数组赋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便可。

相关文章
相关标签/搜索