Xcode升級到4.4後,出現了一堆的Warning.網上搜了一些辦法,總結一下。
1: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)進行類型轉換
2:md5加密(iOS SDK中自帶了CommonCrypto)
Implicit declaration of function 'CC_MD5' is invalid in C99
#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>
3: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,類型轉換
4:Reachability中警告
Using 'stringWithString:' with a literal is redundant
statusString = [NSString stringWithString: @"Not Reachable"]; 改爲:statusString = @"Not Reachable";