Skip to content

Commit 33f0225

Browse files
authored
Merge pull request #347 from YangSen-qn/master
dns local cache
2 parents f969f57 + 56de508 commit 33f0225

File tree

13 files changed

+287
-283
lines changed

13 files changed

+287
-283
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
#Changelog
22

3+
## 7.4.3 (2020-07-27)
4+
## 优化
5+
优化Dns预取的缓存方案
6+
37
## 7.4.2 (2020-07-15)
48
## 修正
59
修改版本依赖:HappyDns -> 0.3.17

Qiniu.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = 'Qiniu'
3-
s.version = '7.4.2'
3+
s.version = '7.4.3'
44
s.summary = 'Qiniu Resource Storage SDK for iOS and Mac'
55
s.homepage = 'https://github.com/qiniu/objc-sdk'
66
s.social_media_url = 'http://weibo.com/qiniutek'

QiniuSDK.xcodeproj/project.pbxproj

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -38,17 +38,21 @@
3838
316A4B8824346364007BF564 /* QNTransactionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 316A4B8624346364007BF564 /* QNTransactionManager.h */; };
3939
316A4B8924346364007BF564 /* QNTransactionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 316A4B8724346364007BF564 /* QNTransactionManager.m */; };
4040
316A4B8A24346364007BF564 /* QNTransactionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 316A4B8724346364007BF564 /* QNTransactionManager.m */; };
41+
31A1840E246942E0001D6EEE /* QNComplexUploadSceneTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 31A1840D246942E0001D6EEE /* QNComplexUploadSceneTest.m */; };
42+
31A1840F246942E0001D6EEE /* QNComplexUploadSceneTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 31A1840D246942E0001D6EEE /* QNComplexUploadSceneTest.m */; };
43+
31A1841124694A3C001D6EEE /* QNUploadErrorTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 31A1841024694A3C001D6EEE /* QNUploadErrorTest.m */; };
44+
31A1841224694A3C001D6EEE /* QNUploadErrorTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 31A1841024694A3C001D6EEE /* QNUploadErrorTest.m */; };
4145
31BAA277243DB83700B7E883 /* NSURLRequest+QNRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 31BAA271243DB83700B7E883 /* NSURLRequest+QNRequest.m */; };
4246
31BAA279243DB83700B7E883 /* QNURLProtocol.m in Sources */ = {isa = PBXBuildFile; fileRef = 31BAA273243DB83700B7E883 /* QNURLProtocol.m */; };
4347
31BAA27A243DB83700B7E883 /* NSURLRequest+QNRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 31BAA274243DB83700B7E883 /* NSURLRequest+QNRequest.h */; };
4448
31BAA27C243DB83700B7E883 /* QNURLProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 31BAA276243DB83700B7E883 /* QNURLProtocol.h */; };
4549
31BAA27E243DBE5D00B7E883 /* NSURLRequest+QNRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 31BAA271243DB83700B7E883 /* NSURLRequest+QNRequest.m */; };
4650
31BAA280243DBE6200B7E883 /* QNURLProtocol.m in Sources */ = {isa = PBXBuildFile; fileRef = 31BAA273243DB83700B7E883 /* QNURLProtocol.m */; };
47-
31C2EECA242CC52600713A33 /* QNDnsCacheKey.h in Headers */ = {isa = PBXBuildFile; fileRef = 31C2EEC3242CC52600713A33 /* QNDnsCacheKey.h */; };
51+
31C2EECA242CC52600713A33 /* QNDnsCacheInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 31C2EEC3242CC52600713A33 /* QNDnsCacheInfo.h */; };
4852
31C2EECB242CC52600713A33 /* QNDnsPrefetcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 31C2EEC4242CC52600713A33 /* QNDnsPrefetcher.h */; };
4953
31C2EECC242CC52600713A33 /* QNDnsCacheFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 31C2EEC5242CC52600713A33 /* QNDnsCacheFile.h */; };
50-
31C2EECD242CC52600713A33 /* QNDnsCacheKey.m in Sources */ = {isa = PBXBuildFile; fileRef = 31C2EEC6242CC52600713A33 /* QNDnsCacheKey.m */; };
51-
31C2EECF242CC52600713A33 /* QNDnsCacheKey.m in Sources */ = {isa = PBXBuildFile; fileRef = 31C2EEC6242CC52600713A33 /* QNDnsCacheKey.m */; };
54+
31C2EECD242CC52600713A33 /* QNDnsCacheInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 31C2EEC6242CC52600713A33 /* QNDnsCacheInfo.m */; };
55+
31C2EECF242CC52600713A33 /* QNDnsCacheInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 31C2EEC6242CC52600713A33 /* QNDnsCacheInfo.m */; };
5256
31C2EED1242CC52600713A33 /* QNDnsPrefetcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 31C2EEC7242CC52600713A33 /* QNDnsPrefetcher.m */; };
5357
31C2EED3242CC52600713A33 /* QNDnsPrefetcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 31C2EEC7242CC52600713A33 /* QNDnsPrefetcher.m */; };
5458
31C2EED5242CC52600713A33 /* QNDnsCacheFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 31C2EEC8242CC52600713A33 /* QNDnsCacheFile.m */; };
@@ -97,10 +101,9 @@
97101
31F553C02457FFB0000B66AD /* QNPipeline.h in Headers */ = {isa = PBXBuildFile; fileRef = 31F553BE2457FFAF000B66AD /* QNPipeline.h */; };
98102
31F553C12457FFB0000B66AD /* QNPipeline.m in Sources */ = {isa = PBXBuildFile; fileRef = 31F553BF2457FFB0000B66AD /* QNPipeline.m */; };
99103
31F553C22457FFB0000B66AD /* QNPipeline.m in Sources */ = {isa = PBXBuildFile; fileRef = 31F553BF2457FFB0000B66AD /* QNPipeline.m */; };
100-
31A1840E246942E0001D6EEE /* QNComplexUploadSceneTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 31A1840D246942E0001D6EEE /* QNComplexUploadSceneTest.m */; };
101-
31A1840F246942E0001D6EEE /* QNComplexUploadSceneTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 31A1840D246942E0001D6EEE /* QNComplexUploadSceneTest.m */; };
102-
31A1841124694A3C001D6EEE /* QNUploadErrorTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 31A1841024694A3C001D6EEE /* QNUploadErrorTest.m */; };
103-
31A1841224694A3C001D6EEE /* QNUploadErrorTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 31A1841024694A3C001D6EEE /* QNUploadErrorTest.m */; };
104+
4551E55F24CE81DA00447285 /* QNInetAddress.h in Headers */ = {isa = PBXBuildFile; fileRef = 4551E55D24CE81DA00447285 /* QNInetAddress.h */; };
105+
4551E56024CE81DA00447285 /* QNInetAddress.m in Sources */ = {isa = PBXBuildFile; fileRef = 4551E55E24CE81DA00447285 /* QNInetAddress.m */; };
106+
4551E56124CE81DA00447285 /* QNInetAddress.m in Sources */ = {isa = PBXBuildFile; fileRef = 4551E55E24CE81DA00447285 /* QNInetAddress.m */; };
104107
7CF44E0E25F6BE604AE68F92 /* libPods-QiniuSDK_iOSTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 422A3A07B38819979BBFE724 /* libPods-QiniuSDK_iOSTests.a */; };
105108
A31ADA71DBBF1F4D8A065061 /* libPods-QiniuSDK_Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 73B66D8E78B0B3A0BEEA45A6 /* libPods-QiniuSDK_Mac.a */; };
106109
BA8408541BE251010093B013 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BA8408521BE250C80093B013 /* SystemConfiguration.framework */; };
@@ -219,14 +222,16 @@
219222
316A4B822431C8BA007BF564 /* QNDnsPrefetcherTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = QNDnsPrefetcherTest.m; sourceTree = "<group>"; };
220223
316A4B8624346364007BF564 /* QNTransactionManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = QNTransactionManager.h; sourceTree = "<group>"; };
221224
316A4B8724346364007BF564 /* QNTransactionManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = QNTransactionManager.m; sourceTree = "<group>"; };
225+
31A1840D246942E0001D6EEE /* QNComplexUploadSceneTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = QNComplexUploadSceneTest.m; sourceTree = "<group>"; };
226+
31A1841024694A3C001D6EEE /* QNUploadErrorTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = QNUploadErrorTest.m; sourceTree = "<group>"; };
222227
31BAA271243DB83700B7E883 /* NSURLRequest+QNRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSURLRequest+QNRequest.m"; sourceTree = "<group>"; };
223228
31BAA273243DB83700B7E883 /* QNURLProtocol.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QNURLProtocol.m; sourceTree = "<group>"; };
224229
31BAA274243DB83700B7E883 /* NSURLRequest+QNRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSURLRequest+QNRequest.h"; sourceTree = "<group>"; };
225230
31BAA276243DB83700B7E883 /* QNURLProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QNURLProtocol.h; sourceTree = "<group>"; };
226-
31C2EEC3242CC52600713A33 /* QNDnsCacheKey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QNDnsCacheKey.h; sourceTree = "<group>"; };
231+
31C2EEC3242CC52600713A33 /* QNDnsCacheInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QNDnsCacheInfo.h; sourceTree = "<group>"; };
227232
31C2EEC4242CC52600713A33 /* QNDnsPrefetcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QNDnsPrefetcher.h; sourceTree = "<group>"; };
228233
31C2EEC5242CC52600713A33 /* QNDnsCacheFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QNDnsCacheFile.h; sourceTree = "<group>"; };
229-
31C2EEC6242CC52600713A33 /* QNDnsCacheKey.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QNDnsCacheKey.m; sourceTree = "<group>"; };
234+
31C2EEC6242CC52600713A33 /* QNDnsCacheInfo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QNDnsCacheInfo.m; sourceTree = "<group>"; };
230235
31C2EEC7242CC52600713A33 /* QNDnsPrefetcher.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QNDnsPrefetcher.m; sourceTree = "<group>"; };
231236
31C2EEC8242CC52600713A33 /* QNDnsCacheFile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QNDnsCacheFile.m; sourceTree = "<group>"; };
232237
31C2EEC9242CC52600713A33 /* QNDns.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QNDns.h; sourceTree = "<group>"; };
@@ -258,10 +263,10 @@
258263
31F553922456F2F3000B66AD /* QNSystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QNSystem.h; sourceTree = "<group>"; };
259264
31F553BE2457FFAF000B66AD /* QNPipeline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QNPipeline.h; sourceTree = "<group>"; };
260265
31F553BF2457FFB0000B66AD /* QNPipeline.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QNPipeline.m; sourceTree = "<group>"; };
261-
31A1840D246942E0001D6EEE /* QNComplexUploadSceneTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = QNComplexUploadSceneTest.m; sourceTree = "<group>"; };
262-
31A1841024694A3C001D6EEE /* QNUploadErrorTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = QNUploadErrorTest.m; sourceTree = "<group>"; };
263266
32036F4A07041AC3410DBF2F /* Pods-QiniuSDK_Mac.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-QiniuSDK_Mac.release.xcconfig"; path = "Pods/Target Support Files/Pods-QiniuSDK_Mac/Pods-QiniuSDK_Mac.release.xcconfig"; sourceTree = "<group>"; };
264267
422A3A07B38819979BBFE724 /* libPods-QiniuSDK_iOSTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-QiniuSDK_iOSTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
268+
4551E55D24CE81DA00447285 /* QNInetAddress.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = QNInetAddress.h; sourceTree = "<group>"; };
269+
4551E55E24CE81DA00447285 /* QNInetAddress.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = QNInetAddress.m; sourceTree = "<group>"; };
265270
466E7AACB5F77BA0D4DE4070 /* Pods-QiniuSDK_MacTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-QiniuSDK_MacTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-QiniuSDK_MacTests/Pods-QiniuSDK_MacTests.debug.xcconfig"; sourceTree = "<group>"; };
266271
6663602DA8CC701EA3B11F04 /* Pods-QiniuSDK_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-QiniuSDK_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-QiniuSDK_iOS/Pods-QiniuSDK_iOS.debug.xcconfig"; sourceTree = "<group>"; };
267272
69B20FB4731F84969BC5AEBE /* Pods-QiniuSDK_Mac.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-QiniuSDK_Mac.debug.xcconfig"; path = "Pods/Target Support Files/Pods-QiniuSDK_Mac/Pods-QiniuSDK_Mac.debug.xcconfig"; sourceTree = "<group>"; };
@@ -451,10 +456,12 @@
451456
31C2EEC9242CC52600713A33 /* QNDns.h */,
452457
31C2EEC5242CC52600713A33 /* QNDnsCacheFile.h */,
453458
31C2EEC8242CC52600713A33 /* QNDnsCacheFile.m */,
454-
31C2EEC3242CC52600713A33 /* QNDnsCacheKey.h */,
455-
31C2EEC6242CC52600713A33 /* QNDnsCacheKey.m */,
459+
31C2EEC3242CC52600713A33 /* QNDnsCacheInfo.h */,
460+
31C2EEC6242CC52600713A33 /* QNDnsCacheInfo.m */,
456461
31C2EEC4242CC52600713A33 /* QNDnsPrefetcher.h */,
457462
31C2EEC7242CC52600713A33 /* QNDnsPrefetcher.m */,
463+
4551E55D24CE81DA00447285 /* QNInetAddress.h */,
464+
4551E55E24CE81DA00447285 /* QNInetAddress.m */,
458465
);
459466
path = Dns;
460467
sourceTree = "<group>";
@@ -663,13 +670,14 @@
663670
DFA9B65819E0B53700A15FD1 /* QNFileRecorder.h in Headers */,
664671
DF482FD81B0DA8A2000DAD98 /* QNConfiguration.h in Headers */,
665672
3149446C2448515900386F16 /* QNZoneInfo.h in Headers */,
673+
4551E55F24CE81DA00447285 /* QNInetAddress.h in Headers */,
666674
316A4B8824346364007BF564 /* QNTransactionManager.h in Headers */,
667675
CCC3A50822DC10CB00D835B1 /* QNConcurrentResumeUpload.h in Headers */,
668676
31F553992456F2F3000B66AD /* QNALAssetFile.h in Headers */,
669677
DF609A051A58E39D00AC7297 /* QNFormUpload.h in Headers */,
670678
CC25135C244C7EB3003F4C65 /* QNBaseUpload.h in Headers */,
671679
CC3F322322C0CCDF00F23681 /* QNUploadInfoReporter.h in Headers */,
672-
31C2EECA242CC52600713A33 /* QNDnsCacheKey.h in Headers */,
680+
31C2EECA242CC52600713A33 /* QNDnsCacheInfo.h in Headers */,
673681
314944672448503C00386F16 /* QNZone.h in Headers */,
674682
CCF661082355C5120018A41E /* QiniuSDK.h in Headers */,
675683
31F553962456F2F3000B66AD /* QNPHAssetFile.h in Headers */,
@@ -924,7 +932,7 @@
924932
DF293C9F19DBC2AE00799011 /* QNUserAgent.m in Sources */,
925933
31F553A52456F2F3000B66AD /* QNCrc32.m in Sources */,
926934
DFA9B65919E0B53700A15FD1 /* QNFileRecorder.m in Sources */,
927-
31C2EECD242CC52600713A33 /* QNDnsCacheKey.m in Sources */,
935+
31C2EECD242CC52600713A33 /* QNDnsCacheInfo.m in Sources */,
928936
CC251353244C026A003F4C65 /* QNHttpResponseInfo.m in Sources */,
929937
CC0F85F92447343B008A1ABA /* QNUploadInfoCollector.m in Sources */,
930938
31BAA279243DB83700B7E883 /* QNURLProtocol.m in Sources */,
@@ -933,6 +941,7 @@
933941
314944582446FF4700386F16 /* QNCFHttpClient.m in Sources */,
934942
31C2EED5242CC52600713A33 /* QNDnsCacheFile.m in Sources */,
935943
31F553C12457FFB0000B66AD /* QNPipeline.m in Sources */,
944+
4551E56024CE81DA00447285 /* QNInetAddress.m in Sources */,
936945
DF293CAB19DC0E5300799011 /* QNResumeUpload.m in Sources */,
937946
CC25135D244C7EB3003F4C65 /* QNBaseUpload.m in Sources */,
938947
DF437CDA1B2429E10099587B /* QNUpToken.m in Sources */,
@@ -991,7 +1000,7 @@
9911000
316A4B8A24346364007BF564 /* QNTransactionManager.m in Sources */,
9921001
DF609A081A58E39D00AC7297 /* QNFormUpload.m in Sources */,
9931002
31F553BD2457FF14000B66AD /* QNConfiguration.m in Sources */,
994-
31C2EECF242CC52600713A33 /* QNDnsCacheKey.m in Sources */,
1003+
31C2EECF242CC52600713A33 /* QNDnsCacheInfo.m in Sources */,
9951004
CC251354244C026A003F4C65 /* QNHttpResponseInfo.m in Sources */,
9961005
CC0F85FA2447343C008A1ABA /* QNUploadInfoCollector.m in Sources */,
9971006
31BAA280243DBE6200B7E883 /* QNURLProtocol.m in Sources */,
@@ -1006,6 +1015,7 @@
10061015
31F553B72457D2FF000B66AD /* QNSystem.m in Sources */,
10071016
CC2513B8245423C3003F4C65 /* QNConcurrentResumeUpload.m in Sources */,
10081017
31F553C22457FFB0000B66AD /* QNPipeline.m in Sources */,
1018+
4551E56124CE81DA00447285 /* QNInetAddress.m in Sources */,
10091019
31F553AF2457D2E5000B66AD /* QNALAssetFile.m in Sources */,
10101020
DF293CAC19DC0E5300799011 /* QNResumeUpload.m in Sources */,
10111021
DF437CDC1B2429E10099587B /* QNUpToken.m in Sources */,

QiniuSDK/Http/Dns/QNDnsCacheFile.m

Lines changed: 2 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
//
88

99
#import "QNDnsCacheFile.h"
10-
#import "QNDnsCacheKey.h"
1110

1211
@interface QNDnsCacheFile()
1312

@@ -31,14 +30,9 @@ + (instancetype)dnsCacheFile:(NSString *)directory
3130

3231
- (NSError *)set:(NSString *)key
3332
data:(NSData *)value {
34-
NSError *error;
3533

34+
NSError *error;
3635
NSFileManager *fileManager = [NSFileManager defaultManager];
37-
NSArray *subFilePaths = [fileManager subpathsAtPath:self.directory];
38-
for (NSString *path in subFilePaths) {
39-
[fileManager removeItemAtPath:path error:nil];
40-
}
41-
4236
NSString *filePath = [self pathOfKey:key];
4337
[fileManager createFileAtPath:filePath contents:value attributes:nil];
4438

@@ -60,33 +54,7 @@ - (NSError *)del:(NSString *)key {
6054
}
6155

6256
- (NSString *)getFileName{
63-
64-
NSString *fileName = nil;
65-
NSFileManager *fileManager = [NSFileManager defaultManager];
66-
NSArray *subFilePaths = [fileManager subpathsAtPath:self.directory];
67-
68-
if (subFilePaths && subFilePaths.count > 0) {
69-
70-
if (subFilePaths.count == 1) {
71-
fileName = [subFilePaths.firstObject lastPathComponent];
72-
} else {
73-
74-
double cacheTime = 0;
75-
for (NSString *path in subFilePaths) {
76-
77-
NSString *fileNameP = [path lastPathComponent];
78-
QNDnsCacheKey *key = [QNDnsCacheKey dnsCacheKey:fileNameP];
79-
double time = [key.currentTime doubleValue];
80-
if (time > cacheTime) {
81-
[self del:fileNameP];
82-
cacheTime = time;
83-
fileName = fileNameP;
84-
}
85-
}
86-
}
87-
}
88-
89-
return fileName;
57+
return @"dnsCache";
9058
}
9159

9260
- (NSString *)pathOfKey:(NSString *)key {

QiniuSDK/Http/Dns/QNDnsCacheInfo.h

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
//
2+
// QNDnsCacheKey.h
3+
// QnDNS
4+
//
5+
// Created by yangsen on 2020/3/26.
6+
// Copyright © 2020 com.qiniu. All rights reserved.
7+
//
8+
9+
#import <Foundation/Foundation.h>
10+
11+
NS_ASSUME_NONNULL_BEGIN
12+
13+
@interface QNDnsCacheInfo : NSObject
14+
15+
/// 缓存时间戳
16+
@property(nonatomic, copy, readonly)NSString *currentTime;
17+
/// 缓存时本地IP
18+
@property(nonatomic, copy, readonly)NSString *localIp;
19+
/// 缓存信息
20+
@property(nonatomic, copy, readonly)NSDictionary *info;
21+
22+
//MARK: -- 构造方法
23+
/// 根据json构造对象
24+
+ (instancetype)dnsCacheInfo:(NSData *)jsonData;
25+
26+
+ (instancetype)dnsCacheInfo:(NSString *)currentTime
27+
localIp:(NSString *)localIp
28+
info:(NSDictionary *)info;
29+
30+
31+
/// 转化Json数据
32+
- (NSData *)jsonData;
33+
34+
@end
35+
36+
NS_ASSUME_NONNULL_END

QiniuSDK/Http/Dns/QNDnsCacheInfo.m

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
//
2+
// QNDnsCacheKey.m
3+
// QnDNS
4+
//
5+
// Created by yangsen on 2020/3/26.
6+
// Copyright © 2020 com.qiniu. All rights reserved.
7+
//
8+
9+
#import "QNDnsCacheInfo.h"
10+
11+
@interface QNDnsCacheInfo()
12+
/// 缓存时间戳
13+
@property(nonatomic, copy)NSString *currentTime;
14+
/// 缓存时本地IP
15+
@property(nonatomic, copy)NSString *localIp;
16+
/// 缓存信息
17+
@property(nonatomic, copy)NSDictionary *info;
18+
@end
19+
@implementation QNDnsCacheInfo
20+
21+
+ (instancetype)dnsCacheInfo:(NSData *)jsonData{
22+
NSDictionary *info = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
23+
if (!info || info.count == 0 ||
24+
(!info[@"currentTime"] && !info[@"localIp"] && !info[@"info"])) {
25+
return nil;
26+
}
27+
return [QNDnsCacheInfo dnsCacheInfo:info[@"currentTime"]
28+
localIp:info[@"localIp"]
29+
info:info[@"info"]];;
30+
}
31+
32+
+ (instancetype)dnsCacheInfo:(NSString *)currentTime
33+
localIp:(NSString *)localIp
34+
info:(NSDictionary *)info{
35+
36+
QNDnsCacheInfo *cacheInfo = [[QNDnsCacheInfo alloc] init];
37+
cacheInfo.currentTime = currentTime;
38+
cacheInfo.localIp = localIp;
39+
cacheInfo.info = info;
40+
return cacheInfo;
41+
}
42+
43+
- (NSData *)jsonData{
44+
NSMutableDictionary *cacheInfo = [NSMutableDictionary dictionary];
45+
if (self.currentTime) {
46+
cacheInfo[@"currentTime"] = self.currentTime;
47+
}
48+
if (self.localIp) {
49+
cacheInfo[@"localIp"] = self.localIp;
50+
}
51+
if (self.info) {
52+
cacheInfo[@"info"] = self.info;
53+
}
54+
return [NSJSONSerialization dataWithJSONObject:cacheInfo options:NSJSONWritingPrettyPrinted error:nil];
55+
}
56+
57+
58+
@end

0 commit comments

Comments
 (0)