Skip to content
This repository was archived by the owner on Aug 11, 2024. It is now read-only.

Commit 5c1546a

Browse files
Resolves a problem where Aperture and iPhoto quit unexpectedly on macOS Sonoma 14.2 or later.
1 parent 9388c4f commit 5c1546a

File tree

21 files changed

+197
-83
lines changed

21 files changed

+197
-83
lines changed

README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
<p align="center">
2-
<a href="https://github.com/cormiertyshawn895/Retroactive/releases/download/2.0/Retroactive.2.0.zip" alt="Download Retroactive"><img width="188" height="188" src="screenshots/icon.png" alt="Download Retroactive"></a>
2+
<a href="https://github.com/cormiertyshawn895/Retroactive/releases/download/2.1/Retroactive.2.1.zip" alt="Download Retroactive"><img width="188" height="188" src="screenshots/icon.png" alt="Download Retroactive"></a>
33
</p>
44

55
## Retroactive
66

7-
Run Aperture, iPhoto, and iTunes on macOS Ventura, macOS Monterey, macOS Big Sur, and macOS Catalina. Xcode 11.7 on macOS Mojave. Final Cut Pro 7, Logic Pro 9, and iWork ’09 on macOS Mojave or macOS High Sierra.
7+
Retroactive only receives limited support. You should transition from Retroactive to a wide range of supported apps, many of which are built into macOS or free to download. [Learn how to transition from Retroactive to supported apps](TRANSITION.md).
8+
9+
Run Aperture, iPhoto, and iTunes on macOS Sonoma, macOS Ventura, macOS Monterey, macOS Big Sur, and macOS Catalina. Xcode 11.7 on macOS Mojave. Final Cut Pro 7, Logic Pro 9, and iWork ’09 on macOS Mojave or macOS High Sierra.
810

911
<p align="center">
10-
<a href="https://github.com/cormiertyshawn895/Retroactive/releases/download/2.0/Retroactive.2.0.zip" alt="Download Retroactive"><img width="282" height="68" src="screenshots/resources/download-button.png" alt="Download Retroactive"></a>
12+
<a href="https://github.com/cormiertyshawn895/Retroactive/releases/download/2.1/Retroactive.2.1.zip" alt="Download Retroactive"><img width="282" height="68" src="screenshots/resources/download-button.png" alt="Download Retroactive"></a>
1113
<p>
1214
<p align="center">
1315
<a href="https://github.com/cormiertyshawn895/Retroactive/releases" alt="View Release Page"><img width="160" height="18" src="screenshots/resources/release-button.png" alt="View Release Page"></a>
@@ -33,7 +35,7 @@ Retroactive will not harm your Mac. This alert only shows up because Retroactive
3335

3436
### Picking an app
3537

36-
On macOS Ventura, macOS Monterey, macOS Big Sur, and macOS Catalina, Retroactive can unlock Aperture and iPhoto, or install iTunes. Pick the app you want to run. If you want to run multiple apps from here, pick any one of them. You will always be able to get back to this screen later.
38+
On macOS Sonoma, macOS Ventura, macOS Monterey, macOS Big Sur, and macOS Catalina, Retroactive can unlock Aperture and iPhoto, or install iTunes. Pick the app you want to run. If you want to run multiple apps from here, pick any one of them. You will always be able to get back to this screen later.
3739

3840
![](screenshots/4.jpg)
3941

Retroactive.xcodeproj/project.pbxproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -999,14 +999,14 @@
999999
CODE_SIGN_ENTITLEMENTS = Retroactive/Support/Retroactive.entitlements;
10001000
CODE_SIGN_STYLE = Automatic;
10011001
COMBINE_HIDPI_IMAGES = YES;
1002-
CURRENT_PROJECT_VERSION = 87;
1002+
CURRENT_PROJECT_VERSION = 88;
10031003
INFOPLIST_FILE = Retroactive/Support/Info.plist;
10041004
LD_RUNPATH_SEARCH_PATHS = (
10051005
"$(inherited)",
10061006
"@executable_path/../Frameworks",
10071007
);
10081008
MACOSX_DEPLOYMENT_TARGET = 10.13;
1009-
MARKETING_VERSION = 2.0;
1009+
MARKETING_VERSION = 2.1;
10101010
PRODUCT_BUNDLE_IDENTIFIER = com.retroactive.Retroactive;
10111011
PRODUCT_NAME = "$(TARGET_NAME)";
10121012
SWIFT_OBJC_BRIDGING_HEADER = "Retroactive/Libraries/Bridging-Header.h";
@@ -1021,14 +1021,14 @@
10211021
CODE_SIGN_ENTITLEMENTS = Retroactive/Support/Retroactive.entitlements;
10221022
CODE_SIGN_STYLE = Automatic;
10231023
COMBINE_HIDPI_IMAGES = YES;
1024-
CURRENT_PROJECT_VERSION = 87;
1024+
CURRENT_PROJECT_VERSION = 88;
10251025
INFOPLIST_FILE = Retroactive/Support/Info.plist;
10261026
LD_RUNPATH_SEARCH_PATHS = (
10271027
"$(inherited)",
10281028
"@executable_path/../Frameworks",
10291029
);
10301030
MACOSX_DEPLOYMENT_TARGET = 10.13;
1031-
MARKETING_VERSION = 2.0;
1031+
MARKETING_VERSION = 2.1;
10321032
PRODUCT_BUNDLE_IDENTIFIER = com.retroactive.Retroactive;
10331033
PRODUCT_NAME = "$(TARGET_NAME)";
10341034
SWIFT_OBJC_BRIDGING_HEADER = "Retroactive/Libraries/Bridging-Header.h";

Retroactive/AppManager.swift

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -454,6 +454,9 @@ class AppManager: NSObject {
454454
}
455455

456456
var otherOSSubtitle: String {
457+
if osAtLeastSonoma {
458+
return "Retroactive only receives limited support. You should transition from Retroactive to a".localized() + "\n" + "wide range of supported apps, many of which are built into macOS or free to download.".localized()
459+
}
457460
if osAtLeastCatalina {
458461
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()
459462
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()
@@ -466,6 +469,9 @@ class AppManager: NSObject {
466469
}
467470

468471
var otherOSImage: NSImage? {
472+
if osAtLeastSonoma {
473+
return NSImage(named:"supported-banner")
474+
}
469475
if osAtLeastCatalina {
470476
return NSImage(named:"mojave-banner")
471477
}

Retroactive/Common/Extensions/ProcesssInfo-Extension.swift

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,16 @@ let osAtLeastBigSur = processInfo.isOperatingSystemAtLeast(OperatingSystemVersio
1212
let osAtLeastMonterey = processInfo.isOperatingSystemAtLeast(OperatingSystemVersion(majorVersion: 12, minorVersion: 0, patchVersion: 0))
1313
let osAtLeastMontereyE = processInfo.isOperatingSystemAtLeast(OperatingSystemVersion(majorVersion: 12, minorVersion: 3, patchVersion: 0))
1414
let osAtLeastVentura = processInfo.isOperatingSystemAtLeast(OperatingSystemVersion(majorVersion: 13, minorVersion: 0, patchVersion: 0))
15-
let osAtLeast2023 = processInfo.isOperatingSystemAtLeast(OperatingSystemVersion(majorVersion: 14, minorVersion: 0, patchVersion: 0))
15+
let osAtLeastSonoma = processInfo.isOperatingSystemAtLeast(OperatingSystemVersion(majorVersion: 14, minorVersion: 0, patchVersion: 0))
16+
let osAtLeast2024 = processInfo.isOperatingSystemAtLeast(OperatingSystemVersion(majorVersion: 15, minorVersion: 0, patchVersion: 0))
1617

1718
let discouraged_osExactlyHighSierra = osMajorVersion == 10 && osMinorVersion == 13
1819
let discouraged_osExactlyMojave = osMajorVersion == 10 && osMinorVersion == 14
1920
let discouraged_osExactlyCatalina = osMajorVersion == 10 && osMinorVersion == 15
2021
let discouraged_osExactlyBigSur = (osMajorVersion == 10 && osMinorVersion == 16) || osMajorVersion == 11
2122
let discouraged_osExactlyMonterey = osMajorVersion == 12
2223
let discouraged_osExactlyVentura = osMajorVersion == 13
24+
let discouraged_osExactlySonoma = osMajorVersion == 14
2325
let discouraged_osHasExperimentalSupport = false
2426

2527
extension ProcessInfo {
@@ -55,6 +57,9 @@ extension ProcessInfo {
5557
if (discouraged_osExactlyVentura) {
5658
return "macOS Ventura"
5759
}
60+
if (discouraged_osExactlySonoma) {
61+
return "macOS Sonoma"
62+
}
5863
return ProcessInfo.versionString
5964
}
6065
}

Retroactive/Dependencies/ApertureFixer/ApertureFixer.xcodeproj/project.pbxproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,7 @@
275275
CLANG_ENABLE_OBJC_ARC = NO;
276276
CODE_SIGN_STYLE = Manual;
277277
COMBINE_HIDPI_IMAGES = YES;
278-
CURRENT_PROJECT_VERSION = 9;
278+
CURRENT_PROJECT_VERSION = 10;
279279
DEFINES_MODULE = YES;
280280
DEVELOPMENT_TEAM = "";
281281
DYLIB_COMPATIBILITY_VERSION = 1;
@@ -303,7 +303,7 @@
303303
CLANG_ENABLE_OBJC_ARC = NO;
304304
CODE_SIGN_STYLE = Manual;
305305
COMBINE_HIDPI_IMAGES = YES;
306-
CURRENT_PROJECT_VERSION = 9;
306+
CURRENT_PROJECT_VERSION = 10;
307307
DEFINES_MODULE = YES;
308308
DEVELOPMENT_TEAM = "";
309309
DYLIB_COMPATIBILITY_VERSION = 1;

Retroactive/Dependencies/ApertureWrapper/AppKitWrapper.m

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
@import Foundation;
22
@import AppKit;
33

4-
extern @interface NSFlippableView : NSView {
5-
}
4+
extern @interface NSRegion : NSObject
5+
@end
6+
7+
@implementation NSRegion
8+
@end
9+
10+
extern @interface NSFlippableView : NSView
611
@end
712

813
@implementation NSFlippableView
914
@end
1015

11-
extern @interface NSToolbarClippedItemsIndicator : NSView {
12-
}
16+
extern @interface NSToolbarClippedItemsIndicator : NSView
1317
@end
1418

1519
@implementation NSToolbarClippedItemsIndicator

Retroactive/RootViewController.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@ class RootViewController: NSViewController, CCNNavigationControllerDelegate, NSW
4242
}
4343

4444
func alertForOSIncompatibility() {
45-
if osAtLeast2023 {
45+
if osAtLeast2024 {
4646
AppDelegate.showOptionSheet(title: discouraged_osHasExperimentalSupport ? String(format: "Experimental support on %@".localized(), ProcessInfo.versionName) : "Update to a newer version of Retroactive".localized(),
47-
text: discouraged_osHasExperimentalSupport ? String(format: "On %@, Aperture, iPhoto, and iTunes can launch and are functional, but you may see minor glitches.".localized(), ProcessInfo.versionName) : String(format: "This version of Retroactive is only designed and tested for macOS High Sierra, macOS Mojave, macOS Catalina, macOS Big Sur, macOS Montery, and macOS Ventura, which may be incompatible with %@.".localized(), ProcessInfo.versionName),
47+
text: discouraged_osHasExperimentalSupport ? String(format: "On %@, Aperture, iPhoto, and iTunes can launch and are functional, but you may see minor glitches.".localized(), ProcessInfo.versionName) : String(format: "This version of Retroactive is only designed and tested for macOS Sonoma, macOS Ventura, macOS Monterey, macOS Big Sur, macOS Catalina, macOS Mojave, and macOS High Sierra, which may be incompatible with %@.".localized(), ProcessInfo.versionName),
4848
firstButtonText: "Check for Updates".localized(),
4949
secondButtonText: discouraged_osHasExperimentalSupport ? "Continue".localized() : "Run Anyways".localized(),
5050
thirdButtonText: "Quit".localized()) { (response) in

Retroactive/StepOne/ChoiceViewController.swift

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ class ChoiceViewController: NSViewController {
1616
@IBOutlet weak var getStartedSubTitle: DisplayOnlyTextField!
1717
@IBOutlet weak var otherOSSubtitle: NSTextField!
1818
@IBOutlet weak var otherOSImageView: NSImageView!
19+
@IBOutlet weak var transitionHelpButton: HoverButton!
1920

2021
@IBOutlet weak var scrollView: NSScrollView!
2122
@IBOutlet weak var scrollContentView: NSView!
@@ -62,8 +63,16 @@ class ChoiceViewController: NSViewController {
6263
getStartedSubTitle.stringValue = AppManager.shared.getStartedSubTitle
6364
otherOSSubtitle.stringValue = AppManager.shared.otherOSSubtitle
6465
otherOSImageView.image = AppManager.shared.otherOSImage
66+
if (osAtLeastSonoma) {
67+
otherOSSubtitle.alignment = .center
68+
transitionHelpButton.isHidden = false
69+
transitionHelpButton.title = "Learn how to transition from Retroactive to supported apps".localized() + ""
70+
}
6571
}
6672

73+
@IBAction func transitionButtonClicked(_ sender: Any) {
74+
AppDelegate.current.safelyOpenURL("https://github.com/cormiertyshawn895/Retroactive/blob/master/TRANSITION.md")
75+
}
6776
}
6877

6978
class SingularChoiceViewController: NSViewController {
32 Bytes
Binary file not shown.

Retroactive/Support/ApertureFixer/Versions/A/Resources/Info.plist

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<plist version="1.0">
44
<dict>
55
<key>BuildMachineOSBuild</key>
6-
<string>19H15</string>
6+
<string>21H1111</string>
77
<key>CFBundleDevelopmentRegion</key>
88
<string>en</string>
99
<key>CFBundleExecutable</key>
@@ -23,23 +23,23 @@
2323
<string>MacOSX</string>
2424
</array>
2525
<key>CFBundleVersion</key>
26-
<string>9</string>
26+
<string>10</string>
2727
<key>DTCompiler</key>
2828
<string>com.apple.compilers.llvm.clang.1_0</string>
2929
<key>DTPlatformBuild</key>
30-
<string>12B45b</string>
30+
<string>13F100</string>
3131
<key>DTPlatformName</key>
3232
<string>macosx</string>
3333
<key>DTPlatformVersion</key>
34-
<string>11.0</string>
34+
<string>12.3</string>
3535
<key>DTSDKBuild</key>
36-
<string>20A2408</string>
36+
<string>21E226</string>
3737
<key>DTSDKName</key>
38-
<string>macosx11.0</string>
38+
<string>macosx12.3</string>
3939
<key>DTXcode</key>
40-
<string>1220</string>
40+
<string>1341</string>
4141
<key>DTXcodeBuild</key>
42-
<string>12B45b</string>
42+
<string>13F100</string>
4343
<key>LSMinimumSystemVersion</key>
4444
<string>10.10</string>
4545
</dict>

0 commit comments

Comments
 (0)