Quarantine removal

The following changes expand the removal of the quarantine metadata information.
On 10.10 and Xcode 6, it uses the new `NSURLQuarantinePropertiesKey` key, setting the value to `[NSNull null]` as recommended by the Apple docs.
Ah, okay. I did not know that.

Sent from my iPhone

> On Jul 19, 2014, at 1:42 PM, "Jake Petroules" <notifications@github.com> wrote:
> 
> In Sparkle/SUPlainInstallerInternals.m:
> 
> > -    // Only recurse if it's actually a directory.  Don't recurse into a
> > -    // root-level symbolic link.
> > -    NSDictionary *rootAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:root error:nil];
> > -    NSString *rootType = rootAttributes[NSFileType];
> > -
> > -    if (rootType == NSFileTypeDirectory) {
> > -        // The NSDirectoryEnumerator will avoid recursing into any contained
> > -        // symbolic links, so no further type checks are needed.
> > -        NSDirectoryEnumerator *directoryEnumerator = [[NSFileManager defaultManager] enumeratorAtPath:root];
> > -        NSString *file = nil;
> > -        while ((file = [directoryEnumerator nextObject])) {
> > -            [self removeXAttr:quarantineAttribute
> > -                     fromFile:[root stringByAppendingPathComponent:file]
> > -                      options:removeXAttrOptions];
> > +    NSFileManager *manager = [NSFileManager defaultManager];
> > +#if __MAC_OS_X_VERSION_MAX_ALLOWED > __MAC_10_9
> #import <Foundation/Foundation.h>
> 
> #if __MAC_OS_X_VERSION_MAX_ALLOWED < 101000
> extern NSString *const NSURLQuarantinePropertiesKey WEAK_IMPORT_ATTRIBUTE;
> #endif
> 
> int main()
> {
>     if (&NSURLQuarantinePropertiesKey)
>         NSLog(@"%@", NSURLQuarantinePropertiesKey);
>     else
>         NSLog(@"not found");
>     return 0;
> }
> Compile with clang test.m -framework Foundation -mmacosx-version-min=10.7 -Wl,-U,_NSURLQuarantinePropertiesKey - outputs the value of the key on 10.10, outputs "not found" on 10.9. This has nothing to do with weak linking the Foundation framework as a whole.
> 
> This is both backwards and forwards compatible and results in the same behavior on both OS X 10.9 and 10.10 regardless of the SDK it was built with (which is a valuable result for little effort - easier than dlopen/dlsym too).
> 
> —
> Reply to this email directly or view it on GitHub.