diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4637d33..42328b3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,34 +10,16 @@ on: jobs: build: name: Build - runs-on: macos-13 + runs-on: x86_tahoe steps: - uses: actions/checkout@v4 - uses: swift-actions/setup-swift@v2 - - name: Install Apple Developer ID Application Certificate - env: - APPLE_DEVELOPER_ID_APPLICATION_CERTIFICATE: ${{ secrets.APPLE_DEVELOPER_ID_APPLICATION_CERTIFICATE }} - APPLE_DEVELOPER_ID_APPLICATION_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_DEVELOPER_ID_APPLICATION_CERTIFICATE_PASSWORD }} - APPLE_DEVELOPER_CERTIFICATE_AUTHORITY: ${{ secrets.APPLE_DEVELOPER_CERTIFICATE_AUTHORITY }} - APPLE_DEVELOPER_KEYCHAIN_PASSWORD: ${{ secrets.APPLE_DEVELOPER_KEYCHAIN_PASSWORD }} - run: | - CERTIFICATE_PATH="$RUNNER_TEMP/apple-developer-application-certificate.p12" - CERTIFICATE_AUTHORITY_PATH="$RUNNER_TEMP/apple-developer-certificate-authority.cer" - KEYCHAIN_PATH="$RUNNER_TEMP/apple-developer.keychain-db" - echo -n "$APPLE_DEVELOPER_ID_APPLICATION_CERTIFICATE" | base64 --decode -i - -o "$CERTIFICATE_PATH" - echo -n "$APPLE_DEVELOPER_CERTIFICATE_AUTHORITY" | base64 --decode -i - -o "$CERTIFICATE_AUTHORITY_PATH" - security create-keychain -p "$APPLE_DEVELOPER_KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH" - security set-keychain-settings -lut 21600 "$KEYCHAIN_PATH" - security unlock-keychain -p "$APPLE_DEVELOPER_KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH" - security import "$CERTIFICATE_PATH" -P "$APPLE_DEVELOPER_ID_APPLICATION_CERTIFICATE_PASSWORD" -A -t cert -f pkcs12 -k "$KEYCHAIN_PATH" - security import "$CERTIFICATE_AUTHORITY_PATH" -P "$APPLE_DEVELOPER_ID_APPLICATION_CERTIFICATE_PASSWORD" -A -t cert -f pkcs7 -k "$KEYCHAIN_PATH" - security list-keychain -d user -s "$KEYCHAIN_PATH" - name: Select Xcode version - run: sudo xcode-select --switch "/Applications/Xcode_16.1.app" + run: sudo xcode-select --switch "/Applications/Xcode_beta.app" - name: Archive Mist run: | - xcodebuild -scheme "Mist" -configuration "release" -destination "platform=macOS,arch=arm64" -quiet clean - xcodebuild -scheme "Mist" -configuration "release" -destination "platform=macOS,arch=arm64" -quiet -skipPackagePluginValidation archive -archivePath "Mist" + xcodebuild -scheme "Mist" -configuration "release" -destination "platform=macOS,arch=x86_64" -quiet clean + xcodebuild -scheme "Mist" -configuration "release" -destination "platform=macOS,arch=x86_64" -quiet -skipPackagePluginValidation archive -archivePath "Mist" - name: Export Mist run: xcodebuild -exportArchive -archivePath Mist.xcarchive -exportPath Export -exportOptionsPlist ExportOptions.plist - name: Print Mist version diff --git a/.github/workflows/draft_new_release.yml b/.github/workflows/draft_new_release.yml index 7de0ed8..a52f405 100644 --- a/.github/workflows/draft_new_release.yml +++ b/.github/workflows/draft_new_release.yml @@ -3,40 +3,12 @@ on: workflow_dispatch jobs: build: name: Draft New Release - runs-on: macos-14 - env: - APPLE_DEVELOPER_ID_APPLICATION_CERTIFICATE: ${{ secrets.APPLE_DEVELOPER_ID_APPLICATION_CERTIFICATE }} - APPLE_DEVELOPER_ID_APPLICATION_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_DEVELOPER_ID_APPLICATION_CERTIFICATE_PASSWORD }} - APPLE_DEVELOPER_ID_APPLICATION_SIGNING_IDENTITY: "Developer ID Application: Nindi Gill (7K3HVCLV7Z)" - APPLE_DEVELOPER_ID_INSTALLER_CERTIFICATE: ${{ secrets.APPLE_DEVELOPER_ID_INSTALLER_CERTIFICATE }} - APPLE_DEVELOPER_ID_INSTALLER_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_DEVELOPER_ID_INSTALLER_CERTIFICATE_PASSWORD }} - APPLE_DEVELOPER_ID_INSTALLER_SIGNING_IDENTITY: "Developer ID Installer: Nindi Gill (7K3HVCLV7Z)" - APPLE_DEVELOPER_CERTIFICATE_AUTHORITY: ${{ secrets.APPLE_DEVELOPER_CERTIFICATE_AUTHORITY }} - APPLE_DEVELOPER_KEYCHAIN_PASSWORD: ${{ secrets.APPLE_DEVELOPER_KEYCHAIN_PASSWORD }} - APPLE_DEVELOPER_APPLE_ID: ${{ secrets.APPLE_DEVELOPER_APPLE_ID }} - APPLE_DEVELOPER_APPLE_ID_PASSWORD: ${{ secrets.APPLE_DEVELOPER_APPLE_ID_PASSWORD }} - APPLE_DEVELOPER_TEAM_ID: "7K3HVCLV7Z" - KEYCHAIN_FILE: "apple-developer.keychain-db" + runs-on: x86_tahoe steps: - uses: actions/checkout@v4 - uses: swift-actions/setup-swift@v2 - - name: Install Apple Developer ID Certificates - run: | - APPLE_DEVELOPER_ID_APPLICATION_CERTIFICATE_PATH="$RUNNER_TEMP/apple-developer-id-application-certificate.p12" - APPLE_DEVELOPER_ID_INSTALLER_CERTIFICATE_PATH="$RUNNER_TEMP/apple-developer-id-installer-certificate.p12" - APPLE_DEVELOPER_CERTIFICATE_AUTHORITY_PATH="$RUNNER_TEMP/apple-developer-certificate-authority.cer" - echo -n "$APPLE_DEVELOPER_ID_APPLICATION_CERTIFICATE" | base64 --decode -i - -o "$APPLE_DEVELOPER_ID_APPLICATION_CERTIFICATE_PATH" - echo -n "$APPLE_DEVELOPER_ID_INSTALLER_CERTIFICATE" | base64 --decode -i - -o "$APPLE_DEVELOPER_ID_INSTALLER_CERTIFICATE_PATH" - echo -n "$APPLE_DEVELOPER_CERTIFICATE_AUTHORITY" | base64 --decode -i - -o "$APPLE_DEVELOPER_CERTIFICATE_AUTHORITY_PATH" - security create-keychain -p "$APPLE_DEVELOPER_KEYCHAIN_PASSWORD" "$RUNNER_TEMP/$KEYCHAIN_FILE" - security set-keychain-settings -lut 21600 "$RUNNER_TEMP/$KEYCHAIN_FILE" - security unlock-keychain -p "$APPLE_DEVELOPER_KEYCHAIN_PASSWORD" "$RUNNER_TEMP/$KEYCHAIN_FILE" - security import "$APPLE_DEVELOPER_ID_APPLICATION_CERTIFICATE_PATH" -P "$APPLE_DEVELOPER_ID_APPLICATION_CERTIFICATE_PASSWORD" -A -t cert -f pkcs12 -k "$RUNNER_TEMP/$KEYCHAIN_FILE" - security import "$APPLE_DEVELOPER_ID_INSTALLER_CERTIFICATE_PATH" -P "$APPLE_DEVELOPER_ID_INSTALLER_CERTIFICATE_PASSWORD" -A -t cert -f pkcs12 -k "$RUNNER_TEMP/$KEYCHAIN_FILE" - security import "$APPLE_DEVELOPER_CERTIFICATE_AUTHORITY_PATH" -P "$APPLE_DEVELOPER_CERTIFICATE_PASSWORD" -A -t cert -f pkcs7 -k "$RUNNER_TEMP/$KEYCHAIN_FILE" - security list-keychain -d user -s "$RUNNER_TEMP/$KEYCHAIN_FILE" - name: Select Xcode version - run: sudo xcode-select --switch "/Applications/Xcode_16.1.app" + run: sudo xcode-select --switch "/Applications/Xcode_beta.app" - name: Archive Mist run: | xcodebuild -scheme "Mist" -configuration "release" -destination "platform=macOS,arch=arm64" -quiet clean diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index 671556f..97c3b59 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -10,7 +10,7 @@ on: jobs: linting: name: Linting - runs-on: macos-14 + runs-on: x86_tahoe steps: - uses: actions/checkout@v4 - uses: swift-actions/setup-swift@v2 diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index 2795f1c..0269cce 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -10,32 +10,11 @@ on: jobs: unit_tests: name: Unit Tests - runs-on: macos-14 + runs-on: x86_tahoe steps: - uses: actions/checkout@v4 - uses: swift-actions/setup-swift@v2 - - name: Install Apple Developer ID Application Certificate - env: - APPLE_DEVELOPER_ID_APPLICATION_CERTIFICATE: ${{ secrets.APPLE_DEVELOPER_ID_APPLICATION_CERTIFICATE }} - APPLE_DEVELOPER_ID_APPLICATION_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_DEVELOPER_ID_APPLICATION_CERTIFICATE_PASSWORD }} - APPLE_DEVELOPER_CERTIFICATE_AUTHORITY: ${{ secrets.APPLE_DEVELOPER_CERTIFICATE_AUTHORITY }} - APPLE_DEVELOPER_KEYCHAIN_PASSWORD: ${{ secrets.APPLE_DEVELOPER_KEYCHAIN_PASSWORD }} - run: | - CERTIFICATE_PATH="$RUNNER_TEMP/apple-developer-application-certificate.p12" - CERTIFICATE_AUTHORITY_PATH="$RUNNER_TEMP/apple-developer-certificate-authority.cer" - KEYCHAIN_PATH="$RUNNER_TEMP/apple-developer.keychain-db" - echo -n "$APPLE_DEVELOPER_ID_APPLICATION_CERTIFICATE" | base64 --decode -i - -o "$CERTIFICATE_PATH" - echo -n "$APPLE_DEVELOPER_CERTIFICATE_AUTHORITY" | base64 --decode -i - -o "$CERTIFICATE_AUTHORITY_PATH" - security create-keychain -p "$APPLE_DEVELOPER_KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH" - security set-keychain-settings -lut 21600 "$KEYCHAIN_PATH" - security unlock-keychain -p "$APPLE_DEVELOPER_KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH" - security import "$CERTIFICATE_PATH" -P "$APPLE_DEVELOPER_ID_APPLICATION_CERTIFICATE_PASSWORD" -A -t cert -f pkcs12 -k "$KEYCHAIN_PATH" - security import "$CERTIFICATE_AUTHORITY_PATH" -P "$APPLE_DEVELOPER_ID_APPLICATION_CERTIFICATE_PASSWORD" -A -t cert -f pkcs7 -k "$KEYCHAIN_PATH" - security list-keychain -d user -s "$KEYCHAIN_PATH" - name: Run Unit Tests run: | - xcodebuild -scheme "MistTests" -destination "platform=macOS,arch=arm64" -quiet clean - xcodebuild -scheme "MistTests" -destination "platform=macOS,arch=arm64" -quiet -skipPackagePluginValidation test - - name: Remove Apple Developer Keychain - if: ${{ always() }} - run: security delete-keychain $RUNNER_TEMP/apple-developer.keychain-db + xcodebuild -scheme "MistTests" -destination "platform=macOS,arch=x86_64" -quiet clean + xcodebuild -scheme "MistTests" -destination "platform=macOS,arch=x86_64" -quiet -skipPackagePluginValidation test diff --git a/Mist.xcodeproj/project.pbxproj b/Mist.xcodeproj/project.pbxproj index 924f021..6a29120 100644 --- a/Mist.xcodeproj/project.pbxproj +++ b/Mist.xcodeproj/project.pbxproj @@ -1104,16 +1104,17 @@ 390451B62856E1DA00E0B563 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon - Sequoia"; + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon - Tahoe"; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; CODE_SIGN_IDENTITY = "Apple Development"; - "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 0.20.1; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = 7K3HVCLV7Z; + "DEVELOPMENT_TEAM[sdk=macosx*]" = ER43ZD2S4U; ENABLE_HARDENED_RUNTIME = YES; ENABLE_PREVIEWS = YES; ENABLE_USER_SCRIPT_SANDBOXING = NO; @@ -1138,16 +1139,17 @@ 390451B72856E1DA00E0B563 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon - Sequoia"; + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon - Tahoe"; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; CODE_SIGN_IDENTITY = "Apple Development"; - "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 0.20.1; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = 7K3HVCLV7Z; + "DEVELOPMENT_TEAM[sdk=macosx*]" = ER43ZD2S4U; ENABLE_HARDENED_RUNTIME = YES; ENABLE_PREVIEWS = YES; ENABLE_USER_SCRIPT_SANDBOXING = NO; @@ -1173,11 +1175,11 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; - "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = ""; - "DEVELOPMENT_TEAM[sdk=macosx*]" = 7K3HVCLV7Z; + "DEVELOPMENT_TEAM[sdk=macosx*]" = ER43ZD2S4U; GENERATE_INFOPLIST_FILE = YES; MACOSX_DEPLOYMENT_TARGET = 12.0; MARKETING_VERSION = 1.0; @@ -1193,11 +1195,11 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; - "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = ""; - "DEVELOPMENT_TEAM[sdk=macosx*]" = 7K3HVCLV7Z; + "DEVELOPMENT_TEAM[sdk=macosx*]" = ER43ZD2S4U; GENERATE_INFOPLIST_FILE = YES; MACOSX_DEPLOYMENT_TARGET = 12.0; MARKETING_VERSION = 1.0; @@ -1214,11 +1216,12 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "Apple Development"; - "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 0.10; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = 7K3HVCLV7Z; + "DEVELOPMENT_TEAM[sdk=macosx*]" = ER43ZD2S4U; ENABLE_HARDENED_RUNTIME = YES; ENABLE_USER_SCRIPT_SANDBOXING = NO; INFOPLIST_FILE = "$(SRCROOT)/MistHelperTool/Info.plist"; @@ -1250,11 +1253,12 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "Apple Development"; - "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 0.10; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = 7K3HVCLV7Z; + "DEVELOPMENT_TEAM[sdk=macosx*]" = ER43ZD2S4U; ENABLE_HARDENED_RUNTIME = YES; ENABLE_USER_SCRIPT_SANDBOXING = NO; INFOPLIST_FILE = "$(SRCROOT)/MistHelperTool/Info.plist"; diff --git a/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/Contents.json b/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/Contents.json new file mode 100644 index 0000000..64dc11e --- /dev/null +++ b/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/Contents.json @@ -0,0 +1,68 @@ +{ + "images" : [ + { + "filename" : "icon_16x16.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "16x16" + }, + { + "filename" : "icon_16x16@2x.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "16x16" + }, + { + "filename" : "icon_32x32.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "32x32" + }, + { + "filename" : "icon_32x32@2x.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "32x32" + }, + { + "filename" : "icon_128x128.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "128x128" + }, + { + "filename" : "icon_128x128@2x.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "128x128" + }, + { + "filename" : "icon_256x256.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "256x256" + }, + { + "filename" : "icon_256x256@2x.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "256x256" + }, + { + "filename" : "icon_512x512.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "512x512" + }, + { + "filename" : "icon_512x512@2x.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "512x512" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_128x128.png b/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_128x128.png new file mode 100644 index 0000000..39305c1 Binary files /dev/null and b/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_128x128.png differ diff --git a/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_128x128@2x.png b/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_128x128@2x.png new file mode 100644 index 0000000..da10733 Binary files /dev/null and b/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_128x128@2x.png differ diff --git a/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_16x16.png b/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_16x16.png new file mode 100644 index 0000000..9b536cf Binary files /dev/null and b/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_16x16.png differ diff --git a/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_16x16@2x.png b/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_16x16@2x.png new file mode 100644 index 0000000..30141a8 Binary files /dev/null and b/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_16x16@2x.png differ diff --git a/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_256x256.png b/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_256x256.png new file mode 100644 index 0000000..da10733 Binary files /dev/null and b/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_256x256.png differ diff --git a/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_256x256@2x.png b/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_256x256@2x.png new file mode 100644 index 0000000..b8beb4b Binary files /dev/null and b/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_256x256@2x.png differ diff --git a/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_32x32.png b/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_32x32.png new file mode 100644 index 0000000..30141a8 Binary files /dev/null and b/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_32x32.png differ diff --git a/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_32x32@2x.png b/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_32x32@2x.png new file mode 100644 index 0000000..146c1ed Binary files /dev/null and b/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_32x32@2x.png differ diff --git a/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_512x512.png b/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_512x512.png new file mode 100644 index 0000000..b8beb4b Binary files /dev/null and b/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_512x512.png differ diff --git a/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_512x512@2x.png b/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_512x512@2x.png new file mode 100644 index 0000000..bea2b6b Binary files /dev/null and b/Mist/Assets.xcassets/App Icon - Tahoe.appiconset/icon_512x512@2x.png differ diff --git a/Mist/Assets.xcassets/App Icon Preview - Tahoe.imageset/App Icon Preview - Sequoia.png b/Mist/Assets.xcassets/App Icon Preview - Tahoe.imageset/App Icon Preview - Sequoia.png deleted file mode 100644 index b54ec2e..0000000 Binary files a/Mist/Assets.xcassets/App Icon Preview - Tahoe.imageset/App Icon Preview - Sequoia.png and /dev/null differ diff --git a/Mist/Assets.xcassets/App Icon Preview - Tahoe.imageset/App Icon Preview - Tahoe.png b/Mist/Assets.xcassets/App Icon Preview - Tahoe.imageset/App Icon Preview - Tahoe.png new file mode 100644 index 0000000..d78c053 Binary files /dev/null and b/Mist/Assets.xcassets/App Icon Preview - Tahoe.imageset/App Icon Preview - Tahoe.png differ diff --git a/Mist/Assets.xcassets/App Icon Preview - Tahoe.imageset/Contents.json b/Mist/Assets.xcassets/App Icon Preview - Tahoe.imageset/Contents.json index 279b1dc..89752d1 100644 --- a/Mist/Assets.xcassets/App Icon Preview - Tahoe.imageset/Contents.json +++ b/Mist/Assets.xcassets/App Icon Preview - Tahoe.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "App Icon Preview - Sequoia.png", + "filename" : "App Icon Preview - Tahoe.png", "idiom" : "mac" } ], diff --git a/Mist/Assets.xcassets/Application - macOS Tahoe.imageset/Application - macOS Tahoe.png b/Mist/Assets.xcassets/Application - macOS Tahoe.imageset/Application - macOS Tahoe.png new file mode 100644 index 0000000..7b84f42 Binary files /dev/null and b/Mist/Assets.xcassets/Application - macOS Tahoe.imageset/Application - macOS Tahoe.png differ diff --git a/Mist/Assets.xcassets/Application - macOS Tahoe.imageset/Contents.json b/Mist/Assets.xcassets/Application - macOS Tahoe.imageset/Contents.json new file mode 100644 index 0000000..f8e7246 --- /dev/null +++ b/Mist/Assets.xcassets/Application - macOS Tahoe.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Application - macOS Tahoe.png", + "idiom" : "mac" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Mist/Assets.xcassets/macOS Tahoe.imageset/Contents.json b/Mist/Assets.xcassets/macOS Tahoe.imageset/Contents.json new file mode 100644 index 0000000..920cd83 --- /dev/null +++ b/Mist/Assets.xcassets/macOS Tahoe.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "macOS Tahoe.png", + "idiom" : "mac" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Mist/Assets.xcassets/macOS Tahoe.imageset/macOS Tahoe.png b/Mist/Assets.xcassets/macOS Tahoe.imageset/macOS Tahoe.png new file mode 100644 index 0000000..fc78aff Binary files /dev/null and b/Mist/Assets.xcassets/macOS Tahoe.imageset/macOS Tahoe.png differ diff --git a/Mist/Model/AppIcon.swift b/Mist/Model/AppIcon.swift index 76945fa..21d6994 100644 --- a/Mist/Model/AppIcon.swift +++ b/Mist/Model/AppIcon.swift @@ -12,8 +12,9 @@ enum AppIcon: String, CaseIterable, Identifiable { case ventura = "Ventura" case sonoma = "Sonoma" case sequoia = "Sequoia" + case tahoe = "Tahoe" - static let `default`: AppIcon = .sequoia + static let `default`: AppIcon = .tahoe var id: String { rawValue diff --git a/Mist/Model/CatalogType.swift b/Mist/Model/CatalogType.swift index 023566b..bc40097 100644 --- a/Mist/Model/CatalogType.swift +++ b/Mist/Model/CatalogType.swift @@ -6,6 +6,7 @@ // enum CatalogType: String, CaseIterable, Comparable, Decodable { + case tahoe = "macOS Tahoe" case sequoia = "macOS Sequoia" case sonoma = "macOS Sonoma" case ventura = "macOS Ventura" @@ -22,16 +23,18 @@ enum CatalogType: String, CaseIterable, Comparable, Decodable { private var sortOrder: Int { switch self { - case .sequoia: + case .tahoe: 0 - case .sonoma: + case .sequoia: 1 - case .ventura: + case .sonoma: 2 - case .monterey: + case .ventura: 3 - case .bigSur: + case .monterey: 4 + case .bigSur: + 5 } } @@ -42,6 +45,18 @@ enum CatalogType: String, CaseIterable, Comparable, Decodable { // swiftlint:disable:next cyclomatic_complexity function_body_length func url(for seedType: CatalogSeedType) -> String { switch self { + case .tahoe: + switch seedType { + case .standard: + "https://swscan.apple.com/content/catalogs/others/index-26-15-14-13-12-10.16-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog.gz" + case .customer: + // swiftlint:disable:next line_length + "https://swscan.apple.com/content/catalogs/others/index-26customerseed-26-15-14-13-12-10.16-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog.gz" + case .developer: + "https://swscan.apple.com/content/catalogs/others/index-26seed-26-15-14-13-12-10.16-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog.gz" + case .public: + "https://swscan.apple.com/content/catalogs/others/index-26beta-26-15-14-13-12-10.16-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog.gz" + } case .sequoia: switch seedType { case .standard: diff --git a/Mist/Model/Firmware.swift b/Mist/Model/Firmware.swift index 22690ac..e27fb04 100644 --- a/Mist/Model/Firmware.swift +++ b/Mist/Model/Firmware.swift @@ -51,7 +51,9 @@ struct Firmware: Decodable, Hashable, Identifiable { var name: String { var name: String = "" - if version.range(of: "^15", options: .regularExpression) != nil { + if version.range(of: "^26", options: .regularExpression) != nil { + name = "macOS Tahoe" + } else if version.range(of: "^15", options: .regularExpression) != nil { name = "macOS Sequoia" } else if version.range(of: "^14", options: .regularExpression) != nil { name = "macOS Sonoma" diff --git a/Mist/Model/Installer.swift b/Mist/Model/Installer.swift index 028fa5b..ba2adc7 100644 --- a/Mist/Model/Installer.swift +++ b/Mist/Model/Installer.swift @@ -655,7 +655,9 @@ struct Installer: Decodable, Hashable, Identifiable { var name: String { var name: String = "" - if version.range(of: "^15", options: .regularExpression) != nil { + if version.range(of: "^26", options: .regularExpression) != nil { + name = "macOS Tahoe" + } else if version.range(of: "^15", options: .regularExpression) != nil { name = "macOS Sequoia" } else if version.range(of: "^14", options: .regularExpression) != nil { name = "macOS Sonoma" diff --git a/Mist/Views/ContentView.swift b/Mist/Views/ContentView.swift index a35d04d..29a4127 100644 --- a/Mist/Views/ContentView.swift +++ b/Mist/Views/ContentView.swift @@ -73,7 +73,7 @@ struct ContentView: View { return filteredInstallers } - private let width: CGFloat = 480 + private let width: CGFloat = 512 private let height: CGFloat = 720 var body: some View { diff --git a/Mist/Views/Settings/SettingsApplicationsView.swift b/Mist/Views/Settings/SettingsApplicationsView.swift index 84d97b8..c26c45a 100644 --- a/Mist/Views/Settings/SettingsApplicationsView.swift +++ b/Mist/Views/Settings/SettingsApplicationsView.swift @@ -10,6 +10,7 @@ import SwiftUI struct SettingsApplicationsView: View { private static let imageNames: [String] = [ + "Application - macOS Tahoe", "Application - macOS Sequoia", "Application - macOS Sonoma", "Application - macOS Ventura", diff --git a/Mist/Views/Settings/SettingsView.swift b/Mist/Views/Settings/SettingsView.swift index ddaa13e..aedb52c 100644 --- a/Mist/Views/Settings/SettingsView.swift +++ b/Mist/Views/Settings/SettingsView.swift @@ -9,7 +9,7 @@ import SwiftUI struct SettingsView: View { @ObservedObject var sparkleUpdater: SparkleUpdater - private let width: CGFloat = 540 + private let width: CGFloat = 600 var body: some View { TabView {