您的位置:首页 > 移动开发 > IOS开发

iOS开发Bug汇总(持续更新)

2016-07-19 09:18 302 查看
1.LaunchScreen 放一个ImageView进去约束不要以间距为准要以控制器的View建立等宽登高固定位置的约束,要不会出现图片位移显示bug。如果遇到LaunchScreen不显示的问题时请删除LaunchScreen.StoryBoard文件并在Asset资源文件夹配置自己的LaunchScreen图片.

2.XIB文件中图片的在启动时怎么都不显示的问题(图片已经存在于资源目录文件下, 而且xib直观的显示出图片(这TMD是障眼法吗??!!!)),就其原因是由于图片使用了jpg的格式, 在运行时会报错 在该沙河目录下无法找到该图片,所以以源码方式直接打开xib文件,找到imageView描述image属性将图片(确保正确的图片)后缀名加
".jpg"就可以解决此问题。 问题的本质是,苹果默认推荐并支持的图片格式为png格式,而不是jpg格式,所以以后在使用图片无法加载的问题首先确认是否是图片的后缀名的问题。

3.编译程序时,出现:XX duplicate
symbols for architecture i386 的错误。

调试了很久,就是找不出来,因为没有错误提示。

从字面上说,是冲突了。到底那里冲突了呢?

后来才恍然大悟,一个项目中不可能有两个main入口吧。郁闷啊。删除不需要的那一个,ok了。

记录下来,希望大家不要走弯路。

还有一种,Undefined
symbols for architecture i386:

说明缺少某种框架,或者类。

根据提示进行添加某些框架或者类。

这两种情况一般在多个人进行开发,或者多个项目进行整合、复用代码拷贝的时候,往往出现这种问题。

4.数组嵌套数组下标越界后不给予正确的提示 libc++abi.dylib:
terminate_handler unexpectedly threw an exception 动态库链接出错,(这种情况下也有可能是出于把数组的不可变对象付给可变对象  进行了可变对象的操作)解决方法  仔细观察程序的取下标时候的代码(一定要认真),谨记这种错误
避免再次发生。


5.要将tableView的plan模式第一行header杭高设置为0,两个方法确保其行高为0

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section

{

   if (section == 0) {

       

       return 0.0001f;

   }

   return 12.0f;

}

此方法非常重要!!!

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{    return [[UIView alloc] init];}


6.duplicate symbol _bytesToAvaiUnit 编译链接报错(原因为  在俩个控制器界面定义了两个相同的C语言函数  错误会提示是那个符号或方法报错);

7.  状态栏一值保持一个颜色 要设置状态栏的颜色  要重写状态栏的方法  
或者在plist文件里添加  View controller-based status bar appearance == NO 默认是YES

8.今天项目中计算一个数(0/0)结果为NAN接下来时介绍  NaN 用于处理计算中出现的错误情况,

        比如 0.0 除以 0.0 或者求负数的平方根。由上面的表中可以看出,对于单精度浮点数,NaN 表示为指数为 emax + 1 = 128(指数域全为 1),且尾数域不等于零的浮点数。IEEE 标准没有要求具体的尾数域,所以
NaN 实际上不是一个,而是一族。不同的实现可以自由选择尾数域的值来表达 NaN,比如 Java 中的常量 Float.NaN 的浮点数可能表达为 01111111110000000000000000000000,其中尾数域的第一位为 1,其余均为
0(不计隐藏的一位),但这取决系统的硬件架构。Java 中甚至允许程序员自己构造具有特定位模式的 NaN 值(通过 Float.intBitsToFloat() 方法)。比如,程序员可以利用这种定制的 NaN 值中的特定位模式来表达某些诊断信息。

 

[cpp] view
plain copy

//可以用下面方法  
  
isnan(x) 
9.项目中出现一个数值计算的错误 除以一个分母为0的数然后数字就变成一个无穷的大的数但不会报错,再使用QuratzCore进行图形绘制时直接报错 和第八个错误类似  打印这个数会显示Inf表示无穷大。

12.友盟分享集成QQ的坑 必须设置为default要不没法分享网页信息

需额外注意分享QQ的所有信息 文字  如若出现问题就不会分享成网页版本

还需要注意 SocialData.shareImage 必须不为nil

13.类似
ld:library not found for -lxxx
这样子,可以尝试选中工程target里的"Link Binary With Libraries"里的静态库先"-" 再"+"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iOS Bug