Skip to content

Commit a8a5c04

Browse files
committed
Adds shortcut action to stop LocalDevVPN Version 1.1.2
1 parent c7aff1e commit a8a5c04

File tree

2 files changed

+28
-4
lines changed

2 files changed

+28
-4
lines changed

LocalDevVPN.xcodeproj/project.pbxproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -432,7 +432,7 @@
432432
"$(inherited)",
433433
"@executable_path/Frameworks",
434434
);
435-
MARKETING_VERSION = 1.1.1;
435+
MARKETING_VERSION = 1.1.2;
436436
PRODUCT_BUNDLE_IDENTIFIER = com.jkcoxson.LocalDevVPN;
437437
PROVISIONING_PROFILE_SPECIFIER = "";
438438
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
@@ -469,7 +469,7 @@
469469
"$(inherited)",
470470
"@executable_path/Frameworks",
471471
);
472-
MARKETING_VERSION = 1.1.1;
472+
MARKETING_VERSION = 1.1.2;
473473
PRODUCT_BUNDLE_IDENTIFIER = com.jkcoxson.LocalDevVPN;
474474
PROVISIONING_PROFILE_SPECIFIER = "";
475475
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
@@ -493,7 +493,7 @@
493493
"@executable_path/Frameworks",
494494
"@executable_path/../../Frameworks",
495495
);
496-
MARKETING_VERSION = 1.1.0;
496+
MARKETING_VERSION = 1.1.2;
497497
PRODUCT_BUNDLE_IDENTIFIER = "$(TUNNEL_BUNDLE_IDENTIFIER)";
498498
"PRODUCT_BUNDLE_IDENTIFIER[sdk=appletvos*]" = com.jkcoxson.LocalDevVPN.TunnelProv;
499499
"PRODUCT_BUNDLE_IDENTIFIER[sdk=iphoneos*]" = com.jkcoxson.LocalDevVPN.TunnelProv;
@@ -519,7 +519,7 @@
519519
"@executable_path/Frameworks",
520520
"@executable_path/../../Frameworks",
521521
);
522-
MARKETING_VERSION = 1.1.0;
522+
MARKETING_VERSION = 1.1.2;
523523
PRODUCT_BUNDLE_IDENTIFIER = "$(TUNNEL_BUNDLE_IDENTIFIER)";
524524
"PRODUCT_BUNDLE_IDENTIFIER[sdk=appletvos*]" = com.jkcoxson.LocalDevVPN.TunnelProv;
525525
"PRODUCT_BUNDLE_IDENTIFIER[sdk=iphoneos*]" = com.jkcoxson.LocalDevVPN.TunnelProv;

LocalDevVPN/VPNShortcuts.swift

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,20 @@ struct StartLocalDevVPNIntent: AppIntent {
2525
}
2626
}
2727

28+
@available(iOS 16.0, *)
29+
struct StopLocalDevVPNIntent: AppIntent {
30+
static var title: LocalizedStringResource = "Stop LocalDevVPN"
31+
static var description = IntentDescription("Disconnects LocalDevVPN without launching the app.")
32+
33+
static var openAppWhenRun = false
34+
35+
@MainActor
36+
func perform() async throws -> some IntentResult {
37+
TunnelManager.shared.stopVPN()
38+
return .result()
39+
}
40+
}
41+
2842
@available(iOS 16.0, *)
2943
struct LocalDevVPNActions: AppShortcutsProvider {
3044
static var appShortcuts: [AppShortcut] {
@@ -38,6 +52,16 @@ struct LocalDevVPNActions: AppShortcutsProvider {
3852
shortTitle: "Start VPN",
3953
systemImageName: "lock.shield"
4054
)
55+
AppShortcut(
56+
intent: StopLocalDevVPNIntent(),
57+
phrases: [
58+
"Stop \(.applicationName)",
59+
"Disconnect \(.applicationName)",
60+
"Disable \(.applicationName)"
61+
],
62+
shortTitle: "Stop VPN",
63+
systemImageName: "lock.shield.slash"
64+
)
4165
}
4266
}
4367
#endif

0 commit comments

Comments
 (0)