continue;
}
if (isStale) {
- NSData* newBookmark = [url bookmarkDataWithOptions:NSURLBookmarkCreationWithSecurityScope | NSURLBookmarkCreationSecurityScopeAllowOnlyReadAccess
- includingResourceValuesForKeys:nil
- relativeToURL:nil
- error:&error];
- bookmarks[path] = newBookmark;
+ NSData* newBookmark = [PreferencesController secureBookmarkDataForURL:url];
+ bookmarks[url.absoluteString] = newBookmark;
+ [bookmarks removeObjectForKey:path];
}
if (![url startAccessingSecurityScopedResource]) {
- (IBAction)addFileAccess:(id)sender;
++ (NSData*)secureBookmarkDataForURL:(NSURL*)url;
+
// panel switching
- (IBAction)showGeneral:(id)sender;
- (IBAction)showFileAccess:(id)sender;
NSURL* url = panel.URL;
- NSError* error;
- NSData* secureBookmark = [url bookmarkDataWithOptions:NSURLBookmarkCreationWithSecurityScope | NSURLBookmarkCreationSecurityScopeAllowOnlyReadAccess
- includingResourceValuesForKeys:nil
- relativeToURL:nil
- error:&error];
- if (error) {
- NSLog(@"Error creating secure bookmark: %@", error);
+ NSData* secureBookmark = [self.class secureBookmarkDataForURL:url];
+ if (!secureBookmark)
return;
- }
NSDictionaryControllerKeyValuePair* pair = [self.fileAccessController newObject];
pair.key = url.absoluteString;
[self.fileAccessController addObject:pair];
}
++ (NSData*)secureBookmarkDataForURL:(NSURL*)url
+{
+ NSError* error;
+ NSData* secureBookmark = [url bookmarkDataWithOptions:NSURLBookmarkCreationWithSecurityScope | NSURLBookmarkCreationSecurityScopeAllowOnlyReadAccess
+ includingResourceValuesForKeys:nil
+ relativeToURL:nil
+ error:&error];
+ if (error) {
+ NSLog(@"Error creating secure bookmark: %@", error);
+ }
+ return secureBookmark;
+}
+
#pragma mark Panel Switching
/**