├── sample-workflow.png
├── QuarantineFilter.xcodeproj
├── project.xcworkspace
│ └── contents.xcworkspacedata
└── project.pbxproj
├── QuarantineFilter
├── Quarantine_Filter.h
├── en.lproj
│ └── InfoPlist.strings
├── Quarantine_Filter.m
├── Info.plist
└── Base.lproj
│ └── main.xib
├── README.md
├── LICENSE
└── .gitignore
/sample-workflow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mlilback/QuarantineAutomatorAction/HEAD/sample-workflow.png
--------------------------------------------------------------------------------
/QuarantineFilter.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/QuarantineFilter/Quarantine_Filter.h:
--------------------------------------------------------------------------------
1 | //
2 | // Quarantine_Filter.h
3 | // Quarantine Filter
4 | //
5 | // Copyright © 2016 Mark Lilback. This file is licensed under the ISC license.
6 | //
7 |
8 | #import
9 | #import
10 |
11 | @interface Quarantine_Filter : AMBundleAction
12 | @property (strong) IBOutlet NSPopUpButton *filterPopup;
13 | @property NSInteger selectedFilterTag;
14 |
15 | - (id)runWithInput:(id)input fromAction:(AMAction *)anAction error:(NSDictionary **)errorInfo;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ## Quarantine Filter
2 |
3 | This is an Automator action that filters files based on their quarantine type (i.e. web download, email attachment, messages attachment, airdrop transfer). It was designed to be used to as a folder attachment that can move the filtered files from Downloads to the Desktop or any location you choose.
4 |
5 | ### Example Workflow
6 |
7 |
8 |
9 | Licensed under the ISC license.
10 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2016 Mark Lilback.
2 |
3 | Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
4 |
5 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
6 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Xcode
2 | #
3 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
4 |
5 | ## Build generated
6 | build/
7 | DerivedData/
8 |
9 | ## Various settings
10 | *.pbxuser
11 | !default.pbxuser
12 | *.mode1v3
13 | !default.mode1v3
14 | *.mode2v3
15 | !default.mode2v3
16 | *.perspectivev3
17 | !default.perspectivev3
18 | xcuserdata/
19 |
20 | ## Other
21 | *.moved-aside
22 | *.xcuserstate
23 |
24 | ## Obj-C/Swift specific
25 | *.hmap
26 | *.ipa
27 | *.dSYM.zip
28 | *.dSYM
29 |
30 | # CocoaPods
31 | #
32 | # We recommend against adding the Pods directory to your .gitignore. However
33 | # you should judge for yourself, the pros and cons are mentioned at:
34 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
35 | #
36 | # Pods/
37 |
38 | # Carthage
39 | #
40 | # Add this line if you want to avoid checking in source code from Carthage dependencies.
41 | # Carthage/Checkouts
42 |
43 | Carthage/Build
44 |
45 | # fastlane
46 | #
47 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
48 | # screenshots whenever they are needed.
49 | # For more information about the recommended setup visit:
50 | # https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md
51 |
52 | fastlane/report.xml
53 | fastlane/screenshots
54 |
55 | #Code Injection
56 | #
57 | # After new code Injection tools there's a generated folder /iOSInjectionProject
58 | # https://github.com/johnno1962/injectionforxcode
59 |
60 | iOSInjectionProject/
61 |
--------------------------------------------------------------------------------
/QuarantineFilter/en.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /* AMApplication localized strings */
2 | /* e.g. "TextEdit" = "TextEdit"; */
3 |
4 | /* AMCategory localized strings */
5 | /* e.g. "Text" = "Text"; */
6 |
7 | AMName = "Quarantine Filter";
8 |
9 | /* AMDefaultParameters localized values */
10 | /* e.g. myDefaultIntegerParameter = 0; */
11 | /* e.g. myDefaultStringParameter = "Default String Value"; */
12 |
13 | /* AMDescription localized strings */
14 | AMDAlert = "(* AMDAlert text goes here. (optional) *)";
15 | AMDInput = "(* AMDInput text to further explain the types accepted as input goes here. (optional) *)";
16 | AMDNote = "(* AMDNote text goes here. (optional) *)";
17 | AMDOptions = "(* AMDOptions text to further explain configuration options in the UI goes here. (optional) *)";
18 | AMDResult = "(* AMDResult text to further explain the types provided as output goes here. (optional) *)";
19 | AMDRequires = "(* AMDRequires text to explain anything outside of Automator required for the action's operation, e.g. a web page open in Safari, goes here. (optional) *)";
20 | AMDSummary = "(* AMDSummary text to explain what your action does goes here. *)";
21 | AMDWebsite = "(* AMDWebsite URL to additional information or documentation for the action goes here. (optional) *)";
22 |
23 | /* AMKeyword localized strings */
24 | /* e.g. "Filter" = "Filter"; */
25 |
26 | /* AMWarning localized strings */
27 | ApplyButton = "(* Button label for user to add proposed Action, e.g. Add. *)";
28 | IgnoreButton = "(* Button label for user not to add proposed Action, e.g. Don't Add. *)";
29 | Message = "(* Warning message presented to user goes here. *)";
30 |
31 |
--------------------------------------------------------------------------------
/QuarantineFilter/Quarantine_Filter.m:
--------------------------------------------------------------------------------
1 | //
2 | // Quarantine_Filter.m
3 | // Quarantine Filter
4 | //
5 | // Copyright © 2016 Mark Lilback. This file is licensed under the ISC license.
6 | //
7 |
8 | #import "Quarantine_Filter.h"
9 | #import
10 |
11 | @implementation Quarantine_Filter
12 |
13 | -(instancetype)initWithDefinition:(NSDictionary *)dict fromArchive:(BOOL)archived
14 | {
15 | if ((self = [super initWithDefinition:dict fromArchive:archived])) {
16 | NSDictionary *d = [dict objectForKey:@"ActionParameters"];
17 | NSNumber *tagInt = [d objectForKey:@"filterTag"];
18 | if (nil == tagInt)
19 | tagInt = @(0);
20 | _selectedFilterTag = [tagInt integerValue];
21 | }
22 | return self;
23 | }
24 |
25 | -(void)writeToDictionary:(NSMutableDictionary *)dictionary
26 | {
27 | [super writeToDictionary:dictionary];
28 | [dictionary setObject:[NSNumber numberWithInteger:_selectedFilterTag] forKey:@"filterTag"];
29 | }
30 |
31 | -(void)updateParameters
32 | {
33 | [super updateParameters];
34 | [self.parameters setObject:[NSNumber numberWithInteger:_selectedFilterTag] forKey:@"filterTag"];
35 | }
36 |
37 | -(void)parametersUpdated
38 | {
39 | [super parametersUpdated];
40 | _selectedFilterTag = [[self.parameters objectForKey:@"filterTag"] integerValue];
41 | }
42 |
43 | - (id)runWithInput:(id)input fromAction:(AMAction *)anAction error:(NSDictionary **)errorInfo
44 | {
45 | NSString *filterType = @"";
46 | switch(self.selectedFilterTag) {
47 | case 0:
48 | default:
49 | filterType = (NSString*)kLSQuarantineTypeWebDownload;
50 | break;
51 | case 1:
52 | filterType = @"LSQuarantineTypeAirDrop";
53 | break;
54 | case 2:
55 | filterType = (NSString*)kLSQuarantineTypeEmailAttachment;
56 | break;
57 | case 3:
58 | filterType = (NSString*)kLSQuarantineTypeInstantMessageAttachment;
59 | break;
60 | }
61 | NSMutableArray *output = [[NSMutableArray alloc] init];
62 | for (NSURL *aUrl in input) {
63 | id rvalue;
64 | NSError *err;
65 | if ([aUrl getResourceValue:&rvalue forKey:NSURLQuarantinePropertiesKey error:&err]) {
66 | NSString *qtype = [rvalue objectForKey:@"LSQuarantineType"];
67 | if ([qtype isEqualToString:filterType]) {
68 | [output addObject:aUrl];
69 | }
70 | } else {
71 | NSLog(@"error getting quarantine properties:%@", err);
72 | }
73 | }
74 | return output;
75 | }
76 |
77 | @end
78 |
--------------------------------------------------------------------------------
/QuarantineFilter/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | AMAccepts
6 |
7 | Container
8 | List
9 | Optional
10 |
11 | Types
12 |
13 | com.apple.cocoa.url
14 |
15 |
16 | AMApplication
17 | Finder
18 | AMCanShowSelectedItemsWhenRun
19 |
20 | AMCanShowWhenRun
21 |
22 | AMCategory
23 | AMCategoryFilesAndFolders
24 | AMDefaultParameters
25 |
26 | filterTag
27 | 0
28 |
29 | AMDescription
30 |
31 | AMDAlert
32 |
33 | AMDInput
34 | List of files
35 | AMDNote
36 |
37 | AMDOptions
38 |
39 | AMDRelatedActions
40 |
41 | AMDRequires
42 | (* AMDRequires text to explain anything outside of Automator required for the action's operation, e.g. a web page open in Safari, goes here. (optional) *)
43 | AMDResult
44 | filtered list of files
45 | AMDSummary
46 | Filters an array of files based on their quarantine type
47 | AMDWebsite
48 | (* AMDWebsite URL to additional information or documentation for the action goes here. (optional) *)
49 |
50 | AMIconName
51 | (* The name of the icon *)
52 | AMKeywords
53 |
54 | AMName
55 | Quarantine Filter
56 | AMProvides
57 |
58 | Container
59 | List
60 | Types
61 |
62 | com.apple.cocoa.url
63 |
64 |
65 | AMRequiredResources
66 |
67 | AMWarning
68 |
69 | Action
70 | (* Action name to be suggested to add prior to this action to make the task safer, e.g. com.apple.Automator.CopyFiles, goes here. *)
71 | ApplyButton
72 | (* Button label for user to add proposed Action, e.g. Add. *)
73 | IgnoreButton
74 | (* Button label for user not to add proposed Action, e.g. Don't Add. *)
75 | Level
76 | 0
77 | Message
78 | (* Warning message presented to user goes here. *)
79 |
80 | CFBundleDevelopmentRegion
81 | en
82 | CFBundleExecutable
83 | $(EXECUTABLE_NAME)
84 | CFBundleIdentifier
85 | $(PRODUCT_BUNDLE_IDENTIFIER)
86 | CFBundleInfoDictionaryVersion
87 | 6.0
88 | CFBundleName
89 | $(PRODUCT_NAME)
90 | CFBundlePackageType
91 | BNDL
92 | CFBundleShortVersionString
93 | 1.0
94 | CFBundleSignature
95 | ????
96 | CFBundleVersion
97 | 1
98 | NSHumanReadableCopyright
99 | Copyright © 2016 Mark Lilback. All rights reserved.
100 | NSPrincipalClass
101 | Quarantine_Filter
102 |
103 |
104 |
--------------------------------------------------------------------------------
/QuarantineFilter/Base.lproj/main.xib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 | selectedFilterTag
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
--------------------------------------------------------------------------------
/QuarantineFilter.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 08F189CF1D21C88800866A05 /* Quarantine_Filter.m in Sources */ = {isa = PBXBuildFile; fileRef = 08F189CE1D21C88800866A05 /* Quarantine_Filter.m */; };
11 | 08F189D21D21C88800866A05 /* main.xib in Resources */ = {isa = PBXBuildFile; fileRef = 08F189D01D21C88800866A05 /* main.xib */; };
12 | 08F189D61D21C88800866A05 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 08F189D41D21C88800866A05 /* InfoPlist.strings */; };
13 | /* End PBXBuildFile section */
14 |
15 | /* Begin PBXFileReference section */
16 | 08F189CA1D21C88800866A05 /* Quarantine Filter.action */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Quarantine Filter.action"; sourceTree = BUILT_PRODUCTS_DIR; };
17 | 08F189CD1D21C88800866A05 /* Quarantine_Filter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Quarantine_Filter.h; sourceTree = ""; };
18 | 08F189CE1D21C88800866A05 /* Quarantine_Filter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Quarantine_Filter.m; sourceTree = ""; };
19 | 08F189D11D21C88800866A05 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/main.xib; sourceTree = ""; };
20 | 08F189D31D21C88800866A05 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
21 | 08F189D51D21C88800866A05 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; };
22 | 08F189DC1D21DC7E00866A05 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; };
23 | 08F189DD1D21E02800866A05 /* LICENSE */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE; sourceTree = ""; };
24 | /* End PBXFileReference section */
25 |
26 | /* Begin PBXFrameworksBuildPhase section */
27 | 08F189C61D21C88800866A05 /* Frameworks */ = {
28 | isa = PBXFrameworksBuildPhase;
29 | buildActionMask = 2147483647;
30 | files = (
31 | );
32 | runOnlyForDeploymentPostprocessing = 0;
33 | };
34 | /* End PBXFrameworksBuildPhase section */
35 |
36 | /* Begin PBXGroup section */
37 | 08F189C01D21C88800866A05 = {
38 | isa = PBXGroup;
39 | children = (
40 | 08F189DC1D21DC7E00866A05 /* README.md */,
41 | 08F189DD1D21E02800866A05 /* LICENSE */,
42 | 08F189CC1D21C88800866A05 /* Quarantine Filter */,
43 | 08F189CB1D21C88800866A05 /* Products */,
44 | );
45 | sourceTree = "";
46 | };
47 | 08F189CB1D21C88800866A05 /* Products */ = {
48 | isa = PBXGroup;
49 | children = (
50 | 08F189CA1D21C88800866A05 /* Quarantine Filter.action */,
51 | );
52 | name = Products;
53 | sourceTree = "";
54 | };
55 | 08F189CC1D21C88800866A05 /* Quarantine Filter */ = {
56 | isa = PBXGroup;
57 | children = (
58 | 08F189CD1D21C88800866A05 /* Quarantine_Filter.h */,
59 | 08F189CE1D21C88800866A05 /* Quarantine_Filter.m */,
60 | 08F189D01D21C88800866A05 /* main.xib */,
61 | 08F189D31D21C88800866A05 /* Info.plist */,
62 | 08F189D41D21C88800866A05 /* InfoPlist.strings */,
63 | );
64 | name = "Quarantine Filter";
65 | path = QuarantineFilter;
66 | sourceTree = "";
67 | };
68 | /* End PBXGroup section */
69 |
70 | /* Begin PBXNativeTarget section */
71 | 08F189C91D21C88800866A05 /* Quarantine Filter */ = {
72 | isa = PBXNativeTarget;
73 | buildConfigurationList = 08F189D91D21C88800866A05 /* Build configuration list for PBXNativeTarget "Quarantine Filter" */;
74 | buildPhases = (
75 | 08F189C51D21C88800866A05 /* Sources */,
76 | 08F189C61D21C88800866A05 /* Frameworks */,
77 | 08F189C71D21C88800866A05 /* Resources */,
78 | 08F189C81D21C88800866A05 /* ShellScript */,
79 | );
80 | buildRules = (
81 | );
82 | dependencies = (
83 | );
84 | name = "Quarantine Filter";
85 | productName = "Quarantine Filter";
86 | productReference = 08F189CA1D21C88800866A05 /* Quarantine Filter.action */;
87 | productType = "com.apple.product-type.bundle";
88 | };
89 | /* End PBXNativeTarget section */
90 |
91 | /* Begin PBXProject section */
92 | 08F189C11D21C88800866A05 /* Project object */ = {
93 | isa = PBXProject;
94 | attributes = {
95 | LastUpgradeCheck = 0730;
96 | ORGANIZATIONNAME = "Mark Lilback";
97 | TargetAttributes = {
98 | 08F189C91D21C88800866A05 = {
99 | CreatedOnToolsVersion = 7.3.1;
100 | DevelopmentTeam = V97NV337TR;
101 | };
102 | };
103 | };
104 | buildConfigurationList = 08F189C41D21C88800866A05 /* Build configuration list for PBXProject "QuarantineFilter" */;
105 | compatibilityVersion = "Xcode 3.2";
106 | developmentRegion = English;
107 | hasScannedForEncodings = 0;
108 | knownRegions = (
109 | en,
110 | Base,
111 | );
112 | mainGroup = 08F189C01D21C88800866A05;
113 | productRefGroup = 08F189CB1D21C88800866A05 /* Products */;
114 | projectDirPath = "";
115 | projectRoot = "";
116 | targets = (
117 | 08F189C91D21C88800866A05 /* Quarantine Filter */,
118 | );
119 | };
120 | /* End PBXProject section */
121 |
122 | /* Begin PBXResourcesBuildPhase section */
123 | 08F189C71D21C88800866A05 /* Resources */ = {
124 | isa = PBXResourcesBuildPhase;
125 | buildActionMask = 2147483647;
126 | files = (
127 | 08F189D21D21C88800866A05 /* main.xib in Resources */,
128 | 08F189D61D21C88800866A05 /* InfoPlist.strings in Resources */,
129 | );
130 | runOnlyForDeploymentPostprocessing = 0;
131 | };
132 | /* End PBXResourcesBuildPhase section */
133 |
134 | /* Begin PBXShellScriptBuildPhase section */
135 | 08F189C81D21C88800866A05 /* ShellScript */ = {
136 | isa = PBXShellScriptBuildPhase;
137 | buildActionMask = 2147483647;
138 | files = (
139 | );
140 | inputPaths = (
141 | );
142 | outputPaths = (
143 | );
144 | runOnlyForDeploymentPostprocessing = 0;
145 | shellPath = /bin/sh;
146 | shellScript = "amlint \"${BUILT_PRODUCTS_DIR}/${FULL_PRODUCT_NAME}\"";
147 | };
148 | /* End PBXShellScriptBuildPhase section */
149 |
150 | /* Begin PBXSourcesBuildPhase section */
151 | 08F189C51D21C88800866A05 /* Sources */ = {
152 | isa = PBXSourcesBuildPhase;
153 | buildActionMask = 2147483647;
154 | files = (
155 | 08F189CF1D21C88800866A05 /* Quarantine_Filter.m in Sources */,
156 | );
157 | runOnlyForDeploymentPostprocessing = 0;
158 | };
159 | /* End PBXSourcesBuildPhase section */
160 |
161 | /* Begin PBXVariantGroup section */
162 | 08F189D01D21C88800866A05 /* main.xib */ = {
163 | isa = PBXVariantGroup;
164 | children = (
165 | 08F189D11D21C88800866A05 /* Base */,
166 | );
167 | name = main.xib;
168 | sourceTree = "";
169 | };
170 | 08F189D41D21C88800866A05 /* InfoPlist.strings */ = {
171 | isa = PBXVariantGroup;
172 | children = (
173 | 08F189D51D21C88800866A05 /* en */,
174 | );
175 | name = InfoPlist.strings;
176 | sourceTree = "";
177 | };
178 | /* End PBXVariantGroup section */
179 |
180 | /* Begin XCBuildConfiguration section */
181 | 08F189D71D21C88800866A05 /* Debug */ = {
182 | isa = XCBuildConfiguration;
183 | buildSettings = {
184 | ALWAYS_SEARCH_USER_PATHS = NO;
185 | CLANG_ANALYZER_NONNULL = YES;
186 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
187 | CLANG_CXX_LIBRARY = "libc++";
188 | CLANG_ENABLE_MODULES = YES;
189 | CLANG_ENABLE_OBJC_ARC = YES;
190 | CLANG_WARN_BOOL_CONVERSION = YES;
191 | CLANG_WARN_CONSTANT_CONVERSION = YES;
192 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
193 | CLANG_WARN_EMPTY_BODY = YES;
194 | CLANG_WARN_ENUM_CONVERSION = YES;
195 | CLANG_WARN_INT_CONVERSION = YES;
196 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
197 | CLANG_WARN_UNREACHABLE_CODE = YES;
198 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
199 | CODE_SIGN_IDENTITY = "Mac Developer: Mark Lilback (ZJLV2664FQ)";
200 | COPY_PHASE_STRIP = NO;
201 | DEBUG_INFORMATION_FORMAT = dwarf;
202 | ENABLE_STRICT_OBJC_MSGSEND = YES;
203 | ENABLE_TESTABILITY = YES;
204 | GCC_C_LANGUAGE_STANDARD = gnu99;
205 | GCC_DYNAMIC_NO_PIC = NO;
206 | GCC_NO_COMMON_BLOCKS = YES;
207 | GCC_OPTIMIZATION_LEVEL = 0;
208 | GCC_PREPROCESSOR_DEFINITIONS = (
209 | "DEBUG=1",
210 | "$(inherited)",
211 | );
212 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
213 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
214 | GCC_WARN_UNDECLARED_SELECTOR = YES;
215 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
216 | GCC_WARN_UNUSED_FUNCTION = YES;
217 | GCC_WARN_UNUSED_VARIABLE = YES;
218 | MACOSX_DEPLOYMENT_TARGET = 10.11;
219 | MTL_ENABLE_DEBUG_INFO = YES;
220 | ONLY_ACTIVE_ARCH = YES;
221 | SDKROOT = macosx;
222 | };
223 | name = Debug;
224 | };
225 | 08F189D81D21C88800866A05 /* Release */ = {
226 | isa = XCBuildConfiguration;
227 | buildSettings = {
228 | ALWAYS_SEARCH_USER_PATHS = NO;
229 | CLANG_ANALYZER_NONNULL = YES;
230 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
231 | CLANG_CXX_LIBRARY = "libc++";
232 | CLANG_ENABLE_MODULES = YES;
233 | CLANG_ENABLE_OBJC_ARC = YES;
234 | CLANG_WARN_BOOL_CONVERSION = YES;
235 | CLANG_WARN_CONSTANT_CONVERSION = YES;
236 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
237 | CLANG_WARN_EMPTY_BODY = YES;
238 | CLANG_WARN_ENUM_CONVERSION = YES;
239 | CLANG_WARN_INT_CONVERSION = YES;
240 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
241 | CLANG_WARN_UNREACHABLE_CODE = YES;
242 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
243 | CODE_SIGN_IDENTITY = "Mac Developer: Mark Lilback (ZJLV2664FQ)";
244 | COPY_PHASE_STRIP = NO;
245 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
246 | ENABLE_NS_ASSERTIONS = NO;
247 | ENABLE_STRICT_OBJC_MSGSEND = YES;
248 | GCC_C_LANGUAGE_STANDARD = gnu99;
249 | GCC_NO_COMMON_BLOCKS = YES;
250 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
251 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
252 | GCC_WARN_UNDECLARED_SELECTOR = YES;
253 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
254 | GCC_WARN_UNUSED_FUNCTION = YES;
255 | GCC_WARN_UNUSED_VARIABLE = YES;
256 | MACOSX_DEPLOYMENT_TARGET = 10.11;
257 | MTL_ENABLE_DEBUG_INFO = NO;
258 | SDKROOT = macosx;
259 | };
260 | name = Release;
261 | };
262 | 08F189DA1D21C88800866A05 /* Debug */ = {
263 | isa = XCBuildConfiguration;
264 | buildSettings = {
265 | CODE_SIGN_IDENTITY = "Mac Developer";
266 | "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Mac Developer";
267 | COMBINE_HIDPI_IMAGES = YES;
268 | INFOPLIST_FILE = "Quarantine Filter/Info.plist";
269 | INSTALL_PATH = "$(HOME)/Library/Automator";
270 | OTHER_OSAFLAGS = "-x -t 0 -c 0";
271 | PRODUCT_BUNDLE_IDENTIFIER = "com.lilback.Quarantine-Filter";
272 | PRODUCT_NAME = "$(TARGET_NAME)";
273 | PROVISIONING_PROFILE = "";
274 | WRAPPER_EXTENSION = action;
275 | };
276 | name = Debug;
277 | };
278 | 08F189DB1D21C88800866A05 /* Release */ = {
279 | isa = XCBuildConfiguration;
280 | buildSettings = {
281 | CODE_SIGN_IDENTITY = "Mac Developer";
282 | "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Mac Developer";
283 | COMBINE_HIDPI_IMAGES = YES;
284 | INFOPLIST_FILE = "Quarantine Filter/Info.plist";
285 | INSTALL_PATH = "$(HOME)/Library/Automator";
286 | OTHER_OSAFLAGS = "-x -t 0 -c 0";
287 | PRODUCT_BUNDLE_IDENTIFIER = "com.lilback.Quarantine-Filter";
288 | PRODUCT_NAME = "$(TARGET_NAME)";
289 | PROVISIONING_PROFILE = "";
290 | WRAPPER_EXTENSION = action;
291 | };
292 | name = Release;
293 | };
294 | /* End XCBuildConfiguration section */
295 |
296 | /* Begin XCConfigurationList section */
297 | 08F189C41D21C88800866A05 /* Build configuration list for PBXProject "QuarantineFilter" */ = {
298 | isa = XCConfigurationList;
299 | buildConfigurations = (
300 | 08F189D71D21C88800866A05 /* Debug */,
301 | 08F189D81D21C88800866A05 /* Release */,
302 | );
303 | defaultConfigurationIsVisible = 0;
304 | defaultConfigurationName = Release;
305 | };
306 | 08F189D91D21C88800866A05 /* Build configuration list for PBXNativeTarget "Quarantine Filter" */ = {
307 | isa = XCConfigurationList;
308 | buildConfigurations = (
309 | 08F189DA1D21C88800866A05 /* Debug */,
310 | 08F189DB1D21C88800866A05 /* Release */,
311 | );
312 | defaultConfigurationIsVisible = 0;
313 | defaultConfigurationName = Release;
314 | };
315 | /* End XCConfigurationList section */
316 | };
317 | rootObject = 08F189C11D21C88800866A05 /* Project object */;
318 | }
319 |
--------------------------------------------------------------------------------