Skip to content

Commit 95ec57f

Browse files
authored
Merge pull request #19 from nythepegasus/feat/backport
feat: add package to backport to iOS 14, fix other portions
2 parents 118bbf0 + d1f30b9 commit 95ec57f

File tree

9 files changed

+161
-84
lines changed

9 files changed

+161
-84
lines changed

.DS_Store

-6 KB
Binary file not shown.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
CodeSigning.xcconfig
12
*.ipa
23
/build
34

Build.xcconfig

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
// Configuration settings file format documentation can be found at:
2+
// https://help.apple.com/xcode/#/dev745c5c974
3+
4+
MARKETING_VERSION = 1.1.1
5+
CURRENT_PROJECT_VERSION = 1
6+
7+
// Vars to be overwritten by `CodeSigning.xcconfig` if exists
8+
DEVELOPMENT_TEAM = S32Z3HMYVQ
9+
ORG_IDENTIFIER = com.stossy11
10+
11+
// Codesigning settings defined optionally, see `CodeSigning.xcconfig.example`
12+
#include? "CodeSigning.xcconfig"
13+
14+
ORG_PREFIX = $(ORG_IDENTIFIER)
15+
16+
PRODUCT_BUNDLE_IDENTIFIER = $(ORG_PREFIX).StosVPN
17+
18+
TUNNEL_NAME = TunnelProv
19+
20+
TUNNEL_BUNDLE_IDENTIFIER = $(PRODUCT_BUNDLE_IDENTIFIER).$(TUNNEL_NAME)
21+
22+
// Mute warnings about duplicate classes in AuthKit and AuthUIKit
23+
DEBUG_DUPLICATE_CLASSES = NO

CodeSigning.xcconfig.sample

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// Your Team ID.
2+
// If you have a paid Apple Developer account, you can find your Team ID at
3+
// https://developer.apple.com/account/#/membership
4+
DEVELOPMENT_TEAM = 95J8WZ4TN8
5+
6+
// Prefix of unique bundle IDs registered to you in Apple Developer Portal.
7+
// You need to register:
8+
// - com.myuniquename.StosVPN
9+
ORG_IDENTIFIER = com.stossy11
10+
11+
// Name of the iOS development signing certificate, you probably do not need
12+
// to change this.
13+
CODE_SIGN_IDENTITY_IOS = Apple Development
14+
15+
// Name of the iOS development signing certificate, you probably do not need
16+
// to change this.
17+
CODE_SIGN_IDENTITY_TVOS = Apple Development
18+
19+
// The values below are specific to macOS development. If you do not define
20+
// these keys, the build will default to ad-hoc signing. You will need to
21+
// follow `Documentation/MacDevelopment.md` to disable library verification and
22+
// remove unsupported entitlements.
23+
24+
// Name of the macOS development signing certificate. Comment out this line to
25+
// use ad-hoc signing.
26+
CODE_SIGN_IDENTITY_MAC = Apple Development
27+
28+
// Create a Mac provisioning profile for com.myuniquename.UTM with the
29+
// Hypervisor entitlements and get its UUID. If you do not have access to these
30+
// entitlements, comment out the line and delete the following entitlements
31+
// - com.apple.vm.device-access
32+
// from the following file
33+
// - Provenance/macOS.entitlements
34+
PROVISIONING_PROFILE_SPECIFIER_MAC = 00000000-1111-2222-3333-444444444444

StosVPN.xcodeproj/project.pbxproj

Lines changed: 63 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
objects = {
88

99
/* Begin PBXBuildFile section */
10+
0E6351BE2E18EABA002AF750 /* NavigationBackport in Frameworks */ = {isa = PBXBuildFile; productRef = 0E6351BD2E18EABA002AF750 /* NavigationBackport */; };
1011
4EB3C7712D96715400C1B22C /* NetworkExtension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4EB3C7702D96715400C1B22C /* NetworkExtension.framework */; };
1112
4EB3C7792D96715400C1B22C /* TunnelProv.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 4EB3C76E2D96715400C1B22C /* TunnelProv.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
1213
/* End PBXBuildFile section */
@@ -36,6 +37,9 @@
3637
/* End PBXCopyFilesBuildPhase section */
3738

3839
/* Begin PBXFileReference section */
40+
0E6351B62E18DF53002AF750 /* Build.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Build.xcconfig; sourceTree = "<group>"; };
41+
0E6351B72E18DF53002AF750 /* CodeSigning.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = CodeSigning.xcconfig; sourceTree = "<group>"; };
42+
0E6351B82E18DF53002AF750 /* CodeSigning.xcconfig.sample */ = {isa = PBXFileReference; lastKnownFileType = text; path = CodeSigning.xcconfig.sample; sourceTree = "<group>"; };
3943
4EB3C7582D96631A00C1B22C /* StosVPN.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = StosVPN.app; sourceTree = BUILT_PRODUCTS_DIR; };
4044
4EB3C76E2D96715400C1B22C /* TunnelProv.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = TunnelProv.appex; sourceTree = BUILT_PRODUCTS_DIR; };
4145
4EB3C7702D96715400C1B22C /* NetworkExtension.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = NetworkExtension.framework; path = System/Library/Frameworks/NetworkExtension.framework; sourceTree = SDKROOT; };
@@ -68,6 +72,7 @@
6872
isa = PBXFrameworksBuildPhase;
6973
buildActionMask = 2147483647;
7074
files = (
75+
0E6351BE2E18EABA002AF750 /* NavigationBackport in Frameworks */,
7176
);
7277
runOnlyForDeploymentPostprocessing = 0;
7378
};
@@ -85,6 +90,9 @@
8590
4EB3C74F2D96631A00C1B22C = {
8691
isa = PBXGroup;
8792
children = (
93+
0E6351B62E18DF53002AF750 /* Build.xcconfig */,
94+
0E6351B72E18DF53002AF750 /* CodeSigning.xcconfig */,
95+
0E6351B82E18DF53002AF750 /* CodeSigning.xcconfig.sample */,
8896
4EB3C75A2D96631A00C1B22C /* StosVPN */,
8997
4EB3C7722D96715400C1B22C /* TunnelProv */,
9098
4EB3C76F2D96715400C1B22C /* Frameworks */,
@@ -131,6 +139,7 @@
131139
);
132140
name = StosVPN;
133141
packageProductDependencies = (
142+
0E6351BD2E18EABA002AF750 /* NavigationBackport */,
134143
);
135144
productName = StosVPN;
136145
productReference = 4EB3C7582D96631A00C1B22C /* StosVPN.app */;
@@ -185,9 +194,14 @@
185194
knownRegions = (
186195
en,
187196
Base,
197+
es,
198+
it,
188199
);
189200
mainGroup = 4EB3C74F2D96631A00C1B22C;
190201
minimizedProjectReferenceProxies = 1;
202+
packageReferences = (
203+
0E6351BC2E18EABA002AF750 /* XCRemoteSwiftPackageReference "NavigationBackport" */,
204+
);
191205
productRefGroup = 4EB3C7592D96631A00C1B22C /* Products */;
192206
projectDirPath = "";
193207
projectRoot = "";
@@ -243,6 +257,7 @@
243257
/* Begin XCBuildConfiguration section */
244258
4EB3C7642D96631B00C1B22C /* Debug */ = {
245259
isa = XCBuildConfiguration;
260+
baseConfigurationReference = 0E6351B62E18DF53002AF750 /* Build.xcconfig */;
246261
buildSettings = {
247262
ALWAYS_SEARCH_USER_PATHS = NO;
248263
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
@@ -274,6 +289,7 @@
274289
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
275290
CLANG_WARN_UNREACHABLE_CODE = YES;
276291
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
292+
CODE_SIGN_ENTITLEMENTS = "$(TARGET_NAME)/$(TARGET_NAME).entitlements";
277293
COPY_PHASE_STRIP = NO;
278294
DEBUG_INFORMATION_FORMAT = dwarf;
279295
ENABLE_STRICT_OBJC_MSGSEND = YES;
@@ -293,19 +309,31 @@
293309
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
294310
GCC_WARN_UNUSED_FUNCTION = YES;
295311
GCC_WARN_UNUSED_VARIABLE = YES;
296-
IPHONEOS_DEPLOYMENT_TARGET = 18.2;
312+
GENERATE_INFOPLIST_FILE = YES;
313+
INFOPLIST_FILE = "$(TARGET_NAME)/Info.plist";
314+
INFOPLIST_KEY_CFBundleDisplayName = "$(TARGET_NAME)";
315+
INFOPLIST_KEY_NSHumanReadableCopyright = Stossy11;
316+
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
297317
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
318+
MACOSX_DEPLOYMENT_TARGET = 11.0;
298319
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
299320
MTL_FAST_MATH = YES;
300321
ONLY_ACTIVE_ARCH = YES;
322+
PRODUCT_NAME = "$(TARGET_NAME)";
301323
SDKROOT = iphoneos;
302324
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
325+
SWIFT_EMIT_LOC_STRINGS = YES;
303326
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
327+
TARGETED_DEVICE_FAMILY = "1,2";
328+
TVOS_DEPLOYMENT_TARGET = 15.0;
329+
WATCHOS_DEPLOYMENT_TARGET = 8.0;
330+
XROS_DEPLOYMENT_TARGET = 1.0;
304331
};
305332
name = Debug;
306333
};
307334
4EB3C7652D96631B00C1B22C /* Release */ = {
308335
isa = XCBuildConfiguration;
336+
baseConfigurationReference = 0E6351B62E18DF53002AF750 /* Build.xcconfig */;
309337
buildSettings = {
310338
ALWAYS_SEARCH_USER_PATHS = NO;
311339
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
@@ -337,6 +365,7 @@
337365
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
338366
CLANG_WARN_UNREACHABLE_CODE = YES;
339367
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
368+
CODE_SIGN_ENTITLEMENTS = "$(TARGET_NAME)/$(TARGET_NAME).entitlements";
340369
COPY_PHASE_STRIP = NO;
341370
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
342371
ENABLE_NS_ASSERTIONS = NO;
@@ -350,13 +379,24 @@
350379
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
351380
GCC_WARN_UNUSED_FUNCTION = YES;
352381
GCC_WARN_UNUSED_VARIABLE = YES;
353-
IPHONEOS_DEPLOYMENT_TARGET = 18.2;
382+
GENERATE_INFOPLIST_FILE = YES;
383+
INFOPLIST_FILE = "$(TARGET_NAME)/Info.plist";
384+
INFOPLIST_KEY_CFBundleDisplayName = "$(TARGET_NAME)";
385+
INFOPLIST_KEY_NSHumanReadableCopyright = Stossy11;
386+
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
354387
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
388+
MACOSX_DEPLOYMENT_TARGET = 11.0;
355389
MTL_ENABLE_DEBUG_INFO = NO;
356390
MTL_FAST_MATH = YES;
391+
PRODUCT_NAME = "$(TARGET_NAME)";
357392
SDKROOT = iphoneos;
358393
SWIFT_COMPILATION_MODE = wholemodule;
394+
SWIFT_EMIT_LOC_STRINGS = YES;
395+
TARGETED_DEVICE_FAMILY = "1,2";
396+
TVOS_DEPLOYMENT_TARGET = 15.0;
359397
VALIDATE_PRODUCT = YES;
398+
WATCHOS_DEPLOYMENT_TARGET = 8.0;
399+
XROS_DEPLOYMENT_TARGET = 1.0;
360400
};
361401
name = Release;
362402
};
@@ -366,32 +406,20 @@
366406
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
367407
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
368408
CLANG_ENABLE_MODULES = YES;
369-
CODE_SIGN_ENTITLEMENTS = StosVPN/StosVPN.entitlements;
370-
CODE_SIGN_STYLE = Automatic;
371-
CURRENT_PROJECT_VERSION = 1;
372409
DEVELOPMENT_ASSET_PATHS = "\"StosVPN/Preview Content\"";
373-
DEVELOPMENT_TEAM = 95J8WZ4TN8;
374410
ENABLE_PREVIEWS = YES;
375-
GENERATE_INFOPLIST_FILE = YES;
376-
INFOPLIST_FILE = StosVPN/Info.plist;
377411
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
378412
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
379413
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
380414
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
381415
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
382-
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
383416
LD_RUNPATH_SEARCH_PATHS = (
384417
"$(inherited)",
385418
"@executable_path/Frameworks",
386419
);
387-
MARKETING_VERSION = 1.1.0;
388-
PRODUCT_BUNDLE_IDENTIFIER = com.stossy11.StosVPN;
389-
PRODUCT_NAME = "$(TARGET_NAME)";
390-
SWIFT_EMIT_LOC_STRINGS = YES;
391420
SWIFT_OBJC_BRIDGING_HEADER = "StosVPN/StosVPN-Bridging-Header.h";
392421
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
393422
SWIFT_VERSION = 5.0;
394-
TARGETED_DEVICE_FAMILY = "1,2";
395423
};
396424
name = Debug;
397425
};
@@ -401,87 +429,49 @@
401429
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
402430
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
403431
CLANG_ENABLE_MODULES = YES;
404-
CODE_SIGN_ENTITLEMENTS = StosVPN/StosVPN.entitlements;
405-
CODE_SIGN_STYLE = Automatic;
406-
CURRENT_PROJECT_VERSION = 1;
407432
DEVELOPMENT_ASSET_PATHS = "\"StosVPN/Preview Content\"";
408-
DEVELOPMENT_TEAM = 95J8WZ4TN8;
409433
ENABLE_PREVIEWS = YES;
410-
GENERATE_INFOPLIST_FILE = YES;
411-
INFOPLIST_FILE = StosVPN/Info.plist;
412434
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
413435
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
414436
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
415437
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
416438
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
417-
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
418439
LD_RUNPATH_SEARCH_PATHS = (
419440
"$(inherited)",
420441
"@executable_path/Frameworks",
421442
);
422-
MARKETING_VERSION = 1.1.0;
423-
PRODUCT_BUNDLE_IDENTIFIER = com.stossy11.StosVPN;
424-
PRODUCT_NAME = "$(TARGET_NAME)";
425-
SWIFT_EMIT_LOC_STRINGS = YES;
426443
SWIFT_OBJC_BRIDGING_HEADER = "StosVPN/StosVPN-Bridging-Header.h";
427444
SWIFT_VERSION = 5.0;
428-
TARGETED_DEVICE_FAMILY = "1,2";
429445
};
430446
name = Release;
431447
};
432448
4EB3C77C2D96715400C1B22C /* Debug */ = {
433449
isa = XCBuildConfiguration;
434450
buildSettings = {
435-
CODE_SIGN_ENTITLEMENTS = TunnelProv/TunnelProv.entitlements;
436-
CODE_SIGN_STYLE = Automatic;
437-
CURRENT_PROJECT_VERSION = 2;
438-
DEVELOPMENT_TEAM = 95J8WZ4TN8;
439-
GENERATE_INFOPLIST_FILE = YES;
440-
INFOPLIST_FILE = TunnelProv/Info.plist;
441-
INFOPLIST_KEY_CFBundleDisplayName = TunnelProv;
442-
INFOPLIST_KEY_NSHumanReadableCopyright = "";
443-
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
444451
LD_RUNPATH_SEARCH_PATHS = (
445452
"$(inherited)",
446453
"@executable_path/Frameworks",
447454
"@executable_path/../../Frameworks",
448455
);
449-
MARKETING_VERSION = 1.1.0;
450-
PRODUCT_BUNDLE_IDENTIFIER = com.stossy11.StosVPN.TunnelProv;
451-
PRODUCT_NAME = "$(TARGET_NAME)";
456+
PRODUCT_BUNDLE_IDENTIFIER = "$(TUNNEL_BUNDLE_IDENTIFIER)";
452457
SKIP_INSTALL = YES;
453-
SWIFT_EMIT_LOC_STRINGS = YES;
454458
SWIFT_OBJC_BRIDGING_HEADER = "StosVPN/StosVPN-Bridging-Header.h";
455459
SWIFT_VERSION = 5.0;
456-
TARGETED_DEVICE_FAMILY = "1,2";
457460
};
458461
name = Debug;
459462
};
460463
4EB3C77D2D96715400C1B22C /* Release */ = {
461464
isa = XCBuildConfiguration;
462465
buildSettings = {
463-
CODE_SIGN_ENTITLEMENTS = TunnelProv/TunnelProv.entitlements;
464-
CODE_SIGN_STYLE = Automatic;
465-
CURRENT_PROJECT_VERSION = 2;
466-
DEVELOPMENT_TEAM = 95J8WZ4TN8;
467-
GENERATE_INFOPLIST_FILE = YES;
468-
INFOPLIST_FILE = TunnelProv/Info.plist;
469-
INFOPLIST_KEY_CFBundleDisplayName = TunnelProv;
470-
INFOPLIST_KEY_NSHumanReadableCopyright = "";
471-
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
472466
LD_RUNPATH_SEARCH_PATHS = (
473467
"$(inherited)",
474468
"@executable_path/Frameworks",
475469
"@executable_path/../../Frameworks",
476470
);
477-
MARKETING_VERSION = 1.1.0;
478-
PRODUCT_BUNDLE_IDENTIFIER = com.stossy11.StosVPN.TunnelProv;
479-
PRODUCT_NAME = "$(TARGET_NAME)";
471+
PRODUCT_BUNDLE_IDENTIFIER = "$(TUNNEL_BUNDLE_IDENTIFIER)";
480472
SKIP_INSTALL = YES;
481-
SWIFT_EMIT_LOC_STRINGS = YES;
482473
SWIFT_OBJC_BRIDGING_HEADER = "StosVPN/StosVPN-Bridging-Header.h";
483474
SWIFT_VERSION = 5.0;
484-
TARGETED_DEVICE_FAMILY = "1,2";
485475
};
486476
name = Release;
487477
};
@@ -516,6 +506,25 @@
516506
defaultConfigurationName = Release;
517507
};
518508
/* End XCConfigurationList section */
509+
510+
/* Begin XCRemoteSwiftPackageReference section */
511+
0E6351BC2E18EABA002AF750 /* XCRemoteSwiftPackageReference "NavigationBackport" */ = {
512+
isa = XCRemoteSwiftPackageReference;
513+
repositoryURL = "https://github.com/johnpatrickmorgan/NavigationBackport";
514+
requirement = {
515+
kind = upToNextMajorVersion;
516+
minimumVersion = 0.11.5;
517+
};
518+
};
519+
/* End XCRemoteSwiftPackageReference section */
520+
521+
/* Begin XCSwiftPackageProductDependency section */
522+
0E6351BD2E18EABA002AF750 /* NavigationBackport */ = {
523+
isa = XCSwiftPackageProductDependency;
524+
package = 0E6351BC2E18EABA002AF750 /* XCRemoteSwiftPackageReference "NavigationBackport" */;
525+
productName = NavigationBackport;
526+
};
527+
/* End XCSwiftPackageProductDependency section */
519528
};
520529
rootObject = 4EB3C7502D96631A00C1B22C /* Project object */;
521530
}

0 commit comments

Comments
 (0)