diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ce1692dd6..9a74395d3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -39,7 +39,7 @@ jobs: JUDGE0_KEY: "" JUDGE0_ENDPOINT: "" DISTRIBUTE_EXTERNAL: "true" - XCODE_PATH: "/Applications/Xcode_16.4.app" + XCODE_PATH: "/Applications/Xcode_26.0.app" - name: Upload Artifact uses: actions/upload-artifact@v4 diff --git a/.github/workflows/production.yml b/.github/workflows/production.yml index f945fa074..6d17294dc 100644 --- a/.github/workflows/production.yml +++ b/.github/workflows/production.yml @@ -37,4 +37,4 @@ jobs: JUDGE0_KEY: "${{ secrets.JUDGE0_KEY }}" JUDGE0_ENDPOINT: "${{ secrets.JUDGE0_ENDPOINT }}" DISTRIBUTE_EXTERNAL: "false" - XCODE_PATH: "/Applications/Xcode_16.4.app" + XCODE_PATH: "/Applications/Xcode_26.0.app" diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index fc4cc9e45..30fe17da1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -17,4 +17,4 @@ jobs: - name: Unit Tests run: fastlane tests env: - XCODE_PATH: "/Applications/Xcode_16.4.app" + XCODE_PATH: "/Applications/Xcode_26.0.app" diff --git a/Code.xcodeproj/project.pbxproj b/Code.xcodeproj/project.pbxproj index cf20e9d7a..48a821d3e 100644 --- a/Code.xcodeproj/project.pbxproj +++ b/Code.xcodeproj/project.pbxproj @@ -551,6 +551,8 @@ 9474D2952B6B461E00CCC530 /* MonacoImplementation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9474D2932B6B461E00CCC530 /* MonacoImplementation.swift */; }; 9474D2972B6B4B1300CCC530 /* EditorImplemenationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9474D2962B6B4B1300CCC530 /* EditorImplemenationView.swift */; }; 9474D2982B6B4B1300CCC530 /* EditorImplemenationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9474D2962B6B4B1300CCC530 /* EditorImplemenationView.swift */; }; + 947515E42E7E886A00822B33 /* Iconv2.icon in Resources */ = {isa = PBXBuildFile; fileRef = 947515E32E7E886A00822B33 /* Iconv2.icon */; }; + 947515E52E7E886A00822B33 /* Iconv2.icon in Resources */ = {isa = PBXBuildFile; fileRef = 947515E32E7E886A00822B33 /* Iconv2.icon */; }; 94795C452931489C0057C12F /* ActivityBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94795C442931489C0057C12F /* ActivityBar.swift */; }; 94795C462931489C0057C12F /* ActivityBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94795C442931489C0057C12F /* ActivityBar.swift */; }; 94795C4829314A0A0057C12F /* CompactSidebar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94795C4729314A0A0057C12F /* CompactSidebar.swift */; }; @@ -1824,6 +1826,7 @@ 9474D2902B6B454900CCC530 /* EditorImplementation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditorImplementation.swift; sourceTree = ""; }; 9474D2932B6B461E00CCC530 /* MonacoImplementation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MonacoImplementation.swift; sourceTree = ""; }; 9474D2962B6B4B1300CCC530 /* EditorImplemenationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditorImplemenationView.swift; sourceTree = ""; }; + 947515E32E7E886A00822B33 /* Iconv2.icon */ = {isa = PBXFileReference; lastKnownFileType = folder.iconcomposer.icon; path = Iconv2.icon; sourceTree = ""; }; 94795C442931489C0057C12F /* ActivityBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActivityBar.swift; sourceTree = ""; }; 94795C4729314A0A0057C12F /* CompactSidebar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CompactSidebar.swift; sourceTree = ""; }; 94795C4A293259080057C12F /* Encoding.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Encoding.swift; sourceTree = ""; }; @@ -2269,6 +2272,7 @@ 94A5682D257CC367008A6530 /* Localization */, 94A777AE257B678A008FE7B2 /* Extensions */, 94A77799257ABC16008FE7B2 /* Utilities */, + 947515E32E7E886A00822B33 /* Iconv2.icon */, 944EEBF32563C381009D77FE /* CodeApp.swift */, 944EEBF72563C386009D77FE /* Assets.xcassets */, 94A56834257CC60E008A6530 /* LaunchScreen.storyboard */, @@ -3487,6 +3491,7 @@ 941969A0280316C7008AAEB2 /* commandDictionary.plist in Resources */, 941969A1280316C7008AAEB2 /* ClangLib in Resources */, 941969A2280316C7008AAEB2 /* Settings.bundle in Resources */, + 947515E42E7E886A00822B33 /* Iconv2.icon in Resources */, 941969A3280316C7008AAEB2 /* extraCommandsDictionary.plist in Resources */, 941969A4280316C7008AAEB2 /* npm.bundle in Resources */, 941969A6280316C7008AAEB2 /* terminal.bundle in Resources */, @@ -3515,6 +3520,7 @@ files = ( 9424437F2C6F2DF100BC862F /* python-lsp in Resources */, 94127C40280335C8008C7F82 /* Themes in Resources */, + 947515E52E7E886A00822B33 /* Iconv2.icon in Resources */, 944EEBFB2563C386009D77FE /* Preview Assets.xcassets in Resources */, 94A56830257CC3A1008A6530 /* Localizable.strings in Resources */, 94252059263E103E0029427A /* InfoPlist.strings in Resources */, @@ -4011,7 +4017,7 @@ 94196B16280316C7008AAEB2 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_APPICON_NAME = Iconv2; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO; CLANG_ENABLE_MODULES = YES; @@ -4039,7 +4045,7 @@ "@executable_path/Frameworks", ); LIBRARY_SEARCH_PATHS = "$(inherited)"; - MARKETING_VERSION = 1.10.4; + MARKETING_VERSION = 1.11.0; OTHER_SWIFT_FLAGS = "-Xcc -Wno-incomplete-umbrella"; PRODUCT_BUNDLE_IDENTIFIER = "thebaselab.VS-Code"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -4058,7 +4064,7 @@ 94196B17280316C7008AAEB2 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_APPICON_NAME = Iconv2; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO; CLANG_ENABLE_MODULES = YES; @@ -4087,7 +4093,7 @@ "@executable_path/Frameworks", ); LIBRARY_SEARCH_PATHS = "$(inherited)"; - MARKETING_VERSION = 1.10.4; + MARKETING_VERSION = 1.11.0; OTHER_SWIFT_FLAGS = "-Xcc -Wno-incomplete-umbrella"; PRODUCT_BUNDLE_IDENTIFIER = "thebaselab.VS-Code"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -4297,7 +4303,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_APPICON_NAME = Iconv2; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = "Code App.entitlements"; @@ -4324,7 +4330,7 @@ "@executable_path/Frameworks", ); LIBRARY_SEARCH_PATHS = "$(inherited)"; - MARKETING_VERSION = 1.10.4; + MARKETING_VERSION = 1.11.0; OTHER_SWIFT_FLAGS = "-Xcc -Wno-incomplete-umbrella"; PRODUCT_BUNDLE_IDENTIFIER = "thebaselab.VS-Code"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -4343,7 +4349,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_APPICON_NAME = Iconv2; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = "Code App.entitlements"; @@ -4371,7 +4377,7 @@ "@executable_path/Frameworks", ); LIBRARY_SEARCH_PATHS = "$(inherited)"; - MARKETING_VERSION = 1.10.4; + MARKETING_VERSION = 1.11.0; OTHER_SWIFT_FLAGS = "-Xcc -Wno-incomplete-umbrella"; PRODUCT_BUNDLE_IDENTIFIER = "thebaselab.VS-Code"; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/CodeApp/Assets.xcassets/AppIcon.appiconset/Contents.json b/CodeApp/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 1e2d7086b..000000000 --- a/CodeApp/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "images" : [ - { - "filename" : "Icon-App-20x20@2x.png", - "idiom" : "iphone", - "scale" : "2x", - "size" : "20x20" - }, - { - "filename" : "Icon-App-20x20@3x.png", - "idiom" : "iphone", - "scale" : "3x", - "size" : "20x20" - }, - { - "filename" : "Icon-App-29x29@1x.png", - "idiom" : "iphone", - "scale" : "1x", - "size" : "29x29" - }, - { - "filename" : "Icon-App-29x29@2x.png", - "idiom" : "iphone", - "scale" : "2x", - "size" : "29x29" - }, - { - "filename" : "Icon-App-29x29@3x.png", - "idiom" : "iphone", - "scale" : "3x", - "size" : "29x29" - }, - { - "filename" : "Icon-App-40x40@2x.png", - "idiom" : "iphone", - "scale" : "2x", - "size" : "40x40" - }, - { - "filename" : "Icon-App-40x40@3x.png", - "idiom" : "iphone", - "scale" : "3x", - "size" : "40x40" - }, - { - "filename" : "Icon-App-60x60@2x.png", - "idiom" : "iphone", - "scale" : "2x", - "size" : "60x60" - }, - { - "filename" : "Icon-App-60x60@3x.png", - "idiom" : "iphone", - "scale" : "3x", - "size" : "60x60" - }, - { - "filename" : "Icon-App-20x20@1x.png", - "idiom" : "ipad", - "scale" : "1x", - "size" : "20x20" - }, - { - "filename" : "Icon-App-20x20@2x.png", - "idiom" : "ipad", - "scale" : "2x", - "size" : "20x20" - }, - { - "filename" : "Icon-App-29x29@1x.png", - "idiom" : "ipad", - "scale" : "1x", - "size" : "29x29" - }, - { - "filename" : "Icon-App-29x29@2x.png", - "idiom" : "ipad", - "scale" : "2x", - "size" : "29x29" - }, - { - "filename" : "Icon-App-40x40@1x.png", - "idiom" : "ipad", - "scale" : "1x", - "size" : "40x40" - }, - { - "filename" : "Icon-App-40x40@2x.png", - "idiom" : "ipad", - "scale" : "2x", - "size" : "40x40" - }, - { - "filename" : "Icon-App-76x76@1x.png", - "idiom" : "ipad", - "scale" : "1x", - "size" : "76x76" - }, - { - "filename" : "Icon-App-76x76@2x.png", - "idiom" : "ipad", - "scale" : "2x", - "size" : "76x76" - }, - { - "filename" : "Icon-App-83.5x83.5@2x.png", - "idiom" : "ipad", - "scale" : "2x", - "size" : "83.5x83.5" - }, - { - "filename" : "ItunesArtwork@2x.png", - "idiom" : "ios-marketing", - "scale" : "1x", - "size" : "1024x1024" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png deleted file mode 100644 index 2094b94ba..000000000 Binary files a/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png and /dev/null differ diff --git a/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png deleted file mode 100644 index d255a6096..000000000 Binary files a/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png and /dev/null differ diff --git a/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png deleted file mode 100644 index a42e1e281..000000000 Binary files a/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png and /dev/null differ diff --git a/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png deleted file mode 100644 index f2a39e334..000000000 Binary files a/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png and /dev/null differ diff --git a/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png deleted file mode 100644 index 067c83d6b..000000000 Binary files a/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png and /dev/null differ diff --git a/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png deleted file mode 100644 index 6e6471363..000000000 Binary files a/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png and /dev/null differ diff --git a/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png deleted file mode 100644 index d255a6096..000000000 Binary files a/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png and /dev/null differ diff --git a/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png deleted file mode 100644 index 4021d4deb..000000000 Binary files a/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png and /dev/null differ diff --git a/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png deleted file mode 100644 index 47b9c8f2d..000000000 Binary files a/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png and /dev/null differ diff --git a/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png deleted file mode 100644 index 47b9c8f2d..000000000 Binary files a/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png and /dev/null differ diff --git a/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png deleted file mode 100644 index 88b0b7745..000000000 Binary files a/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png and /dev/null differ diff --git a/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png deleted file mode 100644 index 7d4afccc5..000000000 Binary files a/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png and /dev/null differ diff --git a/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png deleted file mode 100644 index 634d313c0..000000000 Binary files a/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png and /dev/null differ diff --git a/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png deleted file mode 100644 index d6ac17f73..000000000 Binary files a/CodeApp/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png and /dev/null differ diff --git a/CodeApp/Assets.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png b/CodeApp/Assets.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png deleted file mode 100644 index 58a2caa38..000000000 Binary files a/CodeApp/Assets.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png and /dev/null differ diff --git a/CodeApp/Iconv2.icon/Assets/Rectangle 2-2.svg b/CodeApp/Iconv2.icon/Assets/Rectangle 2-2.svg new file mode 100644 index 000000000..3af519877 --- /dev/null +++ b/CodeApp/Iconv2.icon/Assets/Rectangle 2-2.svg @@ -0,0 +1,3 @@ + + + diff --git a/CodeApp/Iconv2.icon/icon.json b/CodeApp/Iconv2.icon/icon.json new file mode 100644 index 000000000..76e5ececd --- /dev/null +++ b/CodeApp/Iconv2.icon/icon.json @@ -0,0 +1,37 @@ +{ + "fill" : { + "linear-gradient" : [ + "display-p3:0.29412,0.29412,0.29412,1.00000", + "srgb:0.11765,0.11765,0.11765,1.00000" + ] + }, + "groups" : [ + { + "blur-material" : null, + "layers" : [ + { + "glass" : true, + "hidden" : false, + "image-name" : "Rectangle 2-2.svg", + "name" : "Rectangle 2-2" + } + ], + "lighting" : "individual", + "shadow" : { + "kind" : "neutral", + "opacity" : 0.72 + }, + "specular" : false, + "translucency" : { + "enabled" : true, + "value" : 0.5 + } + } + ], + "supported-platforms" : { + "circles" : [ + "watchOS" + ], + "squares" : "shared" + } +} \ No newline at end of file diff --git a/CodeApp/Localization/de.lproj/Localizable.strings b/CodeApp/Localization/de.lproj/Localizable.strings index 3938cfc1a..012d7d008 100644 --- a/CodeApp/Localization/de.lproj/Localizable.strings +++ b/CodeApp/Localization/de.lproj/Localizable.strings @@ -8,7 +8,7 @@ "Welcome Message" = "# Code App -##### **v1.10.4 (September 2025)** +##### **v1.11.0 (Oktober 2025)** #### Start [Neue Datei](https://thebaselab.com/code/newfile) [Datei öffnen](https://thebaselab.com/code/openfile) diff --git a/CodeApp/Localization/en.lproj/Localizable.strings b/CodeApp/Localization/en.lproj/Localizable.strings index fc3df78f1..df5f20f33 100644 --- a/CodeApp/Localization/en.lproj/Localizable.strings +++ b/CodeApp/Localization/en.lproj/Localizable.strings @@ -8,7 +8,7 @@ "Welcome Message" = "# Code App -##### **v1.10.4 (September 2025)** +##### **v1.11.0 (October 2025)** #### Start [New file](https://thebaselab.com/code/newfile) [Open file](https://thebaselab.com/code/openfile) diff --git a/CodeApp/Localization/ja.lproj/Localizable.strings b/CodeApp/Localization/ja.lproj/Localizable.strings index 4a159b47d..9e128b596 100644 --- a/CodeApp/Localization/ja.lproj/Localizable.strings +++ b/CodeApp/Localization/ja.lproj/Localizable.strings @@ -8,7 +8,7 @@ "Welcome Message" = "# Code App -##### **v1.10.4 (2025年9月)** +##### **v1.11.0 (2025年10月)** #### 開始 [新しいファイル](https://thebaselab.com/code/newfile) [ファイルを開く](https://thebaselab.com/code/openfile) diff --git a/CodeApp/Localization/ko.lproj/Localizable.strings b/CodeApp/Localization/ko.lproj/Localizable.strings index a9a1f02e1..36318b1b1 100644 --- a/CodeApp/Localization/ko.lproj/Localizable.strings +++ b/CodeApp/Localization/ko.lproj/Localizable.strings @@ -8,7 +8,7 @@ "Welcome Message" = "# Code App -##### **v1.10.4 (2025년 9월)** +##### **v1.11.0 (2025년 10월)** #### 시작 [새 파일...](https://thebaselab.com/code/newfile) [파일 열기...](https://thebaselab.com/code/openfile) diff --git a/CodeApp/Localization/ru.lproj/Localizable.strings b/CodeApp/Localization/ru.lproj/Localizable.strings index c1aea8cf7..c1c95882a 100644 --- a/CodeApp/Localization/ru.lproj/Localizable.strings +++ b/CodeApp/Localization/ru.lproj/Localizable.strings @@ -8,7 +8,7 @@ "Welcome Message" = "# Code App -##### **v1.10.4 (Сентябрь 2025)** +##### **v1.11.0 (Октябрь 2025)** #### Начало [Новый файл](https://thebaselab.com/code/newfile) [Открыть файл](https://thebaselab.com/code/openfile) diff --git a/CodeApp/Localization/zh-Hans.lproj/Localizable.strings b/CodeApp/Localization/zh-Hans.lproj/Localizable.strings index 307aead94..2b7b45c35 100644 --- a/CodeApp/Localization/zh-Hans.lproj/Localizable.strings +++ b/CodeApp/Localization/zh-Hans.lproj/Localizable.strings @@ -8,7 +8,7 @@ "Welcome Message" = "# Code App -##### **v1.10.4 (2025 年 9 月)** +##### **v1.11.0 (2025 年 10 月)** #### 开始 [新文件](https://thebaselab.com/code/newfile) [打开文件](https://thebaselab.com/code/openfile) diff --git a/CodeApp/Utilities/KeychainWrapper/KeychainItemAccessibility.swift b/CodeApp/Utilities/KeychainWrapper/KeychainItemAccessibility.swift index 20b5391c0..015dd6210 100644 --- a/CodeApp/Utilities/KeychainWrapper/KeychainItemAccessibility.swift +++ b/CodeApp/Utilities/KeychainWrapper/KeychainItemAccessibility.swift @@ -34,7 +34,7 @@ protocol KeychainAttrRepresentable { public enum KeychainItemAccessibility { /** The data in the keychain item cannot be accessed after a restart until the device has been unlocked once by the user. - + After the first unlock, the data remains accessible until the next restart. This is recommended for items that need to be accessed by background applications. Items with this attribute migrate to a new device when using encrypted backups. */ @available(iOS 4, *) @@ -42,7 +42,7 @@ public enum KeychainItemAccessibility { /** The data in the keychain item cannot be accessed after a restart until the device has been unlocked once by the user. - + After the first unlock, the data remains accessible until the next restart. This is recommended for items that need to be accessed by background applications. Items with this attribute do not migrate to a new device. Thus, after restoring from a backup of a different device, these items will not be present. */ @available(iOS 4, *) @@ -50,7 +50,7 @@ public enum KeychainItemAccessibility { /** The data in the keychain item can always be accessed regardless of whether the device is locked. - + This is not recommended for application use. Items with this attribute migrate to a new device when using encrypted backups. */ @available(iOS 4, *) @@ -58,7 +58,7 @@ public enum KeychainItemAccessibility { /** The data in the keychain can only be accessed when the device is unlocked. Only available if a passcode is set on the device. - + This is recommended for items that only need to be accessible while the application is in the foreground. Items with this attribute never migrate to a new device. After a backup is restored to a new device, these items are missing. No items can be stored in this class on devices without a passcode. Disabling the device passcode causes all items in this class to be deleted. */ @available(iOS 8, *) @@ -66,7 +66,7 @@ public enum KeychainItemAccessibility { /** The data in the keychain item can always be accessed regardless of whether the device is locked. - + This is not recommended for application use. Items with this attribute do not migrate to a new device. Thus, after restoring from a backup of a different device, these items will not be present. */ @available(iOS 4, *) @@ -74,9 +74,9 @@ public enum KeychainItemAccessibility { /** The data in the keychain item can be accessed only while the device is unlocked by the user. - + This is recommended for items that need to be accessible only while the application is in the foreground. Items with this attribute migrate to a new device when using encrypted backups. - + This is the default value for keychain items added without explicitly setting an accessibility constant. */ @available(iOS 4, *) @@ -84,7 +84,7 @@ public enum KeychainItemAccessibility { /** The data in the keychain item can be accessed only while the device is unlocked by the user. - + This is recommended for items that need to be accessible only while the application is in the foreground. Items with this attribute do not migrate to a new device. Thus, after restoring from a backup of a different device, these items will not be present. */ @available(iOS 4, *) diff --git a/CodeApp/Utilities/node.swift b/CodeApp/Utilities/node.swift index 95ff95fc2..08d8662e8 100644 --- a/CodeApp/Utilities/node.swift +++ b/CodeApp/Utilities/node.swift @@ -13,7 +13,8 @@ import ios_system typealias RequestCancellationBlock = @convention(block) (_ uuid: UUID?, _ error: Error?) -> Void typealias RequestInterruptionBlock = @convention(block) (_ uuid: UUID?) -> Void -typealias RequestCompletionBlock = @convention(block) (_ uuid: UUID?, _ extensionItems: [Any]?) -> +typealias RequestCompletionBlock = + @convention(block) (_ uuid: UUID?, _ extensionItems: [Any]?) -> Void typealias RequestBeginBlock = @convention(block) (_ uuid: UUID?) -> Void