昨天在做iOS6的兼容時出現了這個問題,只要設置下手機就可以消除這個Log了。今天在次遇到了這個問題,設置後也不起作用,還有其它的錯誤提示:"-[NSConcreteData initWithBase64EncodedString:options:]: unrecognized selector sent to instance ",在次根據這個提示在代碼中找到了initWithBase64EncodedString:options這個,看了下api 這個方法是在iOS7才出現的,在iOS6中是不起作用的,最後修改了下代碼就沒有這個提示了。代碼如下:
//這裡要做ios6的兼容 NSData *certData; if ([NSData instancesRespondToSelector:@selector(initWithBase64EncodedString:options:)]) { certData = [[NSData alloc] initWithBase64EncodedString:certString options:0]; }else{ certData = [[NSData alloc] initWithBase64Encoding:certString]; }
這種問題都是iOS緩存的問題,如果光是提示“ADDRESPONSE - ADDING TO MEMORY ONLY:”的話可以不用處理。如果還有其它的提示就要來相應處理下了。
參考:http://www.itstrike.cn/question/297e76c6-2d45-4b5b-9df3-1e4f7d200d88.htmlhttp://stackoverflow.com/questions/21392190/base64encodedstringwithoptions-crashing-on-sentest
http://blog.csdn.net/ayuapp/article/details/11989195
http://stackoverflow.com/questions/11300044/on-ios-where-is-the-nsurlcache-cache-stored-if-diskpathnil?lq=1