iOS开发可能会遇到的那些坑(下)

好久没更新简书,嘻嘻☺️,我胡汉三又肥来了~~~

废话不多说,直接进入正题,希望能帮到优雅的过坑!!!

1
local declaration “XXX”hide instance variable

reason:一般是你函数里面定义的变量和class属性变量重名了。很少有和系统变量重名的情况。 这样的情况,修改一下变量的名字就好。

2
Undefined symbols for architecture x86_64:

可能由于某些类库不支持64位Architecture造成,

可以在项目Build Setting-->Architecture设为非64位的选项

3、编译
warning:ld: warning: directory not foundfor option

选择工程, 编译的 (targets)

选择 Build Settings 菜单

查找 Library Search Paths 和 Framework Search Paths,删掉编译报warning的路径即OK

4
Undefined symbols for architecture armv7s: “_OBJC_CLASS_$_SZAdWebViewDelegate”, referenced from:xxxx

查找了半天,总以为缺少某个文件,后对比正常的sample发现问题出在armv7s,这是针对iPhone5 cpu优化的编译,可能你某个库不支持,解决方法是:

Build Setting->Build Active Architecture only 的值由NO设为YES,查了一下这个选项的资料:
这个属性设置为yes,是为了debug的时候编译速度更快,它只编译当前的architecture版本。
而设置为no时,会编译所有的版本。

这个是设备对应的architecture:
armv6:iPhone 2G/3G,iPod1G/2G
armv7:iPhone 3GS/4/4s,iPod3G/4G,iPad1G/2G/3G
armv7s:iPhone5, iPod5

编译出的版本是向下兼容的(不太对,应该说,设备是向下兼容的),比如你设置此值为yes,用iphone4编译出来的是armv7版本的,iphone5也可以运行,但是armv6的设备就不能运行。

所以,一般debug的时候可以选择设置为yes,release的时候要改为no,以适应不同设备。

5
Xcode “Attaching to…” 卡住,模拟器停留在启动界面

解决方案:
网上有很多方法,什么Clean Build Folder,和各种删除projects、driveddata

试试 重启大法

6
error: macro names must be identifiers YourProject_prefix.pch

原因: 因为你弄脏了预处理器宏,在它处于<Multiple Values>的时候修改了它

解决方法: Configiration选择All Configirations,清空它 然后分别重新定义你的Debug,Release,Distributin预处理器宏吧

7
warning: no rule to process file '$(PROJECT_DIR)/LoadingView.h' of type sourcecode.c.h for architecture armv6

原因: Target里Compile Sources里含有头文件 了,那里面不需要头文件

解决方法: 从Target里Compile Sources里删除头文件

8、Command

原因: png图像文件拷贝失败,看看信息上面提示Can't find哪个文件,一般都是从文件系统里删除文件而没有通过Xcode删除造成的,Xcode的项目配置文件依然纪录着这个文件的引用

解决办法: 给文件系统里增加相应的文件,或者从Xcode的Groups & Files删除它,或者从Target的Copy Bundle Resources里删除它

9
Code Sign error: The identity 'iPhone Developer: Your Name' doesn't match any valid certificate/private key pair in the default keychain

原因: 签名错误

解决办法: Target -> Get Info -> Build -> Code Signing -> 修改签名
记得左上角的Configuration类型要跟当前Build类型对应(Debug, Release, Distribution),否则改了也白改

10
could not create bundle folder for versioned model *.moda(好像是这个后缀名的这个文件)

原因:编译一次会产生一个新的

解决办法:应该把编译产生出来的moda文件都删了,然后clean下工程,重新build即可

11
error:Cannot assign to 'self' outside of a method in the init family

原因:只能在init方法中给self赋值,Xcode判断是否为init方法规则:方法返回id,并且名字以init +大写字母开头+其他 为准则。例如:

- (id) initWithXXX;

出错代码:

- (id) Myinit{
 self = [super init];
 ……
}

解决方法:

- (id) initWithMy
{
 self = [super init];
}
12
iOS真机调试时,报错:failed to get the task for process 20900

原因:
证书问题,project和targets的证书都必须是开发证书,ADHOC的证书会出现此问题。

解决方案:
project和targets的证书使用开发证书。

13
当 一个socket正在连接,这时又一个新的socket建立链接,会抛出错误 “ Attempting to connect while connected or accepting connections. Disconnect first.”

原因:
第一个socket还没返回isConnected 为YES, 就建立第二个socket连接。

解决方案:


如图所示

****加上这两句代码 可释放使用完的asyncUdpSocket

14
tcp socket willDisconnectWithError:Error Domain=NSPOSIXErrorDomain Code=65

"The operation couldn’t be completed. No route to host"
No route to host (socket error ::10065)
产生此问题的原因:网络连接不上此服务器。

   解决:查看ip是否正确,查看调试设备网络连接是否正常。
15、报错:
CALayer bounds contains NaN:

绘图时,某个长宽值中包含除数为0的操作。

解决方案:在分母处加上不为零的判断,防止0出现在分母地方

16、报错:
libxml/tree.h not found    第三方库找不到的错误

解决方案:
步骤1:
工程-->PROJECT-->Build Settings
将“Header Search Paths”的值设置为<${SDK_DIR}/usr/include/libxml2>即可。

  步骤2:
  工程-->TARGETS-->Build Settings
  将“Header Search Paths”的值设置为<${SDK_DIR}/usr/include/libxml2>即可。
17、报错:
iOS Expected unqualified-id 和 Unkown type name 'NSString'

iOS使用到OC与C++混编的时候刚把C++的类拖入工程编译, NSObjCRuntime与NSZone就报错:
Expected unqualified-id Unkown type name ‘NSString’ Unkown type name ‘Protocol’

解决方案:
修改你的.pch(项目头文件) 将所有的import与define的代码全部放在#ifdef OBJC*****与#endif* 之间, 如下我将所有的define与import代码放入了一个.h头文件中, 然后在这中间导入头文件.

#ifdef __OBJC__

#import "xxxxxxxx.h"

#endif // OC的头文件

这是因为将C++拖入项目之后, 默认编译会先编译C++类, 编译之后导入OC的类的时候, 编译的场景是C++, 所以会出现unknown type的报错, 使用了#ifdef OBJC与#endif 之后, 就相当于说着中间的定义与导入时OC环境. 从而规避掉了报错

如果本文帮到了你,希望动手点一下👍,❤️,还可以➕关注,感谢~~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,470评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,393评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,577评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,176评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,189评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,155评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,041评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,903评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,319评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,539评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,703评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,417评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,013评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,664评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,818评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,711评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,601评论 2 353

推荐阅读更多精彩内容