Skip to content

Commit 9590d03

Browse files
author
yep
committed
restore search functionality using cask json
Download cask JSON from official homebrew API and search there instead of using the github API
1 parent 4db1bc4 commit 9590d03

25 files changed

+392
-533
lines changed

App Downloader.xcodeproj/project.pbxproj

Lines changed: 126 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
objects = {
88

99
/* Begin PBXBuildFile section */
10+
0149A2A529B404DC008467B1 /* Color+HexString.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0149A2A429B404DC008467B1 /* Color+HexString.swift */; };
1011
0D4503741E2431CC00F5F4FE /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D4503731E2431CC00F5F4FE /* AppDelegate.swift */; };
1112
0D4503761E2431CC00F5F4FE /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D4503751E2431CC00F5F4FE /* ViewController.swift */; };
1213
0D4503781E2431CC00F5F4FE /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0D4503771E2431CC00F5F4FE /* Assets.xcassets */; };
13-
0D4503831E24321300F5F4FE /* DownloadLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D4503821E24321300F5F4FE /* DownloadLocation.swift */; };
1414
0D4503851E24323000F5F4FE /* Search.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D4503841E24323000F5F4FE /* Search.swift */; };
1515
0D4503881E24328700F5F4FE /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 0D4503861E24328700F5F4FE /* Main.storyboard */; };
1616
0DB50FA61E7BEB9C00403196 /* LICENSE in Resources */ = {isa = PBXBuildFile; fileRef = 0DB50FA51E7BEB9C00403196 /* LICENSE */; };
@@ -21,6 +21,55 @@
2121
/* End PBXBuildFile section */
2222

2323
/* Begin PBXContainerItemProxy section */
24+
01DF4D70299BE88D00D986F9 /* PBXContainerItemProxy */ = {
25+
isa = PBXContainerItemProxy;
26+
containerPortal = 139725E42587E8BD00551302 /* Sparkle.xcodeproj */;
27+
proxyType = 2;
28+
remoteGlobalIDString = 726E07AD1CAF08D6001A286B;
29+
remoteInfo = SparkleInstallerLauncher;
30+
};
31+
01DF4D72299BE88D00D986F9 /* PBXContainerItemProxy */ = {
32+
isa = PBXContainerItemProxy;
33+
containerPortal = 139725E42587E8BD00551302 /* Sparkle.xcodeproj */;
34+
proxyType = 2;
35+
remoteGlobalIDString = 724BB36C1D31D0B7005D534A;
36+
remoteInfo = SparkleInstallerConnection;
37+
};
38+
01DF4D74299BE88D00D986F9 /* PBXContainerItemProxy */ = {
39+
isa = PBXContainerItemProxy;
40+
containerPortal = 139725E42587E8BD00551302 /* Sparkle.xcodeproj */;
41+
proxyType = 2;
42+
remoteGlobalIDString = 724BB3931D333832005D534A;
43+
remoteInfo = SparkleInstallerStatus;
44+
};
45+
01DF4D76299BE88D00D986F9 /* PBXContainerItemProxy */ = {
46+
isa = PBXContainerItemProxy;
47+
containerPortal = 139725E42587E8BD00551302 /* Sparkle.xcodeproj */;
48+
proxyType = 2;
49+
remoteGlobalIDString = 726E07EF1CAF37BD001A286B;
50+
remoteInfo = SparkleDownloader;
51+
};
52+
01DF4D78299BE88D00D986F9 /* PBXContainerItemProxy */ = {
53+
isa = PBXContainerItemProxy;
54+
containerPortal = 139725E42587E8BD00551302 /* Sparkle.xcodeproj */;
55+
proxyType = 2;
56+
remoteGlobalIDString = 726E4A161C86C88F00C57C6A;
57+
remoteInfo = TestAppHelper;
58+
};
59+
01DF4D7A299BE88D00D986F9 /* PBXContainerItemProxy */ = {
60+
isa = PBXContainerItemProxy;
61+
containerPortal = 139725E42587E8BD00551302 /* Sparkle.xcodeproj */;
62+
proxyType = 2;
63+
remoteGlobalIDString = 72D9549E1CBB415B006F28BD;
64+
remoteInfo = "sparkle-cli";
65+
};
66+
01DF4D7C299BE88D00D986F9 /* PBXContainerItemProxy */ = {
67+
isa = PBXContainerItemProxy;
68+
containerPortal = 139725E42587E8BD00551302 /* Sparkle.xcodeproj */;
69+
proxyType = 2;
70+
remoteGlobalIDString = 721C24451CB753E6005440CB;
71+
remoteInfo = "Installer Progress";
72+
};
2473
139725F72587E8BD00551302 /* PBXContainerItemProxy */ = {
2574
isa = PBXContainerItemProxy;
2675
containerPortal = 139725E42587E8BD00551302 /* Sparkle.xcodeproj */;
@@ -63,13 +112,6 @@
63112
remoteGlobalIDString = 726B2B5D1C645FC900388755;
64113
remoteInfo = "UI Tests";
65114
};
66-
139726032587E8BD00551302 /* PBXContainerItemProxy */ = {
67-
isa = PBXContainerItemProxy;
68-
containerPortal = 139725E42587E8BD00551302 /* Sparkle.xcodeproj */;
69-
proxyType = 2;
70-
remoteGlobalIDString = 722954B41D04ADAF00ECF9CA;
71-
remoteInfo = fileop;
72-
};
73115
139726052587E8BD00551302 /* PBXContainerItemProxy */ = {
74116
isa = PBXContainerItemProxy;
75117
containerPortal = 139725E42587E8BD00551302 /* Sparkle.xcodeproj */;
@@ -137,13 +179,12 @@
137179
/* End PBXCopyFilesBuildPhase section */
138180

139181
/* Begin PBXFileReference section */
140-
0D0CEC4B1E4CECEC00AD34FD /* App Downloader.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "App Downloader.entitlements"; sourceTree = "<group>"; };
182+
0149A2A429B404DC008467B1 /* Color+HexString.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Color+HexString.swift"; sourceTree = "<group>"; };
141183
0D4503701E2431CC00F5F4FE /* App Downloader.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "App Downloader.app"; sourceTree = BUILT_PRODUCTS_DIR; };
142184
0D4503731E2431CC00F5F4FE /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
143185
0D4503751E2431CC00F5F4FE /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
144186
0D4503771E2431CC00F5F4FE /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
145187
0D45037C1E2431CC00F5F4FE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
146-
0D4503821E24321300F5F4FE /* DownloadLocation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DownloadLocation.swift; sourceTree = "<group>"; };
147188
0D4503841E24323000F5F4FE /* Search.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Search.swift; sourceTree = "<group>"; };
148189
0D4503871E24328700F5F4FE /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
149190
0DB50FA51E7BEB9C00403196 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
@@ -192,11 +233,10 @@
192233
0D4503721E2431CC00F5F4FE /* App Downloader */ = {
193234
isa = PBXGroup;
194235
children = (
195-
0D0CEC4B1E4CECEC00AD34FD /* App Downloader.entitlements */,
196236
0D4503731E2431CC00F5F4FE /* AppDelegate.swift */,
197237
0D4503751E2431CC00F5F4FE /* ViewController.swift */,
198238
0D4503841E24323000F5F4FE /* Search.swift */,
199-
0D4503821E24321300F5F4FE /* DownloadLocation.swift */,
239+
0149A2A429B404DC008467B1 /* Color+HexString.swift */,
200240
0D4503861E24328700F5F4FE /* Main.storyboard */,
201241
0D4503771E2431CC00F5F4FE /* Assets.xcassets */,
202242
0D45037C1E2431CC00F5F4FE /* Info.plist */,
@@ -208,12 +248,18 @@
208248
isa = PBXGroup;
209249
children = (
210250
139725F82587E8BD00551302 /* Sparkle.framework */,
251+
139726002587E8BD00551302 /* Autoupdate */,
252+
01DF4D71299BE88D00D986F9 /* Installer.xpc */,
253+
01DF4D73299BE88D00D986F9 /* InstallerConnection.xpc */,
254+
01DF4D75299BE88D00D986F9 /* InstallerStatus.xpc */,
255+
01DF4D77299BE88D00D986F9 /* Downloader.xpc */,
211256
139725FA2587E8BD00551302 /* Sparkle Test App.app */,
257+
01DF4D79299BE88D00D986F9 /* TestAppHelper.xpc */,
212258
139725FC2587E8BD00551302 /* Sparkle Unit Tests.xctest */,
213259
139725FE2587E8BD00551302 /* BinaryDelta */,
214-
139726002587E8BD00551302 /* Autoupdate.app */,
260+
01DF4D7B299BE88D00D986F9 /* sparkle.app */,
261+
01DF4D7D299BE88D00D986F9 /* Updater.app */,
215262
139726022587E8BD00551302 /* UI Tests.xctest */,
216-
139726042587E8BD00551302 /* fileop */,
217263
139726062587E8BD00551302 /* generate_appcast */,
218264
139726082587E8BD00551302 /* generate_keys */,
219265
1397260A2587E8BD00551302 /* sign_update */,
@@ -268,7 +314,7 @@
268314
isa = PBXProject;
269315
attributes = {
270316
LastSwiftUpdateCheck = 0820;
271-
LastUpgradeCheck = 1220;
317+
LastUpgradeCheck = 1420;
272318
TargetAttributes = {
273319
0D45036F1E2431CC00F5F4FE = {
274320
CreatedOnToolsVersion = 8.2.1;
@@ -314,6 +360,55 @@
314360
/* End PBXProject section */
315361

316362
/* Begin PBXReferenceProxy section */
363+
01DF4D71299BE88D00D986F9 /* Installer.xpc */ = {
364+
isa = PBXReferenceProxy;
365+
fileType = "wrapper.xpc-service";
366+
path = Installer.xpc;
367+
remoteRef = 01DF4D70299BE88D00D986F9 /* PBXContainerItemProxy */;
368+
sourceTree = BUILT_PRODUCTS_DIR;
369+
};
370+
01DF4D73299BE88D00D986F9 /* InstallerConnection.xpc */ = {
371+
isa = PBXReferenceProxy;
372+
fileType = "wrapper.xpc-service";
373+
path = InstallerConnection.xpc;
374+
remoteRef = 01DF4D72299BE88D00D986F9 /* PBXContainerItemProxy */;
375+
sourceTree = BUILT_PRODUCTS_DIR;
376+
};
377+
01DF4D75299BE88D00D986F9 /* InstallerStatus.xpc */ = {
378+
isa = PBXReferenceProxy;
379+
fileType = "wrapper.xpc-service";
380+
path = InstallerStatus.xpc;
381+
remoteRef = 01DF4D74299BE88D00D986F9 /* PBXContainerItemProxy */;
382+
sourceTree = BUILT_PRODUCTS_DIR;
383+
};
384+
01DF4D77299BE88D00D986F9 /* Downloader.xpc */ = {
385+
isa = PBXReferenceProxy;
386+
fileType = "wrapper.xpc-service";
387+
path = Downloader.xpc;
388+
remoteRef = 01DF4D76299BE88D00D986F9 /* PBXContainerItemProxy */;
389+
sourceTree = BUILT_PRODUCTS_DIR;
390+
};
391+
01DF4D79299BE88D00D986F9 /* TestAppHelper.xpc */ = {
392+
isa = PBXReferenceProxy;
393+
fileType = "wrapper.xpc-service";
394+
path = TestAppHelper.xpc;
395+
remoteRef = 01DF4D78299BE88D00D986F9 /* PBXContainerItemProxy */;
396+
sourceTree = BUILT_PRODUCTS_DIR;
397+
};
398+
01DF4D7B299BE88D00D986F9 /* sparkle.app */ = {
399+
isa = PBXReferenceProxy;
400+
fileType = wrapper.application;
401+
path = sparkle.app;
402+
remoteRef = 01DF4D7A299BE88D00D986F9 /* PBXContainerItemProxy */;
403+
sourceTree = BUILT_PRODUCTS_DIR;
404+
};
405+
01DF4D7D299BE88D00D986F9 /* Updater.app */ = {
406+
isa = PBXReferenceProxy;
407+
fileType = wrapper.application;
408+
path = Updater.app;
409+
remoteRef = 01DF4D7C299BE88D00D986F9 /* PBXContainerItemProxy */;
410+
sourceTree = BUILT_PRODUCTS_DIR;
411+
};
317412
139725F82587E8BD00551302 /* Sparkle.framework */ = {
318413
isa = PBXReferenceProxy;
319414
fileType = wrapper.framework;
@@ -342,10 +437,10 @@
342437
remoteRef = 139725FD2587E8BD00551302 /* PBXContainerItemProxy */;
343438
sourceTree = BUILT_PRODUCTS_DIR;
344439
};
345-
139726002587E8BD00551302 /* Autoupdate.app */ = {
440+
139726002587E8BD00551302 /* Autoupdate */ = {
346441
isa = PBXReferenceProxy;
347-
fileType = wrapper.application;
348-
path = Autoupdate.app;
442+
fileType = "compiled.mach-o.executable";
443+
path = Autoupdate;
349444
remoteRef = 139725FF2587E8BD00551302 /* PBXContainerItemProxy */;
350445
sourceTree = BUILT_PRODUCTS_DIR;
351446
};
@@ -356,13 +451,6 @@
356451
remoteRef = 139726012587E8BD00551302 /* PBXContainerItemProxy */;
357452
sourceTree = BUILT_PRODUCTS_DIR;
358453
};
359-
139726042587E8BD00551302 /* fileop */ = {
360-
isa = PBXReferenceProxy;
361-
fileType = "compiled.mach-o.executable";
362-
path = fileop;
363-
remoteRef = 139726032587E8BD00551302 /* PBXContainerItemProxy */;
364-
sourceTree = BUILT_PRODUCTS_DIR;
365-
};
366454
139726062587E8BD00551302 /* generate_appcast */ = {
367455
isa = PBXReferenceProxy;
368456
fileType = "compiled.mach-o.executable";
@@ -432,8 +520,8 @@
432520
isa = PBXSourcesBuildPhase;
433521
buildActionMask = 2147483647;
434522
files = (
435-
0D4503831E24321300F5F4FE /* DownloadLocation.swift in Sources */,
436523
0D4503851E24323000F5F4FE /* Search.swift in Sources */,
524+
0149A2A529B404DC008467B1 /* Color+HexString.swift in Sources */,
437525
0D4503761E2431CC00F5F4FE /* ViewController.swift in Sources */,
438526
0D4503741E2431CC00F5F4FE /* AppDelegate.swift in Sources */,
439527
);
@@ -486,6 +574,7 @@
486574
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
487575
CODE_SIGN_IDENTITY = "-";
488576
COPY_PHASE_STRIP = NO;
577+
DEAD_CODE_STRIPPING = YES;
489578
DEBUG_INFORMATION_FORMAT = dwarf;
490579
ENABLE_STRICT_OBJC_MSGSEND = YES;
491580
ENABLE_TESTABILITY = YES;
@@ -545,6 +634,7 @@
545634
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
546635
CODE_SIGN_IDENTITY = "-";
547636
COPY_PHASE_STRIP = NO;
637+
DEAD_CODE_STRIPPING = YES;
548638
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
549639
ENABLE_NS_ASSERTIONS = NO;
550640
ENABLE_STRICT_OBJC_MSGSEND = YES;
@@ -567,15 +657,17 @@
567657
isa = XCBuildConfiguration;
568658
buildSettings = {
569659
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
570-
CODE_SIGN_ENTITLEMENTS = "App Downloader/App Downloader.entitlements";
571660
CODE_SIGN_IDENTITY = "Mac Developer";
572661
COMBINE_HIDPI_IMAGES = YES;
573-
CURRENT_PROJECT_VERSION = 6;
662+
CURRENT_PROJECT_VERSION = 7;
663+
DEAD_CODE_STRIPPING = YES;
574664
DEVELOPMENT_TEAM = "";
575665
ENABLE_HARDENED_RUNTIME = YES;
576666
INFOPLIST_FILE = "App Downloader/Info.plist";
667+
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities";
577668
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
578-
MARKETING_VERSION = 1.0.4;
669+
MACOSX_DEPLOYMENT_TARGET = 10.13;
670+
MARKETING_VERSION = 1.0.5;
579671
PRODUCT_BUNDLE_IDENTIFIER = "com.github.yep.App-Downloader";
580672
PRODUCT_NAME = "$(TARGET_NAME)";
581673
SWIFT_VERSION = 5.0;
@@ -586,15 +678,17 @@
586678
isa = XCBuildConfiguration;
587679
buildSettings = {
588680
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
589-
CODE_SIGN_ENTITLEMENTS = "App Downloader/App Downloader.entitlements";
590681
CODE_SIGN_IDENTITY = "Mac Developer";
591682
COMBINE_HIDPI_IMAGES = YES;
592-
CURRENT_PROJECT_VERSION = 6;
683+
CURRENT_PROJECT_VERSION = 7;
684+
DEAD_CODE_STRIPPING = YES;
593685
DEVELOPMENT_TEAM = "";
594686
ENABLE_HARDENED_RUNTIME = YES;
595687
INFOPLIST_FILE = "App Downloader/Info.plist";
688+
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities";
596689
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
597-
MARKETING_VERSION = 1.0.4;
690+
MACOSX_DEPLOYMENT_TARGET = 10.13;
691+
MARKETING_VERSION = 1.0.5;
598692
PRODUCT_BUNDLE_IDENTIFIER = "com.github.yep.App-Downloader";
599693
PRODUCT_NAME = "$(TARGET_NAME)";
600694
SWIFT_VERSION = 5.0;

App Downloader.xcodeproj/project.xcworkspace/contents.xcworkspacedata

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

App Downloader.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

App Downloader.xcodeproj/xcshareddata/xcschemes/App Downloader.xcscheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "1220"
3+
LastUpgradeVersion = "1420"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"

App Downloader/App Downloader.entitlements

Lines changed: 0 additions & 5 deletions
This file was deleted.

App Downloader/AppDelegate.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// AppDelegate.swift
33
// AppDownloader
44
//
5-
// Copyright (C) 2017-2020 Jahn Bertsch
5+
// Copyright (C) 2017-2023 Jahn Bertsch
66
//
77
// This program is free software: you can redistribute it and/or modify
88
// it under the terms of the GNU General Public License as published by
@@ -35,5 +35,9 @@ class AppDelegate: NSObject, NSApplicationDelegate {
3535
func applicationWillTerminate(_ aNotification: Notification) {
3636
// Insert code here to tear down your application
3737
}
38+
39+
func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
40+
return true
41+
}
3842
}
3943

0 commit comments

Comments
 (0)