4 Commits

Author SHA1 Message Date
X1a0He
aad3822e88 release: 2.1.4 2025-11-22 21:50:06 +08:00
X1a0He
bbdaecc179 feat: 默认选中 SuperCafModels 包 2025-11-22 21:29:56 +08:00
X1a0He
3654194835 feat: 新增修复Helper的sh脚本和入口 2025-11-22 20:58:09 +08:00
X1a0He
fff35135a5 feat: 修复清理工具执行清理时出现清理不全面的问题 2025-11-22 19:28:45 +08:00
13 changed files with 302 additions and 212 deletions

View File

@@ -249,7 +249,7 @@
ENABLE_USER_SCRIPT_SANDBOXING = NO;
INFOPLIST_FILE = AdobeDownloaderHelperTool/Info.plist;
LOCALIZATION_PREFERS_STRING_CATALOGS = NO;
MACOSX_DEPLOYMENT_TARGET = 12.0;
MACOSX_DEPLOYMENT_TARGET = 13.0;
ONLY_ACTIVE_ARCH = YES;
OTHER_LDFLAGS = (
"-sectcreate",
@@ -278,7 +278,7 @@
ENABLE_USER_SCRIPT_SANDBOXING = NO;
INFOPLIST_FILE = AdobeDownloaderHelperTool/Info.plist;
LOCALIZATION_PREFERS_STRING_CATALOGS = NO;
MACOSX_DEPLOYMENT_TARGET = 12.0;
MACOSX_DEPLOYMENT_TARGET = 13.0;
OTHER_LDFLAGS = (
"-sectcreate",
__TEXT,
@@ -431,9 +431,10 @@
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 213;
CURRENT_PROJECT_VERSION = 214;
DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_ASSET_PATHS = "\"Adobe Downloader/Preview Content\"";
DEVELOPMENT_TEAM = TG862GVKHK;
ENABLE_HARDENED_RUNTIME = NO;
ENABLE_PREVIEWS = YES;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
@@ -446,7 +447,7 @@
"@executable_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 13.0;
MARKETING_VERSION = 2.1.3;
MARKETING_VERSION = 2.1.4;
PRODUCT_BUNDLE_IDENTIFIER = "com.x1a0he.macOS.Adobe-Downloader";
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = YES;
@@ -464,9 +465,10 @@
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 213;
CURRENT_PROJECT_VERSION = 214;
DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_ASSET_PATHS = "\"Adobe Downloader/Preview Content\"";
DEVELOPMENT_TEAM = TG862GVKHK;
ENABLE_HARDENED_RUNTIME = NO;
ENABLE_PREVIEWS = YES;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
@@ -479,7 +481,7 @@
"@executable_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 13.0;
MARKETING_VERSION = 2.1.3;
MARKETING_VERSION = 2.1.4;
PRODUCT_BUNDLE_IDENTIFIER = "com.x1a0he.macOS.Adobe-Downloader";
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = YES;
@@ -525,7 +527,7 @@
repositoryURL = "https://github.com/sparkle-project/Sparkle";
requirement = {
kind = upToNextMajorVersion;
minimumVersion = 2.6.4;
minimumVersion = 2.8.0;
};
};
/* End XCRemoteSwiftPackageReference section */

View File

@@ -522,85 +522,90 @@ enum CleanupOption: String, CaseIterable, Identifiable {
return [
"sudo find /Applications -name 'Adobe*' ! -name '*Adobe Downloader*' -print0 | xargs -0 sudo rm -rf",
"sudo find /Applications/Utilities -name 'Adobe*' ! -name '*Adobe Downloader*' -print0 | xargs -0 sudo rm -rf",
"sudo rm -rf /Applications/Adobe Creative Cloud",
"sudo rm -rf /Applications/Utilities/Adobe Creative Cloud",
"sudo rm -rf /Applications/Utilities/Adobe Creative Cloud Experience",
"sudo rm -rf /Applications/Utilities/Adobe Installers/Uninstall Adobe Creative Cloud",
"sudo rm -rf /Applications/Utilities/Adobe Sync",
"sudo rm -rf /Applications/Utilities/Adobe Genuine Service"
"sudo rm -rf \"/Applications/Adobe Creative Cloud\"",
"sudo rm -rf \"/Applications/Utilities/Adobe Creative Cloud\"",
"sudo rm -rf \"/Applications/Utilities/Adobe Creative Cloud Experience\"",
"sudo rm -rf \"/Applications/Utilities/Adobe Installers/Uninstall Adobe Creative Cloud\"",
"sudo rm -rf \"/Applications/Utilities/Adobe Sync\"",
"sudo rm -rf \"/Applications/Utilities/Adobe Genuine Service\""
]
case .adobeCreativeCloud:
return [
"sudo rm -rf /Library/Application Support/Adobe/Adobe Desktop Common/ADBox",
"sudo rm -rf /Library/Application Support/Adobe/Adobe Desktop Common/ADS",
"sudo rm -rf /Library/Application Support/Adobe/Adobe Desktop Common/AppsPanel",
"sudo rm -rf /Library/Application Support/Adobe/Adobe Desktop Common/CEF",
"sudo rm -rf /Library/Application Support/Adobe/Adobe Desktop Common/Core",
"sudo rm -rf /Library/Application Support/Adobe/Adobe Desktop Common/CoreExt",
"sudo rm -rf /Library/Application Support/Adobe/Adobe Desktop Common/DEBox",
"sudo rm -rf /Library/Application Support/Adobe/Adobe Desktop Common/ElevationManager",
"sudo rm -rf /Library/Application Support/Adobe/Adobe Desktop Common/FilesPanel",
"sudo rm -rf /Library/Application Support/Adobe/Adobe Desktop Common/FontsPanel",
"sudo rm -rf /Library/Application Support/Adobe/Adobe Desktop Common/HEX",
"sudo rm -rf /Library/Application Support/Adobe/Adobe Desktop Common/LCC",
"sudo rm -rf /Library/Application Support/Adobe/Adobe Desktop Common/NHEX",
"sudo rm -rf /Library/Application Support/Adobe/Adobe Desktop Common/Notifications",
"sudo rm -rf /Library/Application Support/Adobe/Adobe Desktop Common/pim.db",
"sudo rm -rf /Library/Application Support/Adobe/Adobe Desktop Common/RemoteComponents",
"sudo rm -rf /Library/Application Support/Adobe/Adobe Desktop Common/TCC",
"sudo rm -rf /Library/Application Support/Adobe/ARMNext",
"sudo rm -rf /Library/Application Support/Adobe/ARMDC/Application",
"sudo rm -rf /Library/Application Support/Adobe/PII/com.adobe.pii.prefs",
"sudo rm -rf /Library/Application Support/Adobe/ACPLocal*",
"sudo rm -rf /Library/Application Support/regid.1986-12.com.adobe",
"sudo rm -rf /Library/Internet Plug-Ins/AdobeAAMDetect.plugin",
"sudo rm -rf /Library/Internet Plug-Ins/AdobePDF*",
"sudo rm -rf /Library/PDF Services/Save as Adobe PDF*",
"sudo rm -rf /Library/ScriptingAdditions/Adobe Unit Types.osax",
"sudo rm -rf /Library/Automator/Save as Adobe PDF.action",
"sudo rm -rf ~/.adobe",
"sudo rm -rf ~/Creative Cloud Files*",
"sudo find ~/Library/Application\\ Scripts -name '*com.adobe*' ! -name '*Adobe Downloader*' -print0 | xargs -0 sudo rm -rf || true",
"sudo find ~/Library/Group\\ Containers -name '*com.adobe*' ! -name '*Adobe Downloader*' -print0 | xargs -0 sudo rm -rf || true",
"sudo rm -rf ~/Library/Application\\ Scripts/Adobe-Hub-App || true",
"sudo rm -rf ~/Library/Group\\ Containers/Adobe-Hub-App || true",
"sudo rm -rf ~/Library/Application\\ Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/com.adobe* || true",
"sudo find ~/Library/Application\\ Support -name 'Acrobat*' ! -path '*/Adobe Downloader/*' -print0 | xargs -0 sudo rm -rf || true",
"sudo find ~/Library/Application\\ Support -name 'Adobe*' ! -name '*Adobe Downloader*' ! -path '*/Adobe Downloader/*' -print0 | xargs -0 sudo rm -rf || true",
"sudo find ~/Library/Application\\ Support -name 'com.adobe*' ! -name '*Adobe Downloader*' ! -path '*/Adobe Downloader/*' -print0 | xargs -0 sudo rm -rf || true",
"sudo rm -rf ~/Library/Application Support/io.branch",
"sudo rm -rf ~/Library/PhotoshopCrashes",
"sudo rm -rf ~/Library/WebKit/com.adobe*"
"sudo rm -rf \"/Library/Application Support/Adobe/Adobe Desktop Common/ADBox\"",
"sudo rm -rf \"/Library/Application Support/Adobe/Adobe Desktop Common/ADS\"",
"sudo rm -rf \"/Library/Application Support/Adobe/Adobe Desktop Common/AppsPanel\"",
"sudo rm -rf \"/Library/Application Support/Adobe/Adobe Desktop Common/CEF\"",
"sudo rm -rf \"/Library/Application Support/Adobe/Adobe Desktop Common/Core\"",
"sudo rm -rf \"/Library/Application Support/Adobe/Adobe Desktop Common/CoreExt\"",
"sudo rm -rf \"/Library/Application Support/Adobe/Adobe Desktop Common/DEBox\"",
"sudo rm -rf \"/Library/Application Support/Adobe/Adobe Desktop Common/ElevationManager\"",
"sudo rm -rf \"/Library/Application Support/Adobe/Adobe Desktop Common/FilesPanel\"",
"sudo rm -rf \"/Library/Application Support/Adobe/Adobe Desktop Common/FontsPanel\"",
"sudo rm -rf \"/Library/Application Support/Adobe/Adobe Desktop Common/HEX\"",
"sudo rm -rf \"/Library/Application Support/Adobe/Adobe Desktop Common/LCC\"",
"sudo rm -rf \"/Library/Application Support/Adobe/Adobe Desktop Common/NHEX\"",
"sudo rm -rf \"/Library/Application Support/Adobe/Adobe Desktop Common/Notifications\"",
"sudo rm -rf \"/Library/Application Support/Adobe/Adobe Desktop Common/pim.db\"",
"sudo rm -rf \"/Library/Application Support/Adobe/Adobe Desktop Common/RemoteComponents\"",
"sudo rm -rf \"/Library/Application Support/Adobe/Adobe Desktop Common/TCC\"",
"sudo rm -rf \"/Library/Application Support/Adobe/ARMNext\"",
"sudo rm -rf \"/Library/Application Support/Adobe/ARMDC/Application\"",
"sudo rm -rf \"/Library/Application Support/Adobe/PII/com.adobe.pii.prefs\"",
"sudo rm -rf \"/Library/Application Support/Adobe/ACPLocal\"*",
"sudo rm -rf \"/Library/Application Support/regid.1986-12.com.adobe\"",
"sudo rm -rf \"/Library/Application Support/Adobe\"",
"sudo rm -rf \"/Library/Internet Plug-Ins/AdobeAAMDetect.plugin\"",
"sudo rm -rf \"/Library/Internet Plug-Ins\"/AdobePDF*",
"sudo rm -rf \"/Library/PDF Services\"/\"Save as Adobe PDF\"*",
"sudo rm -rf \"/Library/ScriptingAdditions/Adobe Unit Types.osax\"",
"sudo rm -rf \"/Library/Automator/Save as Adobe PDF.action\"",
"sudo rm -rf \"$HOME/.adobe\"",
"sudo rm -rf \"$HOME/Creative Cloud Files\"*",
"sudo find \"$HOME/Library/Application Scripts\" -name '*com.adobe*' -not -name '*Adobe Downloader*' -print0 | xargs -0 sudo rm -rf || true",
"sudo find \"$HOME/Library/Group Containers\" -name '*com.adobe*' -not -name '*Adobe Downloader*' -print0 | xargs -0 sudo rm -rf || true",
"sudo rm -rf \"$HOME/Library/Application Scripts/Adobe-Hub-App\" || true",
"sudo rm -rf \"$HOME/Library/Group Containers/Adobe-Hub-App\" || true",
"sudo rm -rf \"$HOME/Library/Application Support\"/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/com.adobe* || true",
"sudo find \"$HOME/Library/Application Support\" -name 'Acrobat*' -not -path '*/Adobe Downloader/*' -print0 | xargs -0 sudo rm -rf || true",
"sudo find \"$HOME/Library/Application Support\" -name 'Adobe*' -not -name '*Adobe Downloader*' -not -path '*/Adobe Downloader/*' -print0 | xargs -0 sudo rm -rf || true",
"sudo find \"$HOME/Library/Application Support\" -name 'com.adobe*' -not -name '*Adobe Downloader*' -not -path '*/Adobe Downloader/*' -print0 | xargs -0 sudo rm -rf || true",
"sudo rm -rf \"$HOME/Library/Application Support\"/io.branch",
"sudo rm -rf $HOME/Library/PhotoshopCrashes",
"sudo rm -rf $HOME/Library/WebKit/com.adobe*",
"sudo rm -rf $HOME/Library/WebKit/com.adobe*",
"sudo rm -rf $HOME/Library/NGL",
"sudo rm -rf $HOME/Documents/Adobe",
"sudo rm -rf /Users/Shared/Adobe*",
]
case .adobePreferences:
return [
"sudo find /Library/Preferences -name 'com.adobe*' ! -name '*Adobe Downloader*' -print0 | xargs -0 sudo rm -rf",
"sudo find ~/Library/Preferences -name 'com.adobe*' ! -name '*Adobe Downloader*' -print0 | xargs -0 sudo rm -rf",
"sudo find ~/Library/Preferences -name 'Adobe*' ! -name '*Adobe Downloader*' -print0 | xargs -0 sudo rm -rf",
"sudo find ~/Library/Preferences/ByHost -name 'com.adobe*' ! -name '*Adobe Downloader*' -print0 | xargs -0 sudo rm -rf",
"sudo rm -rf ~/Library/Preferences/adobe.com*",
"sudo rm -rf ~/Library/Preferences/AIRobin*",
"sudo rm -rf ~/Library/Preferences/Macromedia*",
"sudo rm -rf ~/Library/Saved Application State/com.adobe*"
"sudo find \"$HOME/Library/Preferences\" -name 'com.adobe*' ! -name '*Adobe Downloader*' -print0 | xargs -0 sudo rm -rf",
"sudo find \"$HOME/Library/Preferences\" -name 'Adobe*' ! -name '*Adobe Downloader*' -print0 | xargs -0 sudo rm -rf",
"sudo find \"$HOME/Library/Preferences/ByHost\" -name 'com.adobe*' ! -name '*Adobe Downloader*' -print0 | xargs -0 sudo rm -rf",
"sudo rm -rf $HOME/Library/Preferences/adobe.com*",
"sudo rm -rf $HOME/Library/Preferences/AIRobin*",
"sudo rm -rf $HOME/Library/Preferences/Macromedia*",
"sudo rm -rf \"$HOME/Library/Saved Application State\"/com.adobe*"
]
case .adobeCaches:
return [
"sudo find ~/Library/Caches -name 'Adobe*' ! -name '*Adobe Downloader*' -print0 | xargs -0 sudo rm -rf || true",
"sudo find ~/Library/Caches -name 'com.adobe*' ! -name '*Adobe Downloader*' -print0 | xargs -0 sudo rm -rf || true",
"sudo rm -rf ~/Library/Caches/Acrobat* || true",
"sudo rm -rf ~/Library/Caches/CSXS || true",
"sudo rm -rf ~/Library/Caches/com.crashlytics.data/com.adobe* || true",
"sudo rm -rf ~/Library/Containers/com.adobe* || true",
"sudo rm -rf ~/Library/Cookies/com.adobe* || true",
"sudo find ~/Library/HTTPStorages -name '*Adobe*' ! -name '*Adobe Downloader*' ! -name '*com.x1a0he.macOS.Adobe-Downloader*' -print0 | xargs -0 sudo rm -rf || true",
"sudo find ~/Library/HTTPStorages -name 'com.adobe*' ! -name '*Adobe Downloader*' ! -name '*com.x1a0he.macOS.Adobe-Downloader*' -print0 | xargs -0 sudo rm -rf || true",
"sudo rm -rf ~/Library/HTTPStorages/Creative\\ Cloud\\ Content\\ Manager.node || true"
"sudo find \"$HOME/Library/Caches\" -name 'Adobe*' ! -name '*Adobe Downloader*' -print0 | xargs -0 sudo rm -rf || true",
"sudo find \"$HOME/Library/Caches\" -name 'com.adobe*' ! -name '*Adobe Downloader*' -print0 | xargs -0 sudo rm -rf || true",
"sudo rm -rf $HOME/Library/Caches/Acrobat* || true",
"sudo rm -rf $HOME/Library/Caches/CSXS || true",
"sudo rm -rf $HOME/Library/Caches/com.crashlytics.data/com.adobe* || true",
"sudo rm -rf $HOME/Library/Containers/com.adobe* || true",
"sudo rm -rf $HOME/Library/Cookies/com.adobe* || true",
"sudo find \"$HOME/Library/HTTPStorages\" -name '*Adobe*' ! -name '*Adobe Downloader*' ! -name '*com.x1a0he.macOS.Adobe-Downloader*' -print0 | xargs -0 sudo rm -rf || true",
"sudo find \"$HOME/Library/HTTPStorages\" -name 'com.adobe*' ! -name '*Adobe Downloader*' ! -name '*com.x1a0he.macOS.Adobe-Downloader*' -print0 | xargs -0 sudo rm -rf || true",
"sudo rm -rf \"$HOME/Library/HTTPStorages/Creative Cloud Content Manager.node\" || true"
]
case .adobeLicenses:
return [
"sudo rm -rf /Library/Application Support/Adobe/Adobe PCD",
"sudo rm -rf /Library/Application Support/Adobe/AdobeGCClient",
"sudo rm -rf /Library/Application Support/regid.1986-12.com.adobe",
"sudo rm -rf \"/Library/Application Support/Adobe/Adobe PCD\"",
"sudo rm -rf \"/Library/Application Support/Adobe/AdobeGCClient\"",
"sudo rm -rf \"/Library/Application Support/regid.1986-12.com.adobe\"",
"sudo rm -rf /private/var/db/receipts/com.adobe*",
"sudo rm -rf /private/var/db/receipts/*Photoshop*",
"sudo rm -rf /private/var/db/receipts/*CreativeCloud*",
@@ -612,9 +617,9 @@ enum CleanupOption: String, CaseIterable, Identifiable {
]
case .adobeLogs:
return [
"sudo find ~/Library/Logs -name 'Adobe*' ! -name '*Adobe Downloader*' -print0 | xargs -0 sudo rm -rf",
"sudo find ~/Library/Logs -name 'adobe*' ! -name '*Adobe Downloader*' -print0 | xargs -0 sudo rm -rf",
"sudo rm -rf ~/Library/Logs/Adobe Creative Cloud Cleaner Tool.log",
"sudo find \"$HOME/Library/Logs\" -name 'Adobe*' ! -name '*Adobe Downloader*' -print0 | xargs -0 sudo rm -rf",
"sudo find \"$HOME/Library/Logs\" -name 'adobe*' ! -name '*Adobe Downloader*' -print0 | xargs -0 sudo rm -rf",
"sudo rm -rf \"$HOME/Library/Logs/Adobe Creative Cloud Cleaner Tool.log\"",
"sudo rm -rf ~/Library/Logs/CreativeCloud",
"sudo rm -rf /Library/Logs/CreativeCloud",
"sudo rm -rf ~/Library/Logs/CSXS",
@@ -633,13 +638,13 @@ enum CleanupOption: String, CaseIterable, Identifiable {
"sudo rm -rf ~/Library/Logs/Adobe*",
"sudo rm -rf ~/Library/Logs/adobe*",
"sudo rm -rf /Library/Logs/DiagnosticReports/*Adobe*",
"sudo rm -rf /Library/Application Support/CrashReporter/*Adobe*",
"sudo rm -rf ~/Library/Application Support/CrashReporter/*Adobe*"
"sudo rm -rf \"/Library/Application Support\"/CrashReporter/*Adobe*",
"sudo rm -rf \"$HOME/Library/Application Support\"/CrashReporter/*Adobe*"
]
case .adobeServices:
return [
"sudo launchctl bootout gui/$(id -u) /Library/LaunchAgents/com.adobe.* || true",
"sudo launchctl bootout gui/$(id -u) ~/Library/LaunchAgents/com.adobe.* || true",
"sudo launchctl bootout gui/$(id -u) $HOME/Library/LaunchAgents/com.adobe.* || true",
"sudo launchctl unload /Library/LaunchDaemons/com.adobe.* || true",
"sudo launchctl remove com.adobe.AdobeCreativeCloud || true",
"sudo launchctl remove com.adobe.AdobeGenuineService.plist || true",
@@ -653,21 +658,21 @@ enum CleanupOption: String, CaseIterable, Identifiable {
case .adobeKeychain:
return [
"sudo security dump-keychain /Library/Keychains/System.keychain | grep -i 'acrobat.com' | grep -i 'srvr' | awk -F '=' '{print $2}' | cut -d '\"' -f2 | while read -r line; do sudo security delete-internet-password -s \"$line\" /Library/Keychains/System.keychain; done || true",
"sudo security dump-keychain ~/Library/Keychains/login.keychain-db | grep -i 'acrobat.com' | grep -i 'srvr' | awk -F '=' '{print $2}' | cut -d '\"' -f2 | while read -r line; do security delete-internet-password -s \"$line\" ~/Library/Keychains/login.keychain-db; done || true",
"sudo security dump-keychain $HOME/Library/Keychains/login.keychain-db | grep -i 'acrobat.com' | grep -i 'srvr' | awk -F '=' '{print $2}' | cut -d '\"' -f2 | while read -r line; do security delete-internet-password -s \"$line\" $HOME/Library/Keychains/login.keychain-db; done || true",
"sudo security dump-keychain /Library/Keychains/System.keychain | grep -i 'Adobe.APS' | grep -v 'Adobe Downloader' | awk -F '=' '{print $2}' | cut -d '\"' -f2 | while read -r line; do sudo security delete-generic-password -l \"$line\" /Library/Keychains/System.keychain; done || true",
"sudo security dump-keychain ~/Library/Keychains/login.keychain-db | grep -i 'Adobe.APS' | grep -v 'Adobe Downloader' | awk -F '=' '{print $2}' | cut -d '\"' -f2 | while read -r line; do security delete-generic-password -l \"$line\" ~/Library/Keychains/login.keychain-db; done || true",
"sudo security dump-keychain $HOME/Library/Keychains/login.keychain-db | grep -i 'Adobe.APS' | grep -v 'Adobe Downloader' | awk -F '=' '{print $2}' | cut -d '\"' -f2 | while read -r line; do security delete-generic-password -l \"$line\" $HOME/Library/Keychains/login.keychain-db; done || true",
"sudo security dump-keychain /Library/Keychains/System.keychain | grep -i 'Adobe App Info\\|Adobe App Prefetched Info\\|Adobe User\\|com.adobe\\|Adobe Lightroom' | grep -v 'Adobe Downloader' | grep -i 'svce' | awk -F '=' '{print $2}' | cut -d '\"' -f2 | while read -r line; do sudo security delete-generic-password -s \"$line\" /Library/Keychains/System.keychain; done || true",
"sudo security dump-keychain ~/Library/Keychains/login.keychain-db | grep -i 'Adobe App Info\\|Adobe App Prefetched Info\\|Adobe User\\|com.adobe\\|Adobe Lightroom' | grep -v 'Adobe Downloader' | grep -i 'svce' | awk -F '=' '{print $2}' | cut -d '\"' -f2 | while read -r line; do security delete-generic-password -s \"$line\" ~/Library/Keychains/login.keychain-db; done || true",
"sudo security dump-keychain $HOME/Library/Keychains/login.keychain-db | grep -i 'Adobe App Info\\|Adobe App Prefetched Info\\|Adobe User\\|com.adobe\\|Adobe Lightroom' | grep -v 'Adobe Downloader' | grep -i 'svce' | awk -F '=' '{print $2}' | cut -d '\"' -f2 | while read -r line; do security delete-generic-password -s \"$line\" $HOME/Library/Keychains/login.keychain-db; done || true",
"sudo security dump-keychain /Library/Keychains/System.keychain | grep -i 'Adobe Content \\|Adobe Intermediate' | grep -v 'Adobe Downloader' | grep -i 'alis' | awk -F '=' '{print $2}' | cut -d '\"' -f2 | while read -r line; do sudo security delete-certificate -c \"$line\" /Library/Keychains/System.keychain; done || true",
"sudo security dump-keychain ~/Library/Keychains/login.keychain-db | grep -i 'Adobe Content \\|Adobe Intermediate' | grep -v 'Adobe Downloader' | grep -i 'alis' | awk -F '=' '{print $2}' | cut -d '\"' -f2 | while read -r line; do security delete-certificate -c \"$line\" ~/Library/Keychains/login.keychain-db; done || true"
"sudo security dump-keychain $HOME/Library/Keychains/login.keychain-db | grep -i 'Adobe Content \\|Adobe Intermediate' | grep -v 'Adobe Downloader' | grep -i 'alis' | awk -F '=' '{print $2}' | cut -d '\"' -f2 | while read -r line; do security delete-certificate -c \"$line\" $HOME/Library/Keychains/login.keychain-db; done || true"
]
case .adobeGenuineService:
return [
"sudo rm -rf /Library/Application Support/Adobe/Adobe Desktop Common/AdobeGenuineClient",
"sudo rm -rf /Library/Application Support/Adobe/AdobeGCClient",
"sudo rm -rf \"/Library/Application Support/Adobe/Adobe Desktop Common/AdobeGenuineClient\"",
"sudo rm -rf \"/Library/Application Support/Adobe/AdobeGCClient\"",
"sudo rm -rf /Library/Preferences/com.adobe.AdobeGenuineService.plist",
"sudo rm -rf /Applications/Utilities/Adobe Creative Cloud/Utils/AdobeGenuineValidator",
"sudo rm -rf /Applications/Utilities/Adobe Genuine Service",
"sudo rm -rf \"/Applications/Utilities/Adobe Creative Cloud/Utils/AdobeGenuineValidator\"",
"sudo rm -rf \"/Applications/Utilities/Adobe Genuine Service\"",
"sudo rm -rf /Library/PrivilegedHelperTools/com.adobe.acc*",
"sudo find /private/tmp -type d -iname '*adobe*' ! -iname '*Adobe Downloader*' -o -type f -iname '*adobe*' ! -iname '*Adobe Downloader*' | xargs rm -rf {} \\+",
"sudo find /private/tmp -type d -iname '*CCLBS*' ! -iname '*Adobe Downloader*' -o -type f -iname '*adobe*' ! -iname '*Adobe Downloader*' | xargs rm -rf {} \\+",
@@ -678,8 +683,8 @@ enum CleanupOption: String, CaseIterable, Identifiable {
]
case .adobeHosts:
return [
"sudo sh -c 'grep -v \"adobe\" /etc/hosts > /etc/hosts.temp && mv /etc/hosts.temp /etc/hosts'"
]
"sudo sh -c 'grep -v \"adobe\" /etc/hosts | grep -v \"hstatic.io\" > /etc/hosts.temp && mv /etc/hosts.temp /etc/hosts'"
]
}
}

View File

@@ -0,0 +1,58 @@
#!/bin/bash
# fix-helper.sh
# Adobe Downloader
#
# 用于在 Helper 已安装但无法连接时,尝试修复并重启 LaunchDaemon。
set -e
LABEL="com.x1a0he.macOS.Adobe-Downloader.helper"
PLIST="/Library/LaunchDaemons/${LABEL}.plist"
HELPER="/Library/PrivilegedHelperTools/${LABEL}"
echo "=== Adobe Downloader Helper 修复工具 ==="
echo
if [ ! -f "$PLIST" ] || [ ! -f "$HELPER" ]; then
echo "未找到 Helper 的系统文件:"
echo " $PLIST"
echo " $HELPER"
echo
echo "请先在 Adobe Downloader 的「设置 - Helper 设置」中点击「重新安装」,"
echo "完成重新安装后,再运行本脚本进行修复。"
exit 1
fi
echo "正在尝试重启并启用 Helper 对应的 LaunchDaemon..."
echo
# 尽量先将已有的 job 退出,忽略错误
if launchctl print system/"$LABEL" >/dev/null 2>&1; then
echo "检测到已有运行中的 Helper尝试停止..."
sudo launchctl bootout system/"$LABEL" 2>/dev/null || true
fi
echo "重新加载 LaunchDaemon 配置..."
# 优先使用新的 bootstrap / enable / kickstart 流程
if command -v launchctl >/dev/null 2>&1; then
# bootstrap 会在 job 未加载时加载,在已加载时返回错误,忽略错误即可
sudo launchctl bootstrap system "$PLIST" 2>/dev/null || true
echo "确保 Helper 处于启用状态..."
sudo launchctl enable system/"$LABEL" 2>/dev/null || true
echo "尝试立即启动 Helper..."
sudo launchctl kickstart -k system/"$LABEL" 2>/dev/null || true
else
echo "系统不支持新的 launchctl 子命令,尝试使用兼容模式加载..."
sudo /bin/launchctl unload "$PLIST" 2>/dev/null || true
sudo /bin/launchctl load -w "$PLIST"
fi
echo
echo "操作已完成。"
echo "如果 Adobe Downloader 仍然提示「无法连接到 Helper」"
echo "请将本终端窗口的全部输出内容复制后反馈给开发者。"

View File

@@ -33,12 +33,18 @@ struct CleanConfigView: View {
Text("重置程序")
}) {
VStack(alignment: .leading, spacing: 8) {
HStack {
HStack(spacing: 8) {
Button("重置程序") {
showConfirmation = true
}
.buttonStyle(BeautifulButtonStyle(baseColor: .red.opacity(0.8)))
.foregroundColor(.white)
Button("修复 Helper") {
runFixHelperScript()
}
.buttonStyle(BeautifulButtonStyle(baseColor: .blue.opacity(0.8)))
.foregroundColor(.white)
}
.fixedSize(horizontal: false, vertical: true)
}
@@ -142,6 +148,41 @@ struct CleanConfigView: View {
showAlert = true
}
}
private func runFixHelperScript() {
do {
let downloadsURL = try FileManager.default.url(for: .downloadsDirectory,
in: .userDomainMask,
appropriateFor: nil,
create: false)
let scriptURL = downloadsURL.appendingPathComponent("fix-helper.sh")
guard let scriptPath = Bundle.main.path(forResource: "fix-helper", ofType: "sh"),
let scriptContent = try? String(contentsOfFile: scriptPath, encoding: .utf8) else {
throw NSError(domain: "ScriptError",
code: 1,
userInfo: [NSLocalizedDescriptionKey: "无法读取修复脚本文件"])
}
try scriptContent.write(to: scriptURL, atomically: true, encoding: .utf8)
try FileManager.default.setAttributes([.posixPermissions: 0o755],
ofItemAtPath: scriptURL.path)
let terminalURL = URL(fileURLWithPath: "/System/Applications/Utilities/Terminal.app")
NSWorkspace.shared.open([scriptURL],
withApplicationAt: terminalURL,
configuration: NSWorkspace.OpenConfiguration()) { _, error in
if let error = error {
alertMessage = "打开终端失败: \(error.localizedDescription)"
showAlert = true
return
}
}
} catch {
alertMessage = String(localized: "修复 Helper 失败: \(error.localizedDescription)")
showAlert = true
}
}
}
struct CleanupLog: Identifiable {

View File

@@ -233,6 +233,11 @@ struct NavigationCustomDownloadView: View {
(condition.contains("[OSVersion]") && checkOSVersionCondition(condition)) ||
condition.contains(installLanguage) || language == "ALL"
}
// Photoshop SuperCafModels
if fullPackageName.contains("SuperCafModels") {
shouldDefaultSelect = true
}
let packageObj = Package(
type: packageType,

View File

@@ -96,12 +96,9 @@ struct ToolbarView: View {
var body: some View {
HStack(spacing: 16) {
Toggle(isOn: $downloadAppleSilicon) {
Text("下载 Apple Silicon")
.font(.system(size: 14, weight: .medium))
}
.toggleStyle(FlatToggleStyle(onColor: .green, offColor: .gray.opacity(0.25)))
Toggle("下载 Apple Silicon", isOn: $downloadAppleSilicon)
.disabled(isRefreshing)
.toggleStyle(SwitchToggleStyle(tint: Color.green))
HStack(spacing: 10) {
Text("API:")

View File

@@ -437,7 +437,14 @@
}
},
"Helper 重新安装成功但权限不是root: %@" : {
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Helper reinstalled successfully, but the permission is not root: %@"
}
}
}
},
"Helper 重新连接成功" : {
"localizations" : {
@@ -450,7 +457,14 @@
}
},
"Helper 重新连接成功但权限不是root: %@" : {
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Helper reconnected successfully, but the permission is not root: %@"
}
}
}
},
"Helper服务需要批准" : {
"extractionState" : "stale",
@@ -907,6 +921,26 @@
}
}
},
"修复 Helper" : {
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Fix helper"
}
}
}
},
"修复 Helper 失败: %@" : {
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Fix helper failed: %@"
}
}
}
},
"修改 Setup 组件失败" : {
"localizations" : {
"en" : {

View File

@@ -1,91 +0,0 @@
# channels 的分析
> 关于 Adobe 的 JSON 文件中 channels 的分析
channels是一个数组有两个成员两个成员结构大致相同分别是
- sti
- ccm
## sti
sti 里的产品一般是 Adobe App 中的必要组件,主要有以下
> 数据更新日为: 2025.02.25
- CAI
- Camera Raw
- Camera Raw CC
- Adobe Character Animator (Preview 4)
- CCX Process
- Codecs
- STI_ColorCommonSet_CMYK_HD
- STI_Color_MotionPicture_HD
- STI_Color_Photoshop_HD
- STI_Color_HD
- STI_ColorCommonSet_RGB_HD
- CoreSync
- Adobe Captivate Assets 2017
- Adobe Captivate Voices 2017
- Camera Raw Elements
- Animate HLAN
- HD_ASU
- Adobe Fonts
- CC Library
- Adobe Preview CC
- Substance 3D Viewer for Photoshop
- SeashellPSPlugin
## ccm
ccm 里的产品一般是 Adobe App 中的主程序版本,主要有以下
> 数据更新日为: 2025.02.25
- Adobe Application Manager
- After Effects
- After Effects (Beta)
- Aero (Beta)
- Aero (Desktop)
- InCopy
- Media Encoder
- Media Encoder (Beta)
- Acrobat
- Scout CC
- Audition
- Audition (Beta)
- Character Animator
- Character Animator (Beta)
- Dreamweaver
- Dimension
- Flash Builder Premium
- Animate
- Fireworks CS6
- Gaming SDK 1.4
- InDesign
- InDesign (Beta)
- Illustrator
- Illustrator (Prerelease)
- Bridge
- Bridge (Beta)
- Creative Cloud
- Extension Manager CC
- Extendscript Toolkit CC
- Lightroom
- Lightroom Classic
- Muse CC
- Muse CC (2017)
- Photoshop
- Premiere Pro
- Premiere Pro (Beta)
- Premiere Rush
- Premiere Rush CC
- Premiere Rush (Beta)
- Substance 3D Sampler
- Substance Alchemist
- Substance 3D Designer
- Substance Designer
- Substance 3D Painter
- Substance Painter
- Substance 3D Viewer (Beta)
- Substance 3D Stager
- Touch App Plugins
- UXP Developer Tools

View File

@@ -2,6 +2,34 @@
<rss xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle" version="2.0">
<channel>
<title>Adobe Downloader</title>
<item>
<title>2.1.4</title>
<pubDate>Sat, 22 Nov 2025 21:44:04 +0800</pubDate>
<sparkle:version>214</sparkle:version>
<sparkle:shortVersionString>2.1.4</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>13.0</sparkle:minimumSystemVersion>
<enclosure url="https://github.com/X1a0He/Adobe-Downloader/releases/download/2.1.4/Adobe.Downloader.dmg" length="4208128" type="application/octet-stream" sparkle:edSignature="ggNGnwLOVNbpDrrQpOsTBnsKuYW4VzM5woL3e/u4kZD/M5240/CTZOpJqJnZZcUShZ8qObp6ioNZ85CjGxjXAA=="/>
<description>
<![CDATA[
<style>ul{margin-top: 0;margin-bottom: 7;padding-left: 18;}</style>
<h4>Adobe Downloader 更新日志: </h4>
<ul>
<li>1. 修复了清理工具执行清理时出现清理不全面的问题</li>
<li>2. 新增修复 Helper 的 sh 脚本和入口</li>
<li>3. 默认选中 SuperCafModels 包</li>
<li>4. 升级 Sparkle 到 2.8.1</li>
</ul>
<hr>
<h4>Adobe Downloader Changes: </h4>
<ul>
<li>1. Fixed an issue where the cleanup tool would not clean up all files.</li>
<li>2. Added a sh script and entry for repairing Helper.</li>
<li>3. Selected SuperCafModels package by default.</li>
<li>4. Upgraded Sparkle to 2.8.1.</li>
</ul>
]]>
</description>
</item>
<item>
<title>2.1.3</title>
<pubDate>Sun, 17 Aug 2025 14:26:49 +0800</pubDate>

View File

@@ -56,27 +56,17 @@ def parse_input(text):
def main():
txt = """1. 修复部分情况下Helper 无法重新连接的情况
2. 修复部分情况下,重新安装程序以及重新安装 Helper 的无法连接的情况
3. 调整 X1a0He CC 部分1.5.0 版本可以选择 "下载并处理""仅下载"
4. 调整了部分 Setup 组件的内容翻译
5. 程序设置页中添加 「清理工具」 和 「常见问题」功能
6. 程序设置页中,添加当前版本显示
PS: 当前版本添加的 「清理工具」功能为实验性功能,如有清理不全,请及时反馈
PS: ⚠️ 1.5.0 版本将会是最后一个开源版本,请知晓
txt = """1. 修复了清理工具执行清理时出现清理不全面的问题
2. 新增修复 Helper 的 sh 脚本和入口
3. 默认选中 SuperCafModels 包
4. 升级 Sparkle 到 2.8.1
====================
1. Fixed the issue of Helper not being able to reconnect in some cases
2. Fixed the issue of not being able to reconnect after reinstalling the program and reinstalling Helper
3. Adjusted the content translation of X1a0He CC, version 1.5.0 can choose "Download and Process" and "Only Download"
4. Adjusted the translation of some Setup component content
5. Added "Cleanup Tool" and "Common Issues" functions in the program settings page
6. Added the current version display in the program settings page
PS: The "Cleanup Tool" function in the current version is an experimental feature. If some files are not cleaned up, please feedback in time
PS: ⚠️ 1.5.0 version will be the last open source version, please be aware"""
1. Fixed an issue where the cleanup tool would not clean up all files.
2. Added a sh script and entry for repairing Helper.
3. Selected SuperCafModels package by default.
4. Upgraded Sparkle to 2.8.1."""
changelog_cn, changelog_en, ps_cn, ps_en = parse_input(txt)
xml_output = generate_xml(changelog_cn, changelog_en, ps_cn, ps_en)

View File

@@ -68,11 +68,13 @@ when prompted.
- For historical update logs, please go to [Update Log](update-log.md)
- 2025-08-17 Update Log
- 2025-11-22 Update Log
```markdown
1. Back to SMJobBless Helper.
2. Fixed an issue where Helper permissions were insufficient during installation.
1. Fixed an issue where the cleanup tool would not clean up all files.
2. Added a sh script and entry for repairing Helper.
3. Selected SuperCafModels package by default.
4. Upgraded Sparkle to 2.8.1.
```
### Language friendly

View File

@@ -58,11 +58,13 @@
- 更多关于 App 的更新日志,请查看 [Update Log](update-log.md)
- 2025-08-17 更新日志
- 2025-11-22 更新日志
```markdown
1. 垃圾 SMAppService 赶紧滚,回退 SMJobBless Helper
2. 修复了安装时 Helper 权限不足导致 103 错误的问题
1. 修复了清理工具执行清理时出现清理不全面的问题
2. 新增修复 Helper 的 sh 脚本和入口
3. 默认选中 SuperCafModels 包
4. 升级 Sparkle 到 2.8.1
```
### 语言支持

View File

@@ -1,5 +1,22 @@
# Change Log
## 2025-11-22 更新日志
[//]: # (2.1.4)
```markdown
1. 修复了清理工具执行清理时出现清理不全面的问题
2. 新增修复 Helper 的 sh 脚本和入口
3. 默认选中 SuperCafModels 包
4. 升级 Sparkle 到 2.8.1
====================
1. Fixed an issue where the cleanup tool would not clean up all files.
2. Added a sh script and entry for repairing Helper.
3. Selected SuperCafModels package by default.
4. Upgraded Sparkle to 2.8.1.
```
## 2025-08-17 更新日志
[//]: # (2.1.3)