Xcode升级后,常常遇到的遇到的警告、错误,解决⽅法
从sdk3.2.5升级到sdk 7.1中间废弃了很多的⽅法,还有⼀些逻辑关系更加严谨了。
1,警告:“xoxoxoxo” is deprecated
解决办法:查看xoxoxoxo的这个⽅法的⽂档,替换掉这个⽅法即可。
2,警告:Declaration of "struct sockaddr" will not be visible outside of this function
解决办法:在你的开源.m⽂件中添加 #import <netinet/in.h>
3,警告:Implicit conversion from enumeration type 'UIInterfaceOrientation' to different enumeration type 'UIDeviceOrientation'
解决办法:类型不匹配。跳到出错的那⼀⾏,UIInterfaceOrientation强制转换为UIDeviceOrientation就⾏了。
4,警告:incompatible pointer types assigning to 'MyArrayList*'from 'NSMutableArray'
解决办法:加⼊强制转换(MyArrayList*)
5,警告:'&&' within '||'
问题出处:
if (exists && !isDirectory || !exists)………
解决办法: if ((exists && !isDirectory) || !exists)………
6,警告:Warning:The Copy Bundle Resources build phase contains this target's Info.plist file
解决办法:将Info.plist⽂件移到Resources⽬录下,⽽不要直接放在target下。
7,警告:在使⽤ASIHttp…第三⽅库的,运⾏报错。
解决办法:看你的项⽬中是否添加CFNetwork.framework、SystemConfiguration.framework, MobileCoreServices.framework, CoreGraphics.framework和libz.1.2.3.dylib,如果是sdk5.0以上,改添加libz.1.2.5.dylib
8,警告:xxxooo,missing required architecture i386 in file 解决办法:如果是错误信息的话:Target->Build Settings->Search Paths, 删除FrameworkSearch Paths ⾥⾯内容就可以了。要只是⼀个警告的话,
真机调试可以过。具体解决⽅法待⼤神出现。 9,警告:clang: error: no such file or directory: '/demo2/控件代码/13/Recorder/Recorder_Prefix.pch'clang: error: no input filesCommand
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang failed with exit code 1
解决办法:在你的主⼯程⽂件 target搜素,pch ,到Prefix Header 把它后⾯的值,都删除,再运⾏就解决了。
10,警告:“ARC forbids synthesizing a property of an Objective-C object with unspecified ownership or storage attribute
解决办法:如果定义了ARC有效,那么必须要有所有者属性的定义;所以代码改成下⾯这样
@property (nonatomic, strong, readonly) NSString *ss;
11,警告:io6⼀下的xib系统均没有⾃动选择Use Autolayout, Supporting iOS 5 and below with xib of iOS 6
解决办法:Just un-select “Use Autolayout” in the file inspector of the xib’s view and we are back to the familiar autosizing in size inspector and boom, it supports iOS 5 and below.
12,警告:Warning: Multiple build commands for output file xxx.png
解决办法:到项⽬⾥xxx.png重复,删除重复的资源。
//以下是升级到 xcode 5.0.1 之后使⽤遇到的警告
13,警告: “iOS 模拟器”未能安装此应⽤程序。
解决办法:删除模拟器上当前要运⾏那个APP,重新运⾏项⽬。就ok
14,警告:SpringBoard⽆法启动应⽤程序错误:-3
解决办法:退出模拟器,重新运⾏这个项⽬。
15,警告:The server certificate failed to verify.
解决办法:
1、打开终端(实⽤⼯具 -->终端),在终端中输⼊如下命令:
svn ls /svn/xxxxxx(注意下⾯的url更换成你⾃⼰的url地址)
spring framework表达式assign
然后直接输⼊ “ p ” 确认,就可以重新连接了。
16,警告:Bitmasking for introspection of Objective-C object pointers is strongly discouraged.
解决办法:
某数字& 0x1的时候是代表要取最低位是否为1,改成了 if(JK_EXPECT_F(((NSUInteger)object)%2))即可。
17,警告:Implicit conversion loses integer precision: 'unsigned long' to 'CC_LONG' (aka 'unsigned int').
解决办法:
CC_MD5(str,strlen(str), r);,改成了 CC_MD5(str, (CC_LONG)strlen(str), r);即可。
18,警告:error: failed to launch '/private/var/mobile/Applications/xxxxx' -- failed to get the task for process 11140.
解决办法:
重启你的开发⼿机即可,还有⼀种可能是你的开发者证书与发布证书搞错了,检查在xcode中证书是否⼀直。
19,警告:error: ignoring filxxxxxx/libBaiduMobStat.a, missing required architecture x86_64 in filexxxx/libBaiduMobStat.a 解决办法:
targets ->build setting 下的 architectures 设置为 standard architetures(armv7,armv7s) vaild architectures 设置为armv7,armv7s。20,警告:error: Directory not found for option '-L/Users/joryoubonxx/BaiduStatistic
解决办法:
删除 targets ->build setting 下的 library search path不正确的地址,如果还不⾏,重新添加第三库、clean ,重启Xcode.即可。
21,警告:error: The executable was signed with invalid entitlements.
解决办法:
重新导⼊最新的证书即可
1,错误信息:
"_OBJC_CLASS_$ xxxxx ", referenced from:
objc-class-ref in ViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
解决⽅法:
查看⼯程,看是不是没有导⼊相关的框架。或者⼯程⾥添加的有相同".m",".h" ⽂件
2,错误信息:Couldn't register dy.CKRiLiText with the bootstrap server. Error: unknown error code.
This generally means that another instance of this process was already running or is hung in the debugger.Current language: auto; currently objective-c
解决⽅法:可能是电脑内存问题引起,重启电脑即可解决。如果重启解决不了问题,那就是你刚刚改动的代码引起的问题。
3 、错误信息:ios 5是调试正常的,ios 6真机调试的时候,出现如下错误:ld: file is universal (3 slices) but does not contain a(n) armv7s slice: /Users/mac4/Desktop/my desktop/My app/MyApp name 20:09:12 /MyApp name/ZBarSDK/libzbar.a for architecture
armv7serror: linker command failed with exit code 1 (use -v to see invocation)解决⽅法:在Xcode⾥,点击相应的Target,然后点Build Settings,到VALID_ARCHS,看⾥⾯的是不是arvm7s,如果不是改成arvm7s就可以了。
4 、错误信息: error: receiver type 'ViewController' for instance message does not declare a method with selector 'hideSearchBar:' [4]ViewController 中没有声明⼀个⽅法选择'hideSearchBar:
解决⽅法:
在ViewController .h 中声明⼀下这个⽅法 “ hideSearchBar ” 即可。
5、错误信息:当json从服务端请求时得到的字符串,如果这样写的话,会报错,';' after top level declaratorNSString *ss= @" {"recommend":"世界末⽇","dogname":"机器⼈"}"; 解决⽅法:就是,把 “ 替换成 \" 即可。NSString *ss= @"{ \"recommend \": \"世界末
⽇ \", \"dogname \": \"机器⼈ \"}";
6 、错误信息: error: Existing instance variable '_datasource' for property 'datasource' with assign attribute must be __unsafe_unretained 解决⽅法:
id<ListViewDataSource> _datasource; 改为 __unsafe_unretained id<ListViewDataSource> _datasource:即可
7 、错误信息:error: No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=i386).
解决⽅法:
targets ->build setting 下的 Build Active Architecture Only 设置 NO 即可.
8 、错误信息:error: failed to launch"/private/var/mobile/Applications/XX"-- timed out waiting for app to launch .
解决⽅法:
targets ->build setting 下的把证书选择为对应正确的开发证书即可.
31,警告:
warning: Semantic Issue: Incompatible integer to pointer conversion assigning to 'BOOL *' (aka 'signed char *') from 'BOOL' (aka 'signed char')
解决办法:检查 BOOL *换为BOOL就可以了,检查是不是多写⼀个*号。
32:Jsonkit中的警告
Direct access to objective-c's isa is deprecated in favor of object_setClass() and object_getClass()
object->isa 替换为 object_getClass(object)
keyObject->isa 替换为 object_getClass(keyObject)
(id)keys[idx]->isa 替换为 object_getClass((id)keys[idx])
format specifies type 'unsigned long' but the argument has type 'nsuinteger' (aka 'unsigned int')
给变量增加(unsigned long)进⾏类型转换
33:md5加密(iOS SDK中⾃带了CommonCrypto
Implicit declaration of function 'CC_MD5' is invalid in C99
[plain] view plaincopy
#define CC_MD5_DIGEST_LENGTH 16
+(NSString *)MD5HashForString:(NSString *)input {
const char *cStr = [input UTF8String];
unsigned char result[CC_MD5_DIGEST_LENGTH];
CC_MD5(cStr, strlen(cStr), result);
return [NSString stringWithFormat: @"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", result[0], result[1], result[2], result[3],
result[4], result[5], result[6], result[7],
result[8], result[9], result[10], result[11],
result[12], result[13], result[14], result[15]];
}
引⼊函数定义的头⽂件
#import <CommonCrypto/CommonDigest.h>
34:ASIDataDecompressor中的警告
format specifies type 'short' but the argument has type 'int'
在+ (NSError *)deflateErrorWithCode:(int)code 和 +(NSError *)inflateErrorWithCode:(int)code中
[NSString stringWithFormat:@"Compression of data failed with code %hi",code] 中
将code改为 (short)code,类型转换
35:Reachability中警告
Using 'stringWithString:' with a literal is redundant
statusString = [NSString stringWithString: @"Not Reachable"];
改为:statusString = @"Not Reachable";
36.format specifies type 'id' but the argument has type 'const char *'
NSCAssert(NO, @"Unhandled error encountered during SAX parse. msg is %@", msg);
改为:NSCAssert(NO, @"Unhandled error encountered during SAX parse. msg is %@", [NSString stringWithUTF8String:msg]);
37Using 'stringWithString:' with a literal is redundant
改为: = @"captured change";
38 在项⽬中设置控件的layer属性时,会发⽣错误,
"Property 'c' cannot be found in forward class object 'CALayer *",
这时需要引⼊ #import <QuartzCore/CALayer.h>。
39 在项⽬中变量未初始化会报警告,
"Variable 'type' may be uninitialized when used here",
这时需要初始化相应的变量即可。
41,错误
Error launching remote program: failed to get the task for process
解决⽅法:
把真机上的软件,删除,然后,clean ⼀下,重新运⾏就可以了。
42,真机调试的时候,出现
这正常,但是不识别机器的。
解决⽅法:
把,
设置为以上相对应的版本就可以了。43,真机调试的时候,出现 ios Broken pipe
解决⽅法:
:推出xcode
:断开机器(iphone,ipad,ipod)链接
:重启iPhone在联接xcode,就可以了
iOS真机调试中出现identity(The identity 'iPhone Developer)证书不匹配的问题
提⽰(null) error: could not read CFBundleIdentifier from Info.plist (null)
。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论