diff --git a/README.md b/README.md index 7e85508..9f8fbb9 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -### Retroactive lets you run Aperture, iPhoto, and iTunes on macOS Catalina. Xcode 11.5 or 11.4.1 on macOS Mojave. Final Cut Pro 7, Logic Pro 9, and iWork ’09 on macOS Mojave or macOS High Sierra. +### Retroactive lets you run Aperture, iPhoto, and iTunes on macOS Catalina. Xcode 11.6 or 11.5 on macOS Mojave. Final Cut Pro 7, Logic Pro 9, and iWork ’09 on macOS Mojave or macOS High Sierra.

Download Retroactive @@ -37,17 +37,17 @@ Pick the app you want to run. If you want to run multiple apps from here, pick a ![](screenshots/4.jpg) -On macOS Mojave and macOS High Sierra, Retroactive can also unlock Final Cut Pro 7, Logic Pro 9 (experimental), Xcode 11.5 or 11.4.1 (requires macOS Mojave), and fix iWork ’09. +On macOS Mojave and macOS High Sierra, Retroactive can also unlock Final Cut Pro 7, Logic Pro 9 (experimental), Xcode 11.6 or 11.5 (requires macOS Mojave), and fix iWork ’09. ![](screenshots/4b.jpg) -I’ll use Aperture as the example, but the same process also works for iPhoto, iTunes, Final Cut Pro 7, Logic Pro 9, Xcode 11.5 or 11.4.1, and iWork ’09. +I’ll use Aperture as the example, but the same process also works for iPhoto, iTunes, Final Cut Pro 7, Logic Pro 9, Xcode 11.6 or 11.5, and iWork ’09. --- ### Locating the app or choosing a version -Retroactive will automatically scan your Mac to locate an existing Aperture, iPhoto, iTunes, Final Cut Pro 7, Logic Pro 9, Xcode 11.5 or 11.4.1, or iWork ’09 install. If Retroactive has already located the app you would like to run, skip to the next section. +Retroactive will automatically scan your Mac to locate an existing Aperture, iPhoto, iTunes, Final Cut Pro 7, Logic Pro 9, Xcode 11.6 or 11.5, or iWork ’09 install. If Retroactive has already located the app you would like to run, skip to the next section. If Retroactive can’t locate an existing install of Aperture or iPhoto, you’ll either be asked to download it from the Purchased list in App Store, or re-install it from a DVD disc. You can also find the app on another Mac you own, then AirDrop it to this Mac, or restore the app from a Time Machine backup. @@ -119,7 +119,7 @@ After successfully modifying or installing the app, you can play with it to your - Support for Logic Pro 9 is experimental. You may see frequent freezes and hangs. -- Most Xcode 11.5 or 11.4.1 features should work. +- Most Xcode 11.6 or 11.5 features should work. - After fixing iWork ’09, text format and paragraph alignment controls in the format bar should appear correctly. Scroll bars will no longer appear behind the document canvas. diff --git a/Retroactive.xcodeproj/project.pbxproj b/Retroactive.xcodeproj/project.pbxproj index bb68d55..e622570 100644 --- a/Retroactive.xcodeproj/project.pbxproj +++ b/Retroactive.xcodeproj/project.pbxproj @@ -17,6 +17,8 @@ 046034E72381C18A00070C86 /* BrowserKit.framework.zip in Resources */ = {isa = PBXBuildFile; fileRef = 046034E52381C18900070C86 /* BrowserKit.framework.zip */; }; 046034E82381C18A00070C86 /* ProKit.framework.zip in Resources */ = {isa = PBXBuildFile; fileRef = 046034E62381C18A00070C86 /* ProKit.framework.zip */; }; 046034EA2381DDB300070C86 /* ProApplicationsUpdate2010-02.dist in Resources */ = {isa = PBXBuildFile; fileRef = 046034E92381DDB300070C86 /* ProApplicationsUpdate2010-02.dist */; }; + 047A039A24A6EEAF00E00998 /* PluginManager in Resources */ = {isa = PBXBuildFile; fileRef = 047A039924A6EEAF00E00998 /* PluginManager */; }; + 047A039C24A6F3CB00E00998 /* AppKitAperture in Resources */ = {isa = PBXBuildFile; fileRef = 047A039B24A6F3CB00E00998 /* AppKitAperture */; }; 321B09CD23643F89007F3FBA /* RetroApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 321B09CC23643F89007F3FBA /* RetroApp.swift */; }; 321B09D523645B57007F3FBA /* CheckmarkView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 321B09CF23645B57007F3FBA /* CheckmarkView.swift */; }; 321B09D623645B57007F3FBA /* util.swift in Sources */ = {isa = PBXBuildFile; fileRef = 321B09D023645B57007F3FBA /* util.swift */; }; @@ -125,6 +127,8 @@ 046034E52381C18900070C86 /* BrowserKit.framework.zip */ = {isa = PBXFileReference; lastKnownFileType = archive.zip; path = BrowserKit.framework.zip; sourceTree = ""; }; 046034E62381C18A00070C86 /* ProKit.framework.zip */ = {isa = PBXFileReference; lastKnownFileType = archive.zip; path = ProKit.framework.zip; sourceTree = ""; }; 046034E92381DDB300070C86 /* ProApplicationsUpdate2010-02.dist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = "ProApplicationsUpdate2010-02.dist"; sourceTree = ""; }; + 047A039924A6EEAF00E00998 /* PluginManager */ = {isa = PBXFileReference; lastKnownFileType = folder; path = PluginManager; sourceTree = ""; }; + 047A039B24A6F3CB00E00998 /* AppKitAperture */ = {isa = PBXFileReference; lastKnownFileType = folder; path = AppKitAperture; sourceTree = ""; }; 321B09CC23643F89007F3FBA /* RetroApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RetroApp.swift; sourceTree = ""; }; 321B09CF23645B57007F3FBA /* CheckmarkView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CheckmarkView.swift; sourceTree = ""; }; 321B09D023645B57007F3FBA /* util.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = util.swift; sourceTree = ""; }; @@ -341,7 +345,9 @@ 32F763552364EA2200200ED7 /* ApertureFixer */, 60E4B4D424022BF900919F36 /* OriginFixer */, 32F763532364DEA700200ED7 /* NyxAudioAnalysis */, + 047A039924A6EEAF00E00998 /* PluginManager */, 042E9E452381AC2B001D3F38 /* AppKit */, + 047A039B24A6F3CB00E00998 /* AppKitAperture */, 042E9E482381AC2B001D3F38 /* VideoFixer */, 32D181C523640CDF006253DE /* Info.plist */, 6008E6E52382160400A2F659 /* Localizable.strings */, @@ -651,8 +657,10 @@ 60E4B4BA240207C100919F36 /* iTunesLauncher in Resources */, 607C3D822382665900FAE528 /* AudioToolbox.framework.zip in Resources */, 32D181C123640CDF006253DE /* Assets.xcassets in Resources */, + 047A039A24A6EEAF00E00998 /* PluginManager in Resources */, 046034E42381B6E800070C86 /* KeynoteScript in Resources */, 60F7A06324091EFA003CD509 /* iTunes12_6_5_Assets_Diff.bin in Resources */, + 047A039C24A6F3CB00E00998 /* AppKitAperture in Resources */, 32F763DD23657A8D00200ED7 /* install_name_tool_packed in Resources */, 6008E6E32382160400A2F659 /* Localizable.strings in Resources */, 604F70A1240B106B00687E1B /* SupportPath.plist in Resources */, @@ -972,7 +980,7 @@ CODE_SIGN_ENTITLEMENTS = Retroactive/Support/Retroactive.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 65; + CURRENT_PROJECT_VERSION = 67; INFOPLIST_FILE = Retroactive/Support/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -993,7 +1001,7 @@ CODE_SIGN_ENTITLEMENTS = Retroactive/Support/Retroactive.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 65; + CURRENT_PROJECT_VERSION = 67; INFOPLIST_FILE = Retroactive/Support/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", diff --git a/Retroactive/AppManager.swift b/Retroactive/AppManager.swift index 2583c31..ea1fe14 100644 --- a/Retroactive/AppManager.swift +++ b/Retroactive/AppManager.swift @@ -408,53 +408,64 @@ class AppManager: NSObject { } var marginBetweenApps: CGFloat { - if osMinorVersion <= 14 { - return 43; + if osAtLeastCatalina { + return 54 } - return 54; + return 43; } var supportedApps: [AppType] { - if osMinorVersion <= 13 { - return [.finalCutPro7, .logicPro9, .keynote5, .pages4, .numbers2] - } else if osMinorVersion == 14 { - return [.finalCutPro7, .logicPro9, .xcode, .keynote5, .pages4, .numbers2] - } else if osMinorVersion >= 15 { + if osAtLeastBigSur { + return [.aperture, .itunes] + } + if osAtLeastCatalina { return [.aperture, .iphoto, .itunes] } + if osAtLeastMojave { + return [.finalCutPro7, .logicPro9, .xcode, .keynote5, .pages4, .numbers2] + } + if osAtLeastHighSierra { + return [.finalCutPro7, .logicPro9, .keynote5, .pages4, .numbers2] + } return [] } var getStartedSubTitle: String { - if osMinorVersion <= 13 { - return "Unlock Final Cut Pro 7 and Logic Pro 9, or fix iWork ’09.".localized() - } else if osMinorVersion == 14 { - return "Unlock Final Cut Pro 7, Logic Pro 9, Xcode 11.5 or 11.4.1, and fix iWork ’09.".localized() - } else if osMinorVersion >= 15 { + if osAtLeastBigSur { + return "Unlock Aperture or install iTunes.".localized() + } + if osAtLeastCatalina { return "Unlock Aperture and iPhoto, or install iTunes.".localized() } + if osAtLeastMojave { + return "Unlock Final Cut Pro 7, Logic Pro 9, Xcode 11.6 or 11.5, and fix iWork ’09.".localized() + } + if osAtLeastHighSierra { + return "Unlock Final Cut Pro 7 and Logic Pro 9, or fix iWork ’09.".localized() + } + return "" } var otherOSSubtitle: String { - if osMinorVersion <= 14 { - return "If you upgrade to macOS Catalina, Final Cut Pro 7, Logic Pro 9, and iWork ’09 will be locked again, and can’t be unlocked. However, Retroactive can still unlock Aperture and iPhoto, or install iTunes on macOS Catalina.".localized() - } else if osMinorVersion >= 15 { + if osAtLeastCatalina { var otherOSHint = "Retroactive can also unlock Final Cut Pro 7, Logic Pro 9, and fix iWork ’09 on macOS Mojave or macOS High Sierra. ".localized() otherOSHint += AppManager.shared.platformShippedAfterMojave ? "To get started, find an older Mac released before Late 2019, and install macOS Mojave on that Mac.".localized() : "To get started, install macOS Mojave on a separate volume.".localized() return otherOSHint } + if osAtLeastHighSierra { + return "If you upgrade to macOS Catalina, Final Cut Pro 7, Logic Pro 9, and iWork ’09 will be locked again, and can’t be unlocked. However, Retroactive can still unlock Aperture and iPhoto, or install iTunes on macOS Catalina.".localized() + } return "" } var otherOSImage: NSImage? { - if osMinorVersion <= 13 { - return NSImage(named:"catalina-banner") - } else if osMinorVersion == 14 { - return NSImage(named:"catalina-banner") - } else if osMinorVersion >= 15 { + if osAtLeastCatalina { return NSImage(named:"mojave-banner") } + if osAtLeastHighSierra { + return NSImage(named:"catalina-banner") + } return nil } @@ -640,7 +651,7 @@ class AppManager: NSObject { case .logicPro9: return "Logic Pro 9" case .xcode: - return "Xcode 11.5 or 11.4.1".localized() + return "Xcode 11.6 or 11.5".localized() case .keynote5: return "Keynote ’09" case .pages4: @@ -746,7 +757,7 @@ class AppManager: NSObject { case .logicPro9: return ["9.1.8", "9.1.7", "9.1.6", "9.1.5", "9.1.4", "9.1.3", "9.1.2", "9.1.1", "9.1.0", "9.1", "9.0.2", "9.0.1", "9.0.0", "9.0"] case .xcode: - return ["11.5", "11.4.1", "11.4"] + return ["11.6", "11.5", "11.4.1", "11.4"] case .keynote5: return ["5.3"] case .pages4: @@ -818,7 +829,7 @@ class AppManager: NSObject { case .logicPro9: return "9.1.8" case .xcode: - return "11.5" + return "11.6" case .keynote5: return "5.3" case .pages4: diff --git a/Retroactive/Common/Extensions/ProcesssInfo-Extension.swift b/Retroactive/Common/Extensions/ProcesssInfo-Extension.swift index b4a44bd..3e2c725 100644 --- a/Retroactive/Common/Extensions/ProcesssInfo-Extension.swift +++ b/Retroactive/Common/Extensions/ProcesssInfo-Extension.swift @@ -1,8 +1,19 @@ import Cocoa -let osFullVersion = ProcessInfo.processInfo.operatingSystemVersion -let osMajorVersion = osFullVersion.majorVersion -let osMinorVersion = osFullVersion.minorVersion +private let osFullVersion = ProcessInfo.processInfo.operatingSystemVersion +private let osMajorVersion = osFullVersion.majorVersion +private let osMinorVersion = osFullVersion.minorVersion +private let processInfo = ProcessInfo() + +let osAtLeastHighSierra = processInfo.isOperatingSystemAtLeast(OperatingSystemVersion(majorVersion: 10, minorVersion: 13, patchVersion: 0)) +let osAtLeastMojave = processInfo.isOperatingSystemAtLeast(OperatingSystemVersion(majorVersion: 10, minorVersion: 14, patchVersion: 0)) +let osAtLeastCatalina = processInfo.isOperatingSystemAtLeast(OperatingSystemVersion(majorVersion: 10, minorVersion: 15, patchVersion: 0)) +let osAtLeastBigSur = processInfo.isOperatingSystemAtLeast(OperatingSystemVersion(majorVersion: 10, minorVersion: 16, patchVersion: 0)) + +let discouraged_osExactlyHighSierra = osMajorVersion == 10 && osMinorVersion == 13 +let discouraged_osExactlyMojave = osMajorVersion == 10 && osMinorVersion == 14 +private let osExactlyCatalina = osMajorVersion == 10 && osMinorVersion == 15 +private let osExactlyBigSur = (osMajorVersion == 10 && osMinorVersion == 16) || osMajorVersion == 11 extension ProcessInfo { static var osVersionNumberString: String { @@ -19,15 +30,18 @@ extension ProcessInfo { } static var versionName: String { - if (osMinorVersion == 13) { + if (discouraged_osExactlyHighSierra) { return "macOS High Sierra" } - if (osMinorVersion == 14) { + if (discouraged_osExactlyMojave) { return "macOS Mojave" } - if (osMinorVersion == 15) { + if (osExactlyCatalina) { return "macOS Catalina" } + if (osExactlyBigSur) { + return "macOS Big Sur" + } return ProcessInfo.versionString } } diff --git a/Retroactive/Dependencies/ApertureFixer/ApertureFixer.xcodeproj/project.pbxproj b/Retroactive/Dependencies/ApertureFixer/ApertureFixer.xcodeproj/project.pbxproj index 8de9b6a..04053af 100644 --- a/Retroactive/Dependencies/ApertureFixer/ApertureFixer.xcodeproj/project.pbxproj +++ b/Retroactive/Dependencies/ApertureFixer/ApertureFixer.xcodeproj/project.pbxproj @@ -266,7 +266,7 @@ CLANG_ENABLE_OBJC_ARC = NO; CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 4; + CURRENT_PROJECT_VERSION = 5; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; @@ -293,7 +293,7 @@ CLANG_ENABLE_OBJC_ARC = NO; CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 4; + CURRENT_PROJECT_VERSION = 5; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; diff --git a/Retroactive/Dependencies/ApertureFixer/ApertureFixer/NSObject+Fixer.m b/Retroactive/Dependencies/ApertureFixer/ApertureFixer/NSObject+Fixer.m index 5d76ef9..e2b7deb 100644 --- a/Retroactive/Dependencies/ApertureFixer/ApertureFixer/NSObject+Fixer.m +++ b/Retroactive/Dependencies/ApertureFixer/ApertureFixer/NSObject+Fixer.m @@ -99,4 +99,13 @@ - (BOOL)_hasRowHeaderColumn { return NO; } + +- (BOOL)_proIsSpinning { + return NO; +} + +- (void)_autoSizeView:(id)a :(id)b :(id)c :(id)d :(id)e { + NSLog(@"Skipping _autoSizeView"); +} + @end diff --git a/Retroactive/Dependencies/ApertureWrapper/AppKitWrapper.m b/Retroactive/Dependencies/ApertureWrapper/AppKitWrapper.m new file mode 100644 index 0000000..cf45232 --- /dev/null +++ b/Retroactive/Dependencies/ApertureWrapper/AppKitWrapper.m @@ -0,0 +1,19 @@ +@import Foundation; +@import AppKit; + +extern @interface NSFlippableView : NSView { +} +@end + +@implementation NSFlippableView +@end + +extern @interface NSToolbarClippedItemsIndicator : NSView { +} +@end + +@implementation NSToolbarClippedItemsIndicator ++ (void)setCellClass:(id)setCellClass { + NSLog(@"Don't set cell class"); +} +@end diff --git a/Retroactive/Dependencies/ApertureWrapper/build.tool b/Retroactive/Dependencies/ApertureWrapper/build.tool new file mode 100755 index 0000000..776ceb6 --- /dev/null +++ b/Retroactive/Dependencies/ApertureWrapper/build.tool @@ -0,0 +1,43 @@ +#!/bin/bash + +set -e + +cd "$(dirname "$0")" + +inputPath=input +outputPath=output +version=1671.60.109 +rm -rf $outputPath +mkdir $outputPath + +function run +{ + frameworkName=$1 + frameworkPath=$2 + + cp -R $inputPath/$frameworkName $outputPath/ + + frameworkNameMoved=${frameworkName}Original + + binaryPathLocal=$outputPath/$frameworkName + binaryPathLocalMoved=$outputPath/$frameworkNameMoved + + binaryPathFull=$frameworkPath/$frameworkName.framework/Versions/A/$frameworkName + binaryPathFullMoved=$frameworkPath/$frameworkName.framework/Versions/A/$frameworkNameMoved + + mv $binaryPathLocal $binaryPathLocalMoved + + wrapperName=${frameworkName}Wrapper + + clang++ $wrapperName.m -dynamiclib -o $wrapperName.o -framework CoreFoundation -framework Foundation -fmodules -Xlinker -reexport_library $binaryPathLocalMoved -install_name $binaryPathFull -compatibility_version $version -current_version $version -arch x86_64 + + install_name_tool -id $binaryPathFullMoved $binaryPathLocalMoved + install_name_tool -change $binaryPathFull $binaryPathFullMoved $wrapperName.o + + mv $wrapperName.o $binaryPathLocal + + codesign -f -s - $binaryPathLocalMoved + codesign -f -s - $binaryPathLocal +} + +run "AppKit" "/System/Library/Frameworks" diff --git a/Retroactive/RootViewController.swift b/Retroactive/RootViewController.swift index c8ca361..ecd4f64 100644 --- a/Retroactive/RootViewController.swift +++ b/Retroactive/RootViewController.swift @@ -42,9 +42,9 @@ class RootViewController: NSViewController, CCNNavigationControllerDelegate, NSW } func alertForOSIncompatibility() { - if osMinorVersion > 15 { + if osAtLeastBigSur { AppDelegate.showOptionSheet(title: "Update to a newer version of Retroactive".localized(), - text: String(format: "This version of Retroactive is only designed and tested for macOS High Sierra, macOS Mojave, and macOS Catalina, which may be incompatible with %@.".localized(), ProcessInfo.versionString), + text: String(format: "This version of Retroactive is only designed and tested for macOS High Sierra, macOS Mojave, and macOS Catalina, which may be incompatible with %@.".localized(), ProcessInfo.versionName), firstButtonText: "Check for Updates", secondButtonText: "Run Anyways", thirdButtonText: "Quit") { (response) in diff --git a/Retroactive/StepThree/ProgressViewController.swift b/Retroactive/StepThree/ProgressViewController.swift index 8070c32..7297b6f 100644 --- a/Retroactive/StepThree/ProgressViewController.swift +++ b/Retroactive/StepThree/ProgressViewController.swift @@ -270,10 +270,19 @@ class ProgressViewController: NSViewController, URLSessionDelegate, URLSessionDa let photoFixerPath = "\(appPath)/\(AppManager.shared.fixerFrameworkSubPath)" self.runTaskAtTemp(toolPath: "/bin/rm", arguments: ["-rf", photoFixerPath]) self.runTask(toolPath: "/bin/cp", arguments: ["-R", "\(resourcePath)/NyxAudioAnalysis", "\(appPath)/Contents/Frameworks/NyxAudioAnalysis.framework"]) + if (osAtLeastBigSur) { + self.runTask(toolPath: "/bin/cp", arguments: ["-R", "\(resourcePath)/PluginManager", "\(appPath)/Contents/Frameworks/PluginManager.framework"]) + self.runTask(toolPath: "/bin/cp", arguments: ["-R", "\(resourcePath)/AppKitAperture", "\(appPath)/Contents/Frameworks/AppKit.framework"]) + } self.runTask(toolPath: "/bin/cp", arguments: ["-R", "\(resourcePath)/ApertureFixer", photoFixerPath]) self.stage3Started() ProgressViewController.runTask(toolPath: "install_name_tool_packed", arguments: ["-change", "/Library/Frameworks/NyxAudioAnalysis.framework/Versions/A/NyxAudioAnalysis", "@executable_path/../Frameworks/NyxAudioAnalysis.framework/Versions/A/NyxAudioAnalysis", "\(appPath)/Contents/Frameworks/iLifeSlideshow.framework/Versions/A/iLifeSlideshow"], path: resourcePath) + if (osAtLeastBigSur) { + ProgressViewController.runTask(toolPath: "install_name_tool_packed", arguments: ["-change", "/Library/Frameworks/PluginManager.framework/Versions/B/PluginManager", "@executable_path/../Frameworks/PluginManager.framework/Versions/B/PluginManager", "\(appPath)/Contents/MacOS/Aperture"], path: resourcePath) + ProgressViewController.runTask(toolPath: "install_name_tool_packed", arguments: ["-change", "/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit", "@executable_path/../Frameworks/AppKit.framework/Versions/C/AppKit", "\(appPath)/Contents/Frameworks/ProKit.framework/Versions/A/ProKit"], path: resourcePath) + ProgressViewController.runTask(toolPath: "install_name_tool_packed", arguments: ["-change", "/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit", "@executable_path/../Frameworks/AppKit.framework/Versions/C/AppKit", "\(appPath)/Contents/Frameworks/iLifeKit.framework/Versions/A/iLifeKit"], path: resourcePath) + } ProgressViewController.runTask(toolPath: "insert_dylib", arguments: [AppManager.shared.fixerBinaryRelativeToExecutablePath, "\(appPath)/Contents/MacOS/\(AppManager.shared.binaryNameOfChosenApp)", "--inplace"], path: resourcePath) if let patchedBundleID = AppManager.shared.patchedBundleIDOfChosenApp { self.runTask(toolPath: "/usr/bin/plutil", arguments: ["-replace", kCFBundleIdentifier, "-string", patchedBundleID, "Contents/Info.plist"]) @@ -292,11 +301,11 @@ class ProgressViewController: NSViewController, URLSessionDelegate, URLSessionDa func suppress32BitWarnings() { if let resourcePath = Bundle.main.resourcePath?.fileSystemString { - if (osMinorVersion == 13) { + if (discouraged_osExactlyHighSierra) { print("supporessing 32 bit warnings on High Sierra") self.runNonAdminTask(toolPath: "/usr/bin/profiles", arguments: ["install", "-path=\(resourcePath)/HighSierra32Bit.mobileconfig"]) } - if (osMinorVersion == 14) { + if (discouraged_osExactlyMojave) { print("supporessing 32 bit warnings on Mojave") self.runNonAdminTask(toolPath: "/usr/bin/profiles", arguments: ["install", "-path=\(resourcePath)/Mojave32Bit.mobileconfig"]) } diff --git a/Retroactive/StepTwo/TutorialViewController.swift b/Retroactive/StepTwo/TutorialViewController.swift index b48d6aa..23e9779 100644 --- a/Retroactive/StepTwo/TutorialViewController.swift +++ b/Retroactive/StepTwo/TutorialViewController.swift @@ -71,7 +71,7 @@ class TutorialViewController: NSViewController { static func presentFromViewController(_ viewController: NSViewController) { let tutorial = TutorialViewController.instantiate() - if (viewController is CatchViewController) || osMinorVersion > 15 { + if (viewController is CatchViewController) || osAtLeastBigSur { viewController.presentAsSheet(tutorial) return } diff --git a/Retroactive/Support/ApertureFixer/Versions/A/ApertureFixer b/Retroactive/Support/ApertureFixer/Versions/A/ApertureFixer index 0b6fb48..a5c8a14 100755 Binary files a/Retroactive/Support/ApertureFixer/Versions/A/ApertureFixer and b/Retroactive/Support/ApertureFixer/Versions/A/ApertureFixer differ diff --git a/Retroactive/Support/ApertureFixer/Versions/A/Resources/Info.plist b/Retroactive/Support/ApertureFixer/Versions/A/Resources/Info.plist index d660cee..bcf872d 100644 --- a/Retroactive/Support/ApertureFixer/Versions/A/Resources/Info.plist +++ b/Retroactive/Support/ApertureFixer/Versions/A/Resources/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 19F62f + 20A4299v CFBundleDevelopmentRegion en CFBundleExecutable @@ -23,11 +23,11 @@ MacOSX CFBundleVersion - 4 + 5 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 11E146 + 11E608c DTPlatformVersion GM DTSDKBuild @@ -35,9 +35,9 @@ DTSDKName macosx10.15 DTXcode - 1140 + 1150 DTXcodeBuild - 11E146 + 11E608c LSMinimumSystemVersion 10.10 diff --git a/Retroactive/Support/ApertureFixer/Versions/A/_CodeSignature/CodeResources b/Retroactive/Support/ApertureFixer/Versions/A/_CodeSignature/CodeResources index d843370..c8b06c0 100644 --- a/Retroactive/Support/ApertureFixer/Versions/A/_CodeSignature/CodeResources +++ b/Retroactive/Support/ApertureFixer/Versions/A/_CodeSignature/CodeResources @@ -6,7 +6,7 @@ Resources/Info.plist - WbsaUd2QAw8fmxTqLZ5zf/JhSVk= + 4ioBbS/bRjtRQ/2Lrsmj1FDXT+s= files2 @@ -37,11 +37,11 @@ hash - WbsaUd2QAw8fmxTqLZ5zf/JhSVk= + 4ioBbS/bRjtRQ/2Lrsmj1FDXT+s= hash2 - caQNbA+qJJ7xFEeaUCRWzuKX2NwNA1M2KSYUWpxaM3I= + 9TZdZsN7tJVF3+DV9/AOf6I6xxi7J9WKhE4EfhX6IIU= diff --git a/Retroactive/Support/AppKitAperture/Versions/C/AppKit b/Retroactive/Support/AppKitAperture/Versions/C/AppKit new file mode 100755 index 0000000..02feec0 Binary files /dev/null and b/Retroactive/Support/AppKitAperture/Versions/C/AppKit differ diff --git a/Retroactive/Support/PluginManager/PluginManager b/Retroactive/Support/PluginManager/PluginManager new file mode 120000 index 0000000..f8e04ad --- /dev/null +++ b/Retroactive/Support/PluginManager/PluginManager @@ -0,0 +1 @@ +Versions/Current/PluginManager \ No newline at end of file diff --git a/Retroactive/Support/PluginManager/Resources b/Retroactive/Support/PluginManager/Resources new file mode 120000 index 0000000..953ee36 --- /dev/null +++ b/Retroactive/Support/PluginManager/Resources @@ -0,0 +1 @@ +Versions/Current/Resources \ No newline at end of file diff --git a/Retroactive/Support/PluginManager/Versions/A/PluginManager b/Retroactive/Support/PluginManager/Versions/A/PluginManager new file mode 100755 index 0000000..f46086b Binary files /dev/null and b/Retroactive/Support/PluginManager/Versions/A/PluginManager differ diff --git a/Retroactive/Support/PluginManager/Versions/A/Resources/English.lproj/InfoPlist.strings b/Retroactive/Support/PluginManager/Versions/A/Resources/English.lproj/InfoPlist.strings new file mode 100644 index 0000000..53a896a Binary files /dev/null and b/Retroactive/Support/PluginManager/Versions/A/Resources/English.lproj/InfoPlist.strings differ diff --git a/Retroactive/Support/PluginManager/Versions/A/Resources/Info.plist b/Retroactive/Support/PluginManager/Versions/A/Resources/Info.plist new file mode 100644 index 0000000..14d2597 --- /dev/null +++ b/Retroactive/Support/PluginManager/Versions/A/Resources/Info.plist @@ -0,0 +1,52 @@ + + + + + BuildMachineOSBuild + 18A391011 + CFBundleDevelopmentRegion + English + CFBundleExecutable + PluginManager + CFBundleGetInfoString + Plugin Manager + CFBundleIdentifier + com.apple.PluginManager + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + PlugInManager + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0.1 + CFBundleSignature + ???? + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 21 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 11O62d + DTPlatformName + macosx + DTPlatformVersion + 10.15.4 + DTSDKBuild + 19F71 + DTSDKName + macosx10.15internal + DTXcode + 1140 + DTXcodeBuild + 11O62d + LSMinimumSystemVersion + 10.15 + NSPrincipalClass + PROPlugInManager + + diff --git a/Retroactive/Support/PluginManager/Versions/A/Resources/version.plist b/Retroactive/Support/PluginManager/Versions/A/Resources/version.plist new file mode 100644 index 0000000..87eee26 --- /dev/null +++ b/Retroactive/Support/PluginManager/Versions/A/Resources/version.plist @@ -0,0 +1,18 @@ + + + + + BuildAliasOf + PluginManager + BuildVersion + 14246 + CFBundleShortVersionString + 1.0.1 + CFBundleVersion + 21 + ProjectName + PluginManager + SourceVersion + 57000000000000 + + diff --git a/Retroactive/Support/PluginManager/Versions/A/_CodeSignature/CodeResources b/Retroactive/Support/PluginManager/Versions/A/_CodeSignature/CodeResources new file mode 100644 index 0000000..d3b2ad4 --- /dev/null +++ b/Retroactive/Support/PluginManager/Versions/A/_CodeSignature/CodeResources @@ -0,0 +1,157 @@ + + + + + files + + Resources/English.lproj/InfoPlist.strings + + hash + + hDqngjwL9wY/oWgqErwEjRue/uQ= + + optional + + + Resources/Info.plist + + Rlo2QR3hK1kacGe/pFasyALOuJQ= + + Resources/version.plist + + gYGFXrtTx181+ylW+9GdrHBq/x0= + + + files2 + + Resources/English.lproj/InfoPlist.strings + + hash2 + + 9F3PqV4eLAfIZ4kXCYKnZVi/SPu8VIzqdjO3GWKZeWg= + + optional + + + Resources/Info.plist + + hash2 + + EnjafYid9SFusqTYpp+uRhmjujJfKbyWGrWLT0m7h3Y= + + + Resources/version.plist + + hash2 + + TdsGZWHN8YesCQDFkh6F0wOjJw/QxttYCSGFf6OaX7s= + + + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/Retroactive/Support/PluginManager/Versions/B/PluginManager b/Retroactive/Support/PluginManager/Versions/B/PluginManager new file mode 100755 index 0000000..33eb090 Binary files /dev/null and b/Retroactive/Support/PluginManager/Versions/B/PluginManager differ diff --git a/Retroactive/Support/PluginManager/Versions/B/Resources/English.lproj/InfoPlist.strings b/Retroactive/Support/PluginManager/Versions/B/Resources/English.lproj/InfoPlist.strings new file mode 100644 index 0000000..38bb090 Binary files /dev/null and b/Retroactive/Support/PluginManager/Versions/B/Resources/English.lproj/InfoPlist.strings differ diff --git a/Retroactive/Support/PluginManager/Versions/B/Resources/Info.plist b/Retroactive/Support/PluginManager/Versions/B/Resources/Info.plist new file mode 100644 index 0000000..5af9dc1 --- /dev/null +++ b/Retroactive/Support/PluginManager/Versions/B/Resources/Info.plist @@ -0,0 +1,52 @@ + + + + + BuildMachineOSBuild + 18A391011 + CFBundleDevelopmentRegion + English + CFBundleExecutable + PluginManager + CFBundleGetInfoString + Plugin Manager + CFBundleIdentifier + com.apple.PluginManager + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + PlugInManager + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.7.6 + CFBundleSignature + ???? + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 55 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 11O62d + DTPlatformName + macosx + DTPlatformVersion + 10.15.4 + DTSDKBuild + 19F71 + DTSDKName + macosx10.15internal + DTXcode + 1140 + DTXcodeBuild + 11O62d + LSMinimumSystemVersion + 10.15 + NSPrincipalClass + PROPlugInManager + + diff --git a/Retroactive/Support/PluginManager/Versions/B/Resources/version.plist b/Retroactive/Support/PluginManager/Versions/B/Resources/version.plist new file mode 100644 index 0000000..8e2b894 --- /dev/null +++ b/Retroactive/Support/PluginManager/Versions/B/Resources/version.plist @@ -0,0 +1,18 @@ + + + + + BuildAliasOf + PluginManager + BuildVersion + 14246 + CFBundleShortVersionString + 1.7.6 + CFBundleVersion + 55 + ProjectName + PluginManager + SourceVersion + 57000000000000 + + diff --git a/Retroactive/Support/PluginManager/Versions/B/_CodeSignature/CodeResources b/Retroactive/Support/PluginManager/Versions/B/_CodeSignature/CodeResources new file mode 100644 index 0000000..a4094f3 --- /dev/null +++ b/Retroactive/Support/PluginManager/Versions/B/_CodeSignature/CodeResources @@ -0,0 +1,157 @@ + + + + + files + + Resources/English.lproj/InfoPlist.strings + + hash + + A29ROLSRBrMvVKFxFsC8JknAUcE= + + optional + + + Resources/Info.plist + + qI0o+HLjhTiOJYnJhqVlJE0yB+Y= + + Resources/version.plist + + 0lcsBgo3TISrPCtv7bZY5Bj5dxY= + + + files2 + + Resources/English.lproj/InfoPlist.strings + + hash2 + + f4ddDDMbkbX3wOL1a18UpEFHkzzciV9fyiEnGD9DEbA= + + optional + + + Resources/Info.plist + + hash2 + + FZXVc2vWyI4BaXbp/yYu/9FhKIXPVs84p1WMpK+A/Yk= + + + Resources/version.plist + + hash2 + + L1UIE/lAiCJ2CJo5oMRh454+P2sQJ1Mb1njXchS7DSM= + + + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/Retroactive/Support/PluginManager/Versions/Current b/Retroactive/Support/PluginManager/Versions/Current new file mode 120000 index 0000000..7371f47 --- /dev/null +++ b/Retroactive/Support/PluginManager/Versions/Current @@ -0,0 +1 @@ +B \ No newline at end of file diff --git a/Retroactive/Support/SupportPath.plist b/Retroactive/Support/SupportPath.plist index 10b6162..f94178c 100644 --- a/Retroactive/Support/SupportPath.plist +++ b/Retroactive/Support/SupportPath.plist @@ -3,7 +3,7 @@ NewVersionVisibleTitle - Retroactive 1.7 (Build 65) improves compatibility between iWork ’09 and macOS Mojave, contains bug fixes for Logic Pro 9, and adds support for unlocking Xcode 11.5 on macOS Mojave. + Retroactive 1.7 (Build 67) improves compatibility between iWork ’09 and macOS Mojave, contains bug fixes for Logic Pro 9, and adds support for unlocking Xcode 11.6 on macOS Mojave. NewVersionChangelog • Resolves an issue where typing and scrolling in Pages ’09 may be slow • Resolves an issue where Pages may fail to resize when the Styles drawer is visible @@ -12,9 +12,9 @@ • Resolves an issue where the document title may become unresponsive in iWork ’09 • Resolves an issue where text in Japanese, Traditional Chinese, and Simplified Chinese may be invisible or appear as special characters in iWork ’09 • Resolves an issue where 32-bit Audio Bridge may quit unexpectedly when opening Logic Pro 9 -• Adds support for unlocking Xcode 11.5 on macOS Mojave +• Adds support for unlocking Xcode 11.6 on macOS Mojave NewVersionVisibleTitlezhHans - 新版本解印 1.7 (版本号 65) 改进了 iWork ’09 与 macOS Mojave 的兼容性,包含对 Logic Pro 9 的错误修正,并支持在 macOS Mojave 下解锁 Xcode 11.5 + 新版本解印 1.7 (版本号 67) 改进了 iWork ’09 与 macOS Mojave 的兼容性,包含对 Logic Pro 9 的错误修正,并支持在 macOS Mojave 下解锁 Xcode 11.6 NewVersionChangelogzhHans • 解决了在 Pages ’09 中输入文字和滚动可能响应缓慢的问题 • 解决了在 Pages ’09 中显示样式抽屉时窗口可能无法调整大小的问题 @@ -23,9 +23,9 @@ • 解决了在 iWork ’09 中文稿名称可能失去响应的问题 • 解决了在 iWork ’09 中简体中文、繁体中文和日文字符可能不可见或被特殊字符替代的问题 • 解决了在启动 Logic Pro 9 时,32 位 Audio Bridge 可能意外退出的问题 -• 新增支持在 macOS Mojave 下解锁 Xcode 11.5 +• 新增支持在 macOS Mojave 下解锁 Xcode 11.6 NewVersionVisibleTitlezhHant - 新版本解印 1.7 (版本號 65) 改進了 iWork ’09 與 macOS Mojave 的兼容性,包含對 Logic Pro 9 的錯誤修正,並支持在 macOS Mojave 下解鎖 Xcode 11.5 + 新版本解印 1.7 (版本號 67) 改進了 iWork ’09 與 macOS Mojave 的兼容性,包含對 Logic Pro 9 的錯誤修正,並支持在 macOS Mojave 下解鎖 Xcode 11.6 NewVersionChangelogzhHant • 解決了在 Pages ’09 中輸入文字和滾動可能響應緩慢的問題 • 解決了在 Pages ’09 中顯示樣式抽屜時窗口可能無法調整大小的問題 @@ -34,11 +34,11 @@ • 解決了在 iWork ’09 中文稿名稱可能失去響應的問題 • 解決了在 iWork ’09 中繁體中文、簡體中文和日文字符可能不可見或被特殊字符替代的問題 • 解決了在啟動 Logic Pro 9 時,32 位 Audio Bridge 可能意外退出的問題 -• 新增支持在 macOS Mojave 下解鎖 Xcode 11.5 +• 新增支持在 macOS Mojave 下解鎖 Xcode 11.6 LatestZIP https://github.com/cormiertyshawn895/Retroactive/releases/download/1.7/Retroactive.1.7.zip LatestBuildNumber - 65 + 67 SupportPathURL https://raw.githubusercontent.com/cormiertyshawn895/Retroactive/master/Retroactive/Support/SupportPath.plist ReleasePage diff --git a/Retroactive/Support/SupportPathTemplate.xml b/Retroactive/Support/SupportPathTemplate.xml index d89d911..c274317 100644 --- a/Retroactive/Support/SupportPathTemplate.xml +++ b/Retroactive/Support/SupportPathTemplate.xml @@ -3,7 +3,7 @@ NewVersionVisibleTitle - Retroactive $(VERSION) improves compatibility between iWork ’09 and macOS Mojave, contains bug fixes for Logic Pro 9, and adds support for unlocking Xcode 11.5 on macOS Mojave. + Retroactive $(VERSION) improves compatibility between iWork ’09 and macOS Mojave, contains bug fixes for Logic Pro 9, and adds support for unlocking Xcode 11.6 on macOS Mojave. NewVersionChangelog • Resolves an issue where typing and scrolling in Pages ’09 may be slow • Resolves an issue where Pages may fail to resize when the Styles drawer is visible @@ -12,9 +12,9 @@ • Resolves an issue where the document title may become unresponsive in iWork ’09 • Resolves an issue where text in Japanese, Traditional Chinese, and Simplified Chinese may be invisible or appear as special characters in iWork ’09 • Resolves an issue where 32-bit Audio Bridge may quit unexpectedly when opening Logic Pro 9 -• Adds support for unlocking Xcode 11.5 on macOS Mojave +• Adds support for unlocking Xcode 11.6 on macOS Mojave NewVersionVisibleTitlezhHans - 新版本解印 $(VERSION_HANS) 改进了 iWork ’09 与 macOS Mojave 的兼容性,包含对 Logic Pro 9 的错误修正,并支持在 macOS Mojave 下解锁 Xcode 11.5 + 新版本解印 $(VERSION_HANS) 改进了 iWork ’09 与 macOS Mojave 的兼容性,包含对 Logic Pro 9 的错误修正,并支持在 macOS Mojave 下解锁 Xcode 11.6 NewVersionChangelogzhHans • 解决了在 Pages ’09 中输入文字和滚动可能响应缓慢的问题 • 解决了在 Pages ’09 中显示样式抽屉时窗口可能无法调整大小的问题 @@ -23,9 +23,9 @@ • 解决了在 iWork ’09 中文稿名称可能失去响应的问题 • 解决了在 iWork ’09 中简体中文、繁体中文和日文字符可能不可见或被特殊字符替代的问题 • 解决了在启动 Logic Pro 9 时,32 位 Audio Bridge 可能意外退出的问题 -• 新增支持在 macOS Mojave 下解锁 Xcode 11.5 +• 新增支持在 macOS Mojave 下解锁 Xcode 11.6 NewVersionVisibleTitlezhHant - 新版本解印 $(VERSION_HANT) 改進了 iWork ’09 與 macOS Mojave 的兼容性,包含對 Logic Pro 9 的錯誤修正,並支持在 macOS Mojave 下解鎖 Xcode 11.5 + 新版本解印 $(VERSION_HANT) 改進了 iWork ’09 與 macOS Mojave 的兼容性,包含對 Logic Pro 9 的錯誤修正,並支持在 macOS Mojave 下解鎖 Xcode 11.6 NewVersionChangelogzhHant • 解決了在 Pages ’09 中輸入文字和滾動可能響應緩慢的問題 • 解決了在 Pages ’09 中顯示樣式抽屜時窗口可能無法調整大小的問題 @@ -34,7 +34,7 @@ • 解決了在 iWork ’09 中文稿名稱可能失去響應的問題 • 解決了在 iWork ’09 中繁體中文、簡體中文和日文字符可能不可見或被特殊字符替代的問題 • 解決了在啟動 Logic Pro 9 時,32 位 Audio Bridge 可能意外退出的問題 -• 新增支持在 macOS Mojave 下解鎖 Xcode 11.5 +• 新增支持在 macOS Mojave 下解鎖 Xcode 11.6 LatestZIP https://github.com/cormiertyshawn895/Retroactive/releases/download/$(MARKETING_VERSION)/Retroactive.$(MARKETING_VERSION).zip LatestBuildNumber diff --git a/Retroactive/Support/zh-Hans.lproj/Localizable.strings b/Retroactive/Support/zh-Hans.lproj/Localizable.strings index a3aae39..ddf2ad0 100644 --- a/Retroactive/Support/zh-Hans.lproj/Localizable.strings +++ b/Retroactive/Support/zh-Hans.lproj/Localizable.strings @@ -118,8 +118,9 @@ "Unable to quit Retroactive" = "无法退出解印"; "Unarchive Xcode and move it to the Applications folder" = "先解压缩 Xcode,然后将其移动至应用程序文件夹"; "Unlock Aperture and iPhoto, or install iTunes." = "解除对 Aperture 和 iPhoto 的封印,或安装 iTunes。"; +"Unlock Aperture or install iTunes." = "解除对 Aperture 封印或安装 iTunes。"; "Unlock Final Cut Pro 7 and Logic Pro 9, or fix iWork ’09." = "解除对 Final Cut Pro 7 和 Logic Pro 9 的封印,或修复 iWork ’09。"; -"Unlock Final Cut Pro 7, Logic Pro 9, Xcode 11.5 or 11.4.1, and fix iWork ’09." = "解除对 Final Cut Pro 7、Logic Pro 9 与 Xcode 11.5 或 11.4.1 的封印,并修复 iWork ’09。"; +"Unlock Final Cut Pro 7, Logic Pro 9, Xcode 11.6 or 11.5, and fix iWork ’09." = "解除对 Final Cut Pro 7、Logic Pro 9 与 Xcode 11.6 或 11.5 的封印,并修复 iWork ’09。"; "Unlock {name} again" = "重新解印 {name}"; "Untitled" = "新项目"; "Update (Recommended)" = "安装更新 (推荐)"; @@ -137,7 +138,7 @@ "Working..." = "进行中..."; "Would you like to create a new iTunes library to use with iTunes %@?" = "是否要创建一个新的 iTunes 资料库,从而与 iTunes %@ 配合使用?"; "Would you like to create a new iTunes library?" = "您是否想要创建新的 iTunes 资料库?"; -"Xcode 11.5 or 11.4.1" = "Xcode 11.5 或 11.4.1"; +"Xcode 11.6 or 11.5" = "Xcode 11.6 或 11.5"; "Yes, you can. However, iTunes will not sync with iPod devices, play music on removable storage, or access shared iTunes libraries on a network drive." = "可以。然而 iTunes 将无法与 iPod 设备同步或播放存储于可移除的宗卷的音乐,也不能访问网络共享服务器上的 iTunes 资料库。"; "You can download and install iWork ’09, which includes %@, from The Internet Archive." = "您可以在互联网上找到,并下载和安装 iWork ’09 (包含 %@)。"; "You can export existing Keynote presentations into PowerPoint presentations. To view and edit your Keynote slides, animations, and transitions, run Retroactive on a real Mac." = "您可以将现有的 Keynote 演示文稿导出为 PowerPoint 演示文稿。如需查看或编辑 Keynote 幻灯片、动画和转场,请在真正的 Mac 电脑中运行解印。"; diff --git a/Retroactive/Support/zh-Hant.lproj/Localizable.strings b/Retroactive/Support/zh-Hant.lproj/Localizable.strings index ae1078f..84fcfc4 100644 --- a/Retroactive/Support/zh-Hant.lproj/Localizable.strings +++ b/Retroactive/Support/zh-Hant.lproj/Localizable.strings @@ -118,8 +118,9 @@ "Unable to quit Retroactive" = "無法退出解印"; "Unarchive Xcode and move it to the Applications folder" = "先解壓縮 Xcode,然後將其移動至應用程序文件夾"; "Unlock Aperture and iPhoto, or install iTunes." = "解除對 Aperture 和 iPhoto 的封印,或安裝 iTunes。"; +"Unlock Aperture or install iTunes." = "解除對 Aperture 封印或安裝 iTunes。"; "Unlock Final Cut Pro 7 and Logic Pro 9, or fix iWork ’09." = "解除對 Final Cut Pro 7 和 Logic Pro 9 的封印,或修復 iWork ’09。"; -"Unlock Final Cut Pro 7, Logic Pro 9, Xcode 11.5 or 11.4.1, and fix iWork ’09." = "解除對 Final Cut Pro 7、Logic Pro 9 與 Xcode 11.5 或 11.4.1 的封印,並修複 iWork ’09。"; +"Unlock Final Cut Pro 7, Logic Pro 9, Xcode 11.6 or 11.5, and fix iWork ’09." = "解除對 Final Cut Pro 7、Logic Pro 9 與 Xcode 11.6 或 11.5 的封印,並修複 iWork ’09。"; "Unlock {name} again" = "重新解印 {name}"; "Untitled" = "新項目"; "Update (Recommended)" = "安裝更新 (推薦)"; @@ -137,7 +138,7 @@ "Working..." = "進行中..."; "Would you like to create a new iTunes library to use with iTunes %@?" = "是否要創建一個新的 iTunes 資料庫,從而與 iTunes %@ 配合使用?"; "Would you like to create a new iTunes library?" = "您是否想要創建新的 iTunes 資料庫?"; -"Xcode 11.5 or 11.4.1" = "Xcode 11.5 或 11.4.1"; +"Xcode 11.6 or 11.5" = "Xcode 11.6 或 11.5"; "Yes, you can. However, iTunes will not sync with iPod devices, play music on removable storage, or access shared iTunes libraries on a network drive." = "可以。然而 iTunes 將無法與 iPod 設備同步或播放存儲於可移除的宗卷的音樂,也不能訪問網絡共享服務器上的 iTunes 資料庫。"; "You can download and install iWork ’09, which includes %@, from The Internet Archive." = "您可以在互聯網上找到,並下載和安裝 iWork ’09 (包含 %@)。"; "You can export existing Keynote presentations into PowerPoint presentations. To view and edit your Keynote slides, animations, and transitions, run Retroactive on a real Mac." = "您可以將現有的 Keynote 演示文稿導出為 PowerPoint 演示文稿。如需查看或編輯 Keynote 幻燈片、動畫和轉場,請在真正的 Mac 電腦中運行解印。";