diff --git a/AppIcon.icon/Assets/StosPlug.svg b/AppIcon.icon/Assets/StosPlug 2.svg
similarity index 100%
rename from AppIcon.icon/Assets/StosPlug.svg
rename to AppIcon.icon/Assets/StosPlug 2.svg
diff --git a/AppIcon.icon/Assets/StosPlug 3.svg b/AppIcon.icon/Assets/StosPlug 3.svg
new file mode 100644
index 0000000..458d629
--- /dev/null
+++ b/AppIcon.icon/Assets/StosPlug 3.svg
@@ -0,0 +1,3 @@
+
diff --git a/AppIcon.icon/icon.json b/AppIcon.icon/icon.json
index 6049cc2..a5163f5 100644
--- a/AppIcon.icon/icon.json
+++ b/AppIcon.icon/icon.json
@@ -1,8 +1,8 @@
{
"fill" : {
"linear-gradient" : [
- "display-p3:0.72718,1.00000,0.56150,1.00000",
- "display-p3:0.23889,0.54053,0.96826,1.00000"
+ "display-p3:0.72549,1.00000,0.56078,1.00000",
+ "display-p3:0.23922,0.54118,0.96863,1.00000"
],
"orientation" : {
"start" : {
@@ -17,20 +17,19 @@
},
"groups" : [
{
+ "hidden-specializations" : [
+ {
+ "value" : true
+ },
+ {
+ "appearance" : "tinted",
+ "value" : false
+ }
+ ],
"layers" : [
{
- "blend-mode" : "normal",
- "hidden" : false,
- "image-name" : "StosPlug.svg",
- "name" : "StosPlug",
- "opacity" : 0.5,
- "position" : {
- "scale" : 1,
- "translation-in-points" : [
- 0,
- 0
- ]
- }
+ "image-name" : "StosPlug 3.svg",
+ "name" : "StosPlug 3"
}
],
"shadow" : {
@@ -46,6 +45,45 @@
}
}
]
+ },
+ {
+ "hidden-specializations" : [
+ {
+ "value" : false
+ },
+ {
+ "appearance" : "tinted",
+ "value" : true
+ }
+ ],
+ "layers" : [
+ {
+ "fill-specializations" : [
+ {
+ "value" : {
+ "solid" : "display-p3:0.94916,0.94916,0.94916,0.50000"
+ }
+ },
+ {
+ "appearance" : "tinted",
+ "value" : {
+ "solid" : "display-p3:1.00000,1.00000,1.00000,0.50000"
+ }
+ }
+ ],
+ "hidden" : false,
+ "image-name" : "StosPlug 2.svg",
+ "name" : "StosPlug"
+ }
+ ],
+ "shadow" : {
+ "kind" : "neutral",
+ "opacity" : 0.5
+ },
+ "translucency" : {
+ "enabled" : true,
+ "value" : 0.5
+ }
}
],
"supported-platforms" : {
diff --git a/LocalDevVPN.xcodeproj/project.pbxproj b/LocalDevVPN.xcodeproj/project.pbxproj
index 33557c4..98710e5 100644
--- a/LocalDevVPN.xcodeproj/project.pbxproj
+++ b/LocalDevVPN.xcodeproj/project.pbxproj
@@ -420,7 +420,7 @@
DEVELOPMENT_TEAM = 42Q7QX86GV;
ENABLE_PREVIEWS = YES;
INFOPLIST_KEY_CFBundleDisplayName = LocalDevVPN;
- INFOPLIST_KEY_NSHumanReadableCopyright = Stossy11;
+ INFOPLIST_KEY_NSHumanReadableCopyright = "Coxson Engineering";
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
@@ -430,14 +430,15 @@
"$(inherited)",
"@executable_path/Frameworks",
);
+ MARKETING_VERSION = 1.0.0;
PRODUCT_BUNDLE_IDENTIFIER = com.jkcoxson.LocalDevVPN;
PROVISIONING_PROFILE_SPECIFIER = "";
- SUPPORTED_PLATFORMS = "appletvos appletvsimulator iphoneos iphonesimulator";
+ SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SWIFT_OBJC_BRIDGING_HEADER = "LocalDevVPN/LocalDevVPN-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
- TARGETED_DEVICE_FAMILY = "1,2,3";
+ TARGETED_DEVICE_FAMILY = "1,2";
TVOS_DEPLOYMENT_TARGET = 17.0;
};
name = Debug;
@@ -455,7 +456,7 @@
DEVELOPMENT_TEAM = 42Q7QX86GV;
ENABLE_PREVIEWS = YES;
INFOPLIST_KEY_CFBundleDisplayName = LocalDevVPN;
- INFOPLIST_KEY_NSHumanReadableCopyright = Stossy11;
+ INFOPLIST_KEY_NSHumanReadableCopyright = "Coxson Engineering";
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
@@ -465,13 +466,14 @@
"$(inherited)",
"@executable_path/Frameworks",
);
+ MARKETING_VERSION = 1.0.0;
PRODUCT_BUNDLE_IDENTIFIER = com.jkcoxson.LocalDevVPN;
PROVISIONING_PROFILE_SPECIFIER = "";
- SUPPORTED_PLATFORMS = "appletvos appletvsimulator iphoneos iphonesimulator";
+ SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SWIFT_OBJC_BRIDGING_HEADER = "LocalDevVPN/LocalDevVPN-Bridging-Header.h";
SWIFT_VERSION = 5.0;
- TARGETED_DEVICE_FAMILY = "1,2,3";
+ TARGETED_DEVICE_FAMILY = "1,2";
TVOS_DEPLOYMENT_TARGET = 17.0;
};
name = Release;
diff --git a/LocalDevVPN.xcodeproj/xcshareddata/xcschemes/StosVPN.xcscheme b/LocalDevVPN.xcodeproj/xcshareddata/xcschemes/LocalDevVPN.xcscheme
similarity index 100%
rename from LocalDevVPN.xcodeproj/xcshareddata/xcschemes/StosVPN.xcscheme
rename to LocalDevVPN.xcodeproj/xcshareddata/xcschemes/LocalDevVPN.xcscheme
diff --git a/LocalDevVPN.xcodeproj/xcshareddata/xcschemes/TunnelProv.xcscheme b/LocalDevVPN.xcodeproj/xcshareddata/xcschemes/TunnelProv.xcscheme
index d892b55..8d51541 100644
--- a/LocalDevVPN.xcodeproj/xcshareddata/xcschemes/TunnelProv.xcscheme
+++ b/LocalDevVPN.xcodeproj/xcshareddata/xcschemes/TunnelProv.xcscheme
@@ -19,7 +19,7 @@
BlueprintIdentifier = "4EB3C76D2D96715400C1B22C"
BuildableName = "TunnelProv.appex"
BlueprintName = "TunnelProv"
- ReferencedContainer = "container:StosVPN.xcodeproj">
+ ReferencedContainer = "container:LocalDevVPN.xcodeproj">
+ ReferencedContainer = "container:LocalDevVPN.xcodeproj">
@@ -64,7 +64,7 @@
BlueprintIdentifier = "4EB3C7572D96631A00C1B22C"
BuildableName = "LocalDevVPN.app"
BlueprintName = "LocalDevVPN"
- ReferencedContainer = "container:StosVPN.xcodeproj">
+ ReferencedContainer = "container:LocalDevVPN.xcodeproj">
@@ -74,7 +74,6 @@
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES"
- askForAppToLaunch = "Yes"
launchAutomaticallySubstyle = "2">
@@ -83,7 +82,7 @@
BlueprintIdentifier = "4EB3C7572D96631A00C1B22C"
BuildableName = "LocalDevVPN.app"
BlueprintName = "LocalDevVPN"
- ReferencedContainer = "container:StosVPN.xcodeproj">
+ ReferencedContainer = "container:LocalDevVPN.xcodeproj">
diff --git a/LocalDevVPN.xcodeproj/xcuserdata/stossy11.xcuserdatad/xcschemes/xcschememanagement.plist b/LocalDevVPN.xcodeproj/xcuserdata/stossy11.xcuserdatad/xcschemes/xcschememanagement.plist
index ee4d95c..9c08aa7 100644
--- a/LocalDevVPN.xcodeproj/xcuserdata/stossy11.xcuserdatad/xcschemes/xcschememanagement.plist
+++ b/LocalDevVPN.xcodeproj/xcuserdata/stossy11.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -4,7 +4,7 @@
SchemeUserState
- StosVPN.xcscheme_^#shared#^_
+ LocalDevVPN.xcscheme_^#shared#^_
orderHint
0
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.appiconset/Contents.json b/LocalDevVPN/Assets.xcassets/AppIcon.appiconset/Contents.json
index 2c36209..93d450e 100644
--- a/LocalDevVPN/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ b/LocalDevVPN/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -1,7 +1,7 @@
{
"images" : [
{
- "filename" : "StosVPN-icon.jpg",
+ "filename" : "image-5.png",
"idiom" : "universal",
"platform" : "ios",
"size" : "1024x1024"
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.appiconset/StosVPN-icon.jpg b/LocalDevVPN/Assets.xcassets/AppIcon.appiconset/StosVPN-icon.jpg
deleted file mode 100644
index 9dc50d5..0000000
Binary files a/LocalDevVPN/Assets.xcassets/AppIcon.appiconset/StosVPN-icon.jpg and /dev/null differ
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.appiconset/image-5.png b/LocalDevVPN/Assets.xcassets/AppIcon.appiconset/image-5.png
new file mode 100644
index 0000000..2126129
Binary files /dev/null and b/LocalDevVPN/Assets.xcassets/AppIcon.appiconset/image-5.png differ
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/1280x768 copy 3.jpeg b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/1280x768 copy 3.jpeg
deleted file mode 100644
index f0a3c06..0000000
Binary files a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/1280x768 copy 3.jpeg and /dev/null differ
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json
index c8220ca..9326ce8 100644
--- a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json
+++ b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json
@@ -1,7 +1,7 @@
{
"images" : [
{
- "filename" : "1280x768 copy 3.jpeg",
+ "filename" : "image-2.png",
"idiom" : "tv"
}
],
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/image-2.png b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/image-2.png
new file mode 100644
index 0000000..8acb278
Binary files /dev/null and b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/image-2.png differ
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/1280x768.png b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/1280x768.png
deleted file mode 100644
index 7ef95d2..0000000
Binary files a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/1280x768.png and /dev/null differ
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json
index 27e4230..86db792 100644
--- a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json
+++ b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json
@@ -1,7 +1,7 @@
{
"images" : [
{
- "filename" : "1280x768.png",
+ "filename" : "image.png",
"idiom" : "tv"
}
],
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/image.png b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/image.png
new file mode 100644
index 0000000..3df4318
Binary files /dev/null and b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/image.png differ
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/1280x768 copy 3.jpeg b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/1280x768 copy 3.jpeg
deleted file mode 100644
index f0a3c06..0000000
Binary files a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/1280x768 copy 3.jpeg and /dev/null differ
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json
index c8220ca..9326ce8 100644
--- a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json
+++ b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json
@@ -1,7 +1,7 @@
{
"images" : [
{
- "filename" : "1280x768 copy 3.jpeg",
+ "filename" : "image-2.png",
"idiom" : "tv"
}
],
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/image-2.png b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/image-2.png
new file mode 100644
index 0000000..8acb278
Binary files /dev/null and b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/image-2.png differ
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Back.imagestacklayer/Content.imageset/Content.png b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Back.imagestacklayer/Content.imageset/Content.png
deleted file mode 100644
index 89a14de..0000000
Binary files a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Back.imagestacklayer/Content.imageset/Content.png and /dev/null differ
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Back.imagestacklayer/Content.imageset/Content@2x.png b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Back.imagestacklayer/Content.imageset/Content@2x.png
deleted file mode 100644
index 4c0fa55..0000000
Binary files a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Back.imagestacklayer/Content.imageset/Content@2x.png and /dev/null differ
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json
index 1e15e2e..35b8820 100644
--- a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json
+++ b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json
@@ -1,12 +1,12 @@
{
"images" : [
{
- "filename" : "Content.png",
+ "filename" : "image-2 1.png",
"idiom" : "tv",
"scale" : "1x"
},
{
- "filename" : "Content@2x.png",
+ "filename" : "image-2.png",
"idiom" : "tv",
"scale" : "2x"
}
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Back.imagestacklayer/Content.imageset/image-2 1.png b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Back.imagestacklayer/Content.imageset/image-2 1.png
new file mode 100644
index 0000000..a87565b
Binary files /dev/null and b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Back.imagestacklayer/Content.imageset/image-2 1.png differ
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Back.imagestacklayer/Content.imageset/image-2.png b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Back.imagestacklayer/Content.imageset/image-2.png
new file mode 100644
index 0000000..facd072
Binary files /dev/null and b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Back.imagestacklayer/Content.imageset/image-2.png differ
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json
index 0de3f67..db44b78 100644
--- a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json
+++ b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json
@@ -1,12 +1,12 @@
{
"images" : [
{
- "filename" : "cool.png",
+ "filename" : "image.png",
"idiom" : "tv",
"scale" : "1x"
},
{
- "filename" : "cool 1.png",
+ "filename" : "image 1.png",
"idiom" : "tv",
"scale" : "2x"
}
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Front.imagestacklayer/Content.imageset/cool 1.png b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Front.imagestacklayer/Content.imageset/cool 1.png
deleted file mode 100644
index a7be7ca..0000000
Binary files a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Front.imagestacklayer/Content.imageset/cool 1.png and /dev/null differ
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Front.imagestacklayer/Content.imageset/cool.png b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Front.imagestacklayer/Content.imageset/cool.png
deleted file mode 100644
index 6cb0562..0000000
Binary files a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Front.imagestacklayer/Content.imageset/cool.png and /dev/null differ
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Front.imagestacklayer/Content.imageset/image 1.png b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Front.imagestacklayer/Content.imageset/image 1.png
new file mode 100644
index 0000000..5c08551
Binary files /dev/null and b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Front.imagestacklayer/Content.imageset/image 1.png differ
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Front.imagestacklayer/Content.imageset/image.png b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Front.imagestacklayer/Content.imageset/image.png
new file mode 100644
index 0000000..5c08551
Binary files /dev/null and b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Front.imagestacklayer/Content.imageset/image.png differ
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Middle.imagestacklayer/Content.imageset/Content.png b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Middle.imagestacklayer/Content.imageset/Content.png
deleted file mode 100644
index 5e99d16..0000000
Binary files a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Middle.imagestacklayer/Content.imageset/Content.png and /dev/null differ
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Middle.imagestacklayer/Content.imageset/Content@2x.png b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Middle.imagestacklayer/Content.imageset/Content@2x.png
deleted file mode 100644
index 5e99d16..0000000
Binary files a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Middle.imagestacklayer/Content.imageset/Content@2x.png and /dev/null differ
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json
index 1e15e2e..7c01749 100644
--- a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json
+++ b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json
@@ -1,12 +1,12 @@
{
"images" : [
{
- "filename" : "Content.png",
+ "filename" : "image-2.png",
"idiom" : "tv",
"scale" : "1x"
},
{
- "filename" : "Content@2x.png",
+ "filename" : "image-2 1.png",
"idiom" : "tv",
"scale" : "2x"
}
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Middle.imagestacklayer/Content.imageset/image-2 1.png b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Middle.imagestacklayer/Content.imageset/image-2 1.png
new file mode 100644
index 0000000..facd072
Binary files /dev/null and b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Middle.imagestacklayer/Content.imageset/image-2 1.png differ
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Middle.imagestacklayer/Content.imageset/image-2.png b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Middle.imagestacklayer/Content.imageset/image-2.png
new file mode 100644
index 0000000..facd072
Binary files /dev/null and b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/AppIcon.imagestack/Middle.imagestacklayer/Content.imageset/image-2.png differ
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image Wide.imageset/1280x768 copy 4 2.jpeg b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image Wide.imageset/1280x768 copy 4 2.jpeg
deleted file mode 100644
index 43f56a7..0000000
Binary files a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image Wide.imageset/1280x768 copy 4 2.jpeg and /dev/null differ
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image Wide.imageset/1280x768 copy 4.jpeg b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image Wide.imageset/1280x768 copy 4.jpeg
deleted file mode 100644
index 7e958fe..0000000
Binary files a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image Wide.imageset/1280x768 copy 4.jpeg and /dev/null differ
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image Wide.imageset/Contents.json b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image Wide.imageset/Contents.json
index b9e7578..6fb3940 100644
--- a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image Wide.imageset/Contents.json
+++ b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image Wide.imageset/Contents.json
@@ -1,12 +1,12 @@
{
"images" : [
{
- "filename" : "1280x768 copy 4.jpeg",
+ "filename" : "image-3.png",
"idiom" : "tv",
"scale" : "1x"
},
{
- "filename" : "1280x768 copy 4 2.jpeg",
+ "filename" : "image-3 1.png",
"idiom" : "tv",
"scale" : "2x"
}
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image Wide.imageset/image-3 1.png b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image Wide.imageset/image-3 1.png
new file mode 100644
index 0000000..7b036cc
Binary files /dev/null and b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image Wide.imageset/image-3 1.png differ
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image Wide.imageset/image-3.png b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image Wide.imageset/image-3.png
new file mode 100644
index 0000000..1fe1efd
Binary files /dev/null and b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image Wide.imageset/image-3.png differ
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image.imageset/1280x768 copy 4.jpeg b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image.imageset/1280x768 copy 4.jpeg
deleted file mode 100644
index 5be157c..0000000
Binary files a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image.imageset/1280x768 copy 4.jpeg and /dev/null differ
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image.imageset/1280x768 copy 5.jpeg b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image.imageset/1280x768 copy 5.jpeg
deleted file mode 100644
index eb86f22..0000000
Binary files a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image.imageset/1280x768 copy 5.jpeg and /dev/null differ
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image.imageset/Contents.json b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image.imageset/Contents.json
index 455acd2..7cec0cd 100644
--- a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image.imageset/Contents.json
+++ b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image.imageset/Contents.json
@@ -1,12 +1,12 @@
{
"images" : [
{
- "filename" : "1280x768 copy 4.jpeg",
+ "filename" : "image-4.png",
"idiom" : "tv",
"scale" : "1x"
},
{
- "filename" : "1280x768 copy 5.jpeg",
+ "filename" : "image-4 1.png",
"idiom" : "tv",
"scale" : "2x"
}
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image.imageset/image-4 1.png b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image.imageset/image-4 1.png
new file mode 100644
index 0000000..f7a16a0
Binary files /dev/null and b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image.imageset/image-4 1.png differ
diff --git a/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image.imageset/image-4.png b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image.imageset/image-4.png
new file mode 100644
index 0000000..8c51316
Binary files /dev/null and b/LocalDevVPN/Assets.xcassets/AppIcon.brandassets/Top Shelf Image.imageset/image-4.png differ
diff --git a/LocalDevVPN/ContentView.swift b/LocalDevVPN/ContentView.swift
index 7cddc56..8267c57 100644
--- a/LocalDevVPN/ContentView.swift
+++ b/LocalDevVPN/ContentView.swift
@@ -655,8 +655,9 @@ struct ContentView: View {
Button {
showSettings = true
} label: {
- Image(systemName: "gear")
- .foregroundColor(.primary)
+ Image(systemName: "gearshape.fill")
+ .font(.system(size: 20, weight: .medium))
+ .foregroundColor(.secondary)
}
}
}
@@ -727,6 +728,7 @@ struct StatusIndicatorView: View {
.font(.subheadline)
.foregroundColor(tunnelManager.tunnelStatus == .connected ? .green : .secondary)
}
+ .padding(.horizontal)
}
private func updateAnimation() {
@@ -757,16 +759,39 @@ struct ConnectionButton: View {
var body: some View {
Button(action: action) {
- HStack {
- Text(buttonText)
- .font(.headline)
- .fontWeight(.semibold)
-
- if tunnelManager.tunnelStatus == .connecting || tunnelManager.tunnelStatus == .disconnecting {
- ProgressView()
- .progressViewStyle(CircularProgressViewStyle())
- .padding(.leading, 5)
+ if #available(iOS 19.0, *) {
+ HStack(spacing: 8) {
+ if tunnelManager.tunnelStatus == .connecting || tunnelManager.tunnelStatus == .disconnecting {
+ ProgressView()
+ .progressViewStyle(CircularProgressViewStyle(tint: .white))
+ }
+
+ Text(buttonText)
+ .font(.system(size: 17, weight: .semibold))
}
+ .frame(maxWidth: .infinity)
+ .frame(height: 56)
+ .glassEffect(.regular.interactive().tint(tunnelManager.tunnelStatus != .connected ? .red : .green), in: RoundedRectangle(cornerRadius: 14, style: .continuous))
+ .foregroundColor(.white)
+ .shadow(color: tunnelManager.tunnelStatus.color.opacity(0.3), radius: 12, x: 0, y: 6)
+ } else {
+ HStack(spacing: 8) {
+ if tunnelManager.tunnelStatus == .connecting || tunnelManager.tunnelStatus == .disconnecting {
+ ProgressView()
+ .progressViewStyle(CircularProgressViewStyle(tint: .white))
+ }
+
+ Text(buttonText)
+ .font(.system(size: 17, weight: .semibold))
+ }
+ .frame(maxWidth: .infinity)
+ .frame(height: 56)
+ .background(
+ RoundedRectangle(cornerRadius: 14, style: .continuous)
+ .fill(buttonBackground)
+ )
+ .foregroundColor(.white)
+ .shadow(color: tunnelManager.tunnelStatus.color.opacity(0.3), radius: 12, x: 0, y: 6)
}
.frame(width: 200, height: 50)
.background(buttonBackground)
@@ -775,6 +800,7 @@ struct ConnectionButton: View {
.shadow(color: Color.black.opacity(0.15), radius: 10, x: 0, y: 5)
}
.disabled(tunnelManager.tunnelStatus == .connecting || tunnelManager.tunnelStatus == .disconnecting)
+ .padding(.horizontal, 20)
}
private var buttonText: String {
@@ -862,16 +888,21 @@ struct ConnectionStatsView: View {
if hours > 0 {
return String(format: "%02d:%02d:%02d", hours, minutes, seconds)
} else {
- return String(format: "%02d:%02d", minutes, seconds)
+ return LinearGradient(
+ colors: [Color.blue, Color.blue.opacity(0.8)],
+ startPoint: .topLeading,
+ endPoint: .bottomTrailing
+ )
}
}
}
-struct StatItemView: View {
- let title: LocalizedStringKey
- let value: String
+struct InfoCard: View {
let icon: String
-
+ let title: String
+ let subtitle: String
+ let accentColor: Color
+
var body: some View {
VStack(alignment: .leading, spacing: 10) {
HStack {
@@ -879,15 +910,24 @@ struct StatItemView: View {
.foregroundColor(.blue)
Text(title)
- .font(.caption)
+ .font(.system(size: 15, weight: .semibold))
+ .foregroundColor(.primary)
+
+ Text(subtitle)
+ .font(.system(size: 13, weight: .regular))
.foregroundColor(.secondary)
+ .lineLimit(2)
}
Text(value)
.font(.system(size: 16, weight: .semibold))
.foregroundColor(.primary)
}
- .frame(maxWidth: .infinity, alignment: .leading)
+ .padding(16)
+ .background(
+ RoundedRectangle(cornerRadius: 14, style: .continuous)
+ .fill(Color(UIColor.secondarySystemGroupedBackground))
+ )
}
}
@@ -1151,10 +1191,18 @@ struct HelpView: View {
}
}
Section(header: Text("app_info_header")) {
- HStack {
- Image(systemName: "exclamationmark.shield")
- Text("requires_ios")
+ if let minVersion = Bundle.main.infoDictionary?["MinimumOSVersion"] as? String {
+ let message = String(
+ format: NSLocalizedString("requires_ios", comment: ""),
+ minVersion
+ )
+ HStack {
+ Image(systemName: "exclamationmark.shield")
+ Text(message)
+ }
}
+
+
HStack {
Image(systemName: "lock.shield")
Text("uses_network_extension")