diff --git a/DNSecure.xcodeproj/project.pbxproj b/DNSecure.xcodeproj/project.pbxproj index 952694f..1a91d2d 100644 --- a/DNSecure.xcodeproj/project.pbxproj +++ b/DNSecure.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 70; + objectVersion = 77; objects = { /* Begin PBXBuildFile section */ @@ -36,21 +36,7 @@ /* End PBXFileReference section */ /* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */ - 8968A7542E68669300DBEFD1 /* PBXFileSystemSynchronizedBuildFileExceptionSet */ = { - isa = PBXFileSystemSynchronizedBuildFileExceptionSet; - membershipExceptions = ( - Info.plist, - ); - target = 8940024824ACBD2800EBE74B /* DNSecureTests */; - }; - 8968A7552E68669300DBEFD1 /* PBXFileSystemSynchronizedBuildFileExceptionSet */ = { - isa = PBXFileSystemSynchronizedBuildFileExceptionSet; - membershipExceptions = ( - Info.plist, - ); - target = 8940025324ACBD2800EBE74B /* DNSecureUITests */; - }; - 899AD03F2E66100500449710 /* PBXFileSystemSynchronizedBuildFileExceptionSet */ = { + 899AD03F2E66100500449710 /* Exceptions for "DNSecure" folder in "DNSecure" target */ = { isa = PBXFileSystemSynchronizedBuildFileExceptionSet; membershipExceptions = ( Info.plist, @@ -60,9 +46,24 @@ /* End PBXFileSystemSynchronizedBuildFileExceptionSet section */ /* Begin PBXFileSystemSynchronizedRootGroup section */ - 899AD0232E66100500449710 /* DNSecure */ = {isa = PBXFileSystemSynchronizedRootGroup; exceptions = (899AD03F2E66100500449710 /* PBXFileSystemSynchronizedBuildFileExceptionSet */, ); explicitFileTypes = {}; explicitFolders = (); path = DNSecure; sourceTree = ""; }; - 899AD0422E66100E00449710 /* DNSecureTests */ = {isa = PBXFileSystemSynchronizedRootGroup; exceptions = (8968A7542E68669300DBEFD1 /* PBXFileSystemSynchronizedBuildFileExceptionSet */, ); explicitFileTypes = {}; explicitFolders = (); path = DNSecureTests; sourceTree = ""; }; - 899AD0472E66101100449710 /* DNSecureUITests */ = {isa = PBXFileSystemSynchronizedRootGroup; exceptions = (8968A7552E68669300DBEFD1 /* PBXFileSystemSynchronizedBuildFileExceptionSet */, ); explicitFileTypes = {}; explicitFolders = (); path = DNSecureUITests; sourceTree = ""; }; + 899AD0232E66100500449710 /* DNSecure */ = { + isa = PBXFileSystemSynchronizedRootGroup; + exceptions = ( + 899AD03F2E66100500449710 /* Exceptions for "DNSecure" folder in "DNSecure" target */, + ); + path = DNSecure; + sourceTree = ""; + }; + 899AD0422E66100E00449710 /* DNSecureTests */ = { + isa = PBXFileSystemSynchronizedRootGroup; + path = DNSecureTests; + sourceTree = ""; + }; + 899AD0472E66101100449710 /* DNSecureUITests */ = { + isa = PBXFileSystemSynchronizedRootGroup; + path = DNSecureUITests; + sourceTree = ""; + }; /* End PBXFileSystemSynchronizedRootGroup section */ /* Begin PBXFrameworksBuildPhase section */ @@ -210,7 +211,6 @@ }; }; buildConfigurationList = 8940023324ACBD2700EBE74B /* Build configuration list for PBXProject "DNSecure" */; - compatibilityVersion = "Xcode 9.3"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( @@ -218,6 +218,8 @@ Base, ); mainGroup = 8940022F24ACBD2700EBE74B; + minimizedProjectReferenceProxies = 1; + preferredProjectObjectVersion = 77; productRefGroup = 8940023924ACBD2700EBE74B /* Products */; projectDirPath = ""; projectRoot = ""; @@ -298,8 +300,7 @@ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; CLANG_ENABLE_OBJC_WEAK = YES; @@ -331,7 +332,7 @@ ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; ENABLE_USER_SCRIPT_SANDBOXING = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_C_LANGUAGE_STANDARD = gnu17; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; @@ -346,13 +347,14 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; - STRING_CATALOG_GENERATE_SYMBOLS = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 6.0; }; name = Debug; }; @@ -363,8 +365,7 @@ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; CLANG_ENABLE_OBJC_WEAK = YES; @@ -396,7 +397,7 @@ ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_USER_SCRIPT_SANDBOXING = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_C_LANGUAGE_STANDARD = gnu17; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; @@ -405,12 +406,12 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; SDKROOT = iphoneos; - STRING_CATALOG_GENERATE_SYMBOLS = YES; SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 6.0; VALIDATE_PRODUCT = YES; }; name = Release; @@ -423,11 +424,19 @@ CODE_SIGN_ENTITLEMENTS = DNSecure/DNSecure.entitlements; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_ASSET_PATHS = "\"DNSecure/Preview Content\""; + DEVELOPMENT_TEAM = X4678G5DL2; ENABLE_APP_SANDBOX = YES; ENABLE_OUTGOING_NETWORK_CONNECTIONS = YES; ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = DNSecure/Info.plist; + INFOPLIST_KEY_ITSAppUsesNonExemptEncryption = NO; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities"; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchScreen_Generation = YES; + INFOPLIST_KEY_UIRequiredDeviceCapabilities = armv7; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -435,10 +444,11 @@ MARKETING_VERSION = 1.5.1; PRODUCT_BUNDLE_IDENTIFIER = xyz.kebo.DNSecure; PRODUCT_NAME = "$(TARGET_NAME)"; - SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + STRING_CATALOG_GENERATE_SYMBOLS = YES; SUPPORTS_MACCATALYST = YES; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; - SWIFT_VERSION = 6.0; + SWIFT_APPROACHABLE_CONCURRENCY = YES; + SWIFT_EMIT_LOC_STRINGS = YES; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; @@ -451,11 +461,19 @@ CODE_SIGN_ENTITLEMENTS = DNSecure/DNSecure.entitlements; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_ASSET_PATHS = "\"DNSecure/Preview Content\""; + DEVELOPMENT_TEAM = X4678G5DL2; ENABLE_APP_SANDBOX = YES; ENABLE_OUTGOING_NETWORK_CONNECTIONS = YES; ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = DNSecure/Info.plist; + INFOPLIST_KEY_ITSAppUsesNonExemptEncryption = NO; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities"; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchScreen_Generation = YES; + INFOPLIST_KEY_UIRequiredDeviceCapabilities = armv7; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -463,10 +481,11 @@ MARKETING_VERSION = 1.5.1; PRODUCT_BUNDLE_IDENTIFIER = xyz.kebo.DNSecure; PRODUCT_NAME = "$(TARGET_NAME)"; - SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + STRING_CATALOG_GENERATE_SYMBOLS = YES; SUPPORTS_MACCATALYST = YES; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; - SWIFT_VERSION = 6.0; + SWIFT_APPROACHABLE_CONCURRENCY = YES; + SWIFT_EMIT_LOC_STRINGS = YES; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Release; @@ -476,17 +495,15 @@ buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = DNSecureTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = X4678G5DL2; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = xyz.kebo.DNSecureTests; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 6.0; + SWIFT_APPROACHABLE_CONCURRENCY = YES; TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/DNSecure.app/DNSecure"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/DNSecure.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/DNSecure"; }; name = Debug; }; @@ -495,17 +512,15 @@ buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = DNSecureTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = X4678G5DL2; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = xyz.kebo.DNSecureTests; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 6.0; + SWIFT_APPROACHABLE_CONCURRENCY = YES; TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/DNSecure.app/DNSecure"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/DNSecure.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/DNSecure"; }; name = Release; }; @@ -513,15 +528,13 @@ isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = DNSecureUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = X4678G5DL2; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = xyz.kebo.DNSecureUITests; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 6.0; + SWIFT_APPROACHABLE_CONCURRENCY = YES; TARGETED_DEVICE_FAMILY = "1,2"; TEST_TARGET_NAME = DNSecure; }; @@ -531,15 +544,13 @@ isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = DNSecureUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = X4678G5DL2; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = xyz.kebo.DNSecureUITests; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 6.0; + SWIFT_APPROACHABLE_CONCURRENCY = YES; TARGETED_DEVICE_FAMILY = "1,2"; TEST_TARGET_NAME = DNSecure; }; diff --git a/DNSecure/Info.plist b/DNSecure/Info.plist index 685536f..97ff79d 100644 --- a/DNSecure/Info.plist +++ b/DNSecure/Info.plist @@ -2,53 +2,10 @@ - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - $(PRODUCT_BUNDLE_PACKAGE_TYPE) - CFBundleShortVersionString - $(MARKETING_VERSION) - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - LSApplicationCategoryType - public.app-category.utilities - LSRequiresIPhoneOS - UIApplicationSceneManifest UIApplicationSupportsMultipleScenes - UIApplicationSupportsIndirectInputEvents - - UILaunchScreen - - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - ITSAppUsesNonExemptEncryption - diff --git a/DNSecure/Preview Content/Preview Assets.xcassets/Contents.json b/DNSecure/Preview Content/Preview Assets.xcassets/Contents.json deleted file mode 100644 index 73c0059..0000000 --- a/DNSecure/Preview Content/Preview Assets.xcassets/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/DNSecureTests/Info.plist b/DNSecureTests/Info.plist deleted file mode 100644 index 64d65ca..0000000 --- a/DNSecureTests/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - $(PRODUCT_BUNDLE_PACKAGE_TYPE) - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - - diff --git a/DNSecureUITests/DNSecureUITests.swift b/DNSecureUITests/DNSecureUITests.swift index 2eba5b7..6e08a48 100644 --- a/DNSecureUITests/DNSecureUITests.swift +++ b/DNSecureUITests/DNSecureUITests.swift @@ -7,7 +7,7 @@ import XCTest -class DNSecureUITests: XCTestCase { +final class DNSecureUITests: XCTestCase { override func setUpWithError() throws { // Put setup code here. This method is called before the invocation of each test method in the class. @@ -21,21 +21,20 @@ class DNSecureUITests: XCTestCase { // Put teardown code here. This method is called after the invocation of each test method in the class. } + @MainActor func testExample() throws { // UI tests must launch the application that they test. let app = XCUIApplication() app.launch() - // Use recording to get started writing UI tests. // Use XCTAssert and related functions to verify your tests produce the correct results. } + @MainActor func testLaunchPerformance() throws { - if #available(macOS 10.15, iOS 13.0, tvOS 13.0, *) { - // This measures how long it takes to launch your application. - measure(metrics: [XCTApplicationLaunchMetric()]) { - XCUIApplication().launch() - } + // This measures how long it takes to launch your application. + measure(metrics: [XCTApplicationLaunchMetric()]) { + XCUIApplication().launch() } } } diff --git a/DNSecureUITests/DNSecureUITestsLaunchTests.swift b/DNSecureUITests/DNSecureUITestsLaunchTests.swift new file mode 100644 index 0000000..7d8c6ea --- /dev/null +++ b/DNSecureUITests/DNSecureUITestsLaunchTests.swift @@ -0,0 +1,32 @@ +// +// DNSecureUITestsLaunchTests.swift +// DNSecureUITests +// +// Created by Kenta Kubo on 9/3/25. +// + +import XCTest + +final class DNSecureUITestsLaunchTests: XCTestCase { + override class var runsForEachTargetApplicationUIConfiguration: Bool { + true + } + + override func setUpWithError() throws { + continueAfterFailure = false + } + + @MainActor + func testLaunch() throws { + let app = XCUIApplication() + app.launch() + + // Insert steps here to perform after app launch but before taking a screenshot, + // such as logging into a test account or navigating somewhere in the app + + let attachment = XCTAttachment(screenshot: app.screenshot()) + attachment.name = "Launch Screen" + attachment.lifetime = .keepAlways + add(attachment) + } +} diff --git a/DNSecureUITests/Info.plist b/DNSecureUITests/Info.plist deleted file mode 100644 index 64d65ca..0000000 --- a/DNSecureUITests/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - $(PRODUCT_BUNDLE_PACKAGE_TYPE) - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - -