From 35cff4edded05c911e4d5e9b1ba6b950a008825a Mon Sep 17 00:00:00 2001 From: Sam Soffes Date: Tue, 13 Sep 2011 09:43:06 -0700 Subject: [PATCH] Added UIApplication category for common directory paths --- SSToolkit/UIApplication+SSToolkitAdditions.h | 47 +++++++++++++++++--- SSToolkit/UIApplication+SSToolkitAdditions.m | 24 ++++++++++ 2 files changed, 65 insertions(+), 6 deletions(-) diff --git a/SSToolkit/UIApplication+SSToolkitAdditions.h b/SSToolkit/UIApplication+SSToolkitAdditions.h index 9299da9..4fc8edb 100644 --- a/SSToolkit/UIApplication+SSToolkitAdditions.h +++ b/SSToolkit/UIApplication+SSToolkitAdditions.h @@ -11,13 +11,38 @@ */ @interface UIApplication (SSToolkitAdditions) -/** Checks for pirated application indicators. - - This isn't bulletproof, but should catch a lot of cases. Thanks @marcoarment: http://twitter.com/marcoarment/status/27965461020 - - @return `YES` if the application may be pirated. `NO` if it is probably not pirated. +///------------------ +/// @name Directories +///------------------ + +/** + Returns the file URL of the documents directory. */ -- (BOOL)isPirated; +@property (nonatomic, retain, readonly) NSURL *documentsDirectoryURL; + +/** + Returns the file URL of the caches directory. + */ +@property (nonatomic, retain, readonly) NSURL *cachesDirectoryURL; + +/** + Returns the file URL of the downloads directory. + */ +@property (nonatomic, retain, readonly) NSURL *downloadsDirectoryURL; + +/** + Returns the file URL of the library directory. + */ +@property (nonatomic, retain, readonly) NSURL *libraryDirectoryURL; + +/** + Returns the file URL of the application support directory. + */ +@property (nonatomic, retain, readonly) NSURL *applicationSupportDirectoryURL; + +///---------------- +/// @name Utilities +///---------------- /** Aggregates calls to settings `networkActivityIndicatorVisible` to avoid flashing of the indicator in the status bar. @@ -31,4 +56,14 @@ */ - (void)setNetworkActivity:(BOOL)inProgress; +/** Checks for pirated application indicators. + + This isn't bulletproof, but should catch a lot of cases. + + Thanks Marco Arment: + + @return `YES` if the application may be pirated. `NO` if it is probably not pirated. + */ +- (BOOL)isPirated; + @end diff --git a/SSToolkit/UIApplication+SSToolkitAdditions.m b/SSToolkit/UIApplication+SSToolkitAdditions.m index 14aec5f..e5dd61d 100644 --- a/SSToolkit/UIApplication+SSToolkitAdditions.m +++ b/SSToolkit/UIApplication+SSToolkitAdditions.m @@ -33,6 +33,30 @@ - (void)setNetworkActivity:(BOOL)inProgress { } } + +- (NSURL *)documentsDirectoryURL { + return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]; +} + + +- (NSURL *)cachesDirectoryURL { + return [[[NSFileManager defaultManager] URLsForDirectory:NSCachesDirectory inDomains:NSUserDomainMask] lastObject]; +} + +- (NSURL *)downloadsDirectoryURL { + return [[[NSFileManager defaultManager] URLsForDirectory:NSDownloadsDirectory inDomains:NSUserDomainMask] lastObject]; +} + + +- (NSURL *)libraryDirectoryURL { + return [[[NSFileManager defaultManager] URLsForDirectory:NSLibraryDirectory inDomains:NSUserDomainMask] lastObject]; +} + + +- (NSURL *)applicationSupportDirectoryURL { + return [[[NSFileManager defaultManager] URLsForDirectory:NSApplicationSupportDirectory inDomains:NSUserDomainMask] lastObject]; +} + @end