123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- #import "AppSandboxFileAccessPersist.h"
- #if !__has_feature(objc_arc)
- #error ARC must be enabled!
- #endif
- @implementation AppSandboxFileAccessPersist
- + (NSString *)keyForBookmarkDataForURL:(NSURL *)url {
- NSString *urlStr = [url absoluteString];
- return [NSString stringWithFormat:@"bd_%1$@", urlStr];
- }
- - (NSData *)bookmarkDataForURL:(NSURL *)url {
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
-
-
- NSURL *subURL = url;
- while ([subURL path].length > 1) {
- NSString *key = [AppSandboxFileAccessPersist keyForBookmarkDataForURL:subURL];
- NSData *bookmark = [defaults dataForKey:key];
- if (bookmark) {
- return bookmark;
- }
- subURL = [subURL URLByDeletingLastPathComponent];
- }
-
-
- return nil;
- }
- - (void)setBookmarkData:(NSData *)data forURL:(NSURL *)url {
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
- NSString *key = [AppSandboxFileAccessPersist keyForBookmarkDataForURL:url];
- [defaults setObject:data forKey:key];
- [defaults synchronize];
- }
- - (void)clearBookmarkDataForURL:(NSURL *)url {
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
- NSString *key = [AppSandboxFileAccessPersist keyForBookmarkDataForURL:url];
- [defaults removeObjectForKey:key];
- [defaults synchronize];
- }
- @end
|