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

Commit

Permalink
Add support for installing iTunes 11.4.
Browse files Browse the repository at this point in the history
  • Loading branch information
cormiertyshawn895 committed Feb 23, 2020
1 parent eab5430 commit e560db5
Show file tree
Hide file tree
Showing 35 changed files with 965 additions and 103 deletions.
29 changes: 25 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
## Retroactive is an app that lets you run Aperture, iPhoto, and iTunes on macOS Catalina. It also lets you run Final Cut Pro 7, Logic Pro 9, and fix Keynote ’09 on macOS Mojave and macOS High Sierra. [Click to download the Retroactive app](https://github.com/cormiertyshawn895/Retroactive/releases/download/1.5/Retroactive.1.5.zip), or [view the release page](https://github.com/cormiertyshawn895/Retroactive/releases).
### Retroactive is an app that lets you run Aperture, iPhoto, and iTunes on macOS Catalina. It also lets you run Final Cut Pro 7, Logic Pro 9, and fix Keynote ’09 on macOS Mojave and macOS High Sierra.

<p align="center">
<a href="https://github.com/cormiertyshawn895/Retroactive/releases/download/1.5/Retroactive.1.5.zip" alt="Download Retroactive"><img width="282" height="68" src="screenshots/resources/download-button.png" alt="Download Retroactive"></a>
<p>
<p align="center">
<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>
</p>

---

### 💡 iTunes and macOS Catalina 10.15.4

If you have installed iTunes on macOS Catalina with Retroactive 1.4 or earlier, and have updated to macOS Catalina 10.15.4 or later, **you need to re-install iTunes with [the latest version of Retroactive](https://github.com/cormiertyshawn895/Retroactive/releases/download/1.5/Retroactive.1.5.zip).**

Re-installing iTunes with [the latest version of Retroactive](https://github.com/cormiertyshawn895/Retroactive/releases/download/1.5/Retroactive.1.5.zip) resolves error -42408, -45076, and 11571, so that you can continue to use Apple Music, iTunes Store, and App Store in iTunes. It also resolves an issue where iTunes cannot read the contents of a connected iOS or iPadOS device.

---

### Opening Retroactive

Expand Down Expand Up @@ -43,7 +59,8 @@ If you chose iTunes, Retroactive will ask you which version to install, then aut

- iTunes 12.9.5 supports Dark Mode and most DJ apps.
- iTunes 12.6.5 supports downloading and archiving iOS apps.
- iTunes 10.7 (not recommended) supports CoverFlow.
- iTunes 11.4 has a classic look.
- iTunes 10.7 supports CoverFlow.

If you don’t know which version to install, keep the default setting and click “Continue”.

Expand Down Expand Up @@ -85,7 +102,11 @@ After successfully modifying or installing the app, you can play with it to your

- All features should work for iTunes 12.9.5.

- All features should work for iTunes 12.6.5 except for backing up an iOS device. Use iTunes 12.9.5 or Finder to back up instead. Thumbnails of download apps may appear distorted.
- All features should work for iTunes 12.6.5 except for backing up an iOS device. Use iTunes 12.9.5 or Finder to back up your device instead. Thumbnails of download apps may appear distorted.

- Movies and TV Shows downloaded from the iTunes Store may be unable to play in iTunes. Download or play them in the TV app instead.

- Some dialogs in iTunes may display a crossed-out iTunes icon. This is purely cosmetic and has no functional impact.

- All Final Cut Pro 7 features should work.

Expand Down Expand Up @@ -124,6 +145,6 @@ To use editing features such as timeline and preview, install macOS Mojave on a
---

### Last words
- If GateKeeper prevents you from running modified versions of your chosen app, [temporarily disable GateKeeper in Terminal with `sudo spctl --master-disable`](http://osxdaily.com/2015/05/04/disable-gatekeeper-command-line-mac-osx/).
- If GateKeeper prevents you from running modified versions of your chosen app, [temporarily disable GateKeeper in Terminal](http://osxdaily.com/2015/05/04/disable-gatekeeper-command-line-mac-osx/) with `sudo spctl --master-disable`.

- To learn more about how Retroactive works, [take a technical deep dive](https://medium.com/@cormiertyshawn895/deep-dive-how-does-retroactive-work-95fe0e5ea49e).
12 changes: 10 additions & 2 deletions Retroactive.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,8 @@
60E4B4B6240207AC00919F36 /* iTunesLauncher-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 60E4B4B5240207AC00919F36 /* iTunesLauncher-Info.plist */; };
60E4B4B8240207B400919F36 /* iTunesLauncher-PkgInfo in Resources */ = {isa = PBXBuildFile; fileRef = 60E4B4B7240207B400919F36 /* iTunesLauncher-PkgInfo */; };
60E4B4BA240207C100919F36 /* iTunesLauncher in Resources */ = {isa = PBXBuildFile; fileRef = 60E4B4B9240207C100919F36 /* iTunesLauncher */; };
60E4B4D524022BF900919F36 /* OriginFixer in Resources */ = {isa = PBXBuildFile; fileRef = 60E4B4D424022BF900919F36 /* OriginFixer */; };
60E4B4D724022C4600919F36 /* iTunesOriginLauncher in Resources */ = {isa = PBXBuildFile; fileRef = 60E4B4D624022C4600919F36 /* iTunesOriginLauncher */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
Expand Down Expand Up @@ -137,6 +139,8 @@
60E4B4B5240207AC00919F36 /* iTunesLauncher-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "iTunesLauncher-Info.plist"; sourceTree = "<group>"; };
60E4B4B7240207B400919F36 /* iTunesLauncher-PkgInfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "iTunesLauncher-PkgInfo"; sourceTree = "<group>"; };
60E4B4B9240207C100919F36 /* iTunesLauncher */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = iTunesLauncher; sourceTree = "<group>"; };
60E4B4D424022BF900919F36 /* OriginFixer */ = {isa = PBXFileReference; lastKnownFileType = folder; path = OriginFixer; sourceTree = "<group>"; };
60E4B4D624022C4600919F36 /* iTunesOriginLauncher */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = iTunesOriginLauncher; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
Expand Down Expand Up @@ -229,6 +233,7 @@
046034E62381C18A00070C86 /* ProKit.framework.zip */,
046034E12381B41200070C86 /* KeynoteFixer */,
32F763552364EA2200200ED7 /* ApertureFixer */,
60E4B4D424022BF900919F36 /* OriginFixer */,
32F763532364DEA700200ED7 /* NyxAudioAnalysis */,
042E9E452381AC2B001D3F38 /* AppKit */,
042E9E482381AC2B001D3F38 /* VideoFixer */,
Expand Down Expand Up @@ -334,6 +339,7 @@
isa = PBXGroup;
children = (
60E4B4B9240207C100919F36 /* iTunesLauncher */,
60E4B4D624022C4600919F36 /* iTunesOriginLauncher */,
60E4B4B7240207B400919F36 /* iTunesLauncher-PkgInfo */,
60E4B4B5240207AC00919F36 /* iTunesLauncher-Info.plist */,
);
Expand Down Expand Up @@ -406,6 +412,8 @@
606CA12A23665CBF001C550E /* Credits.rtfd in Resources */,
606CA154236666B3001C550E /* ConfettiView.bundle in Resources */,
046034E72381C18A00070C86 /* BrowserKit.framework.zip in Resources */,
60E4B4D524022BF900919F36 /* OriginFixer in Resources */,
60E4B4D724022C4600919F36 /* iTunesOriginLauncher in Resources */,
046034EA2381DDB300070C86 /* ProApplicationsUpdate2010-02.dist in Resources */,
60D728A023D5787B0006F233 /* VMFCPFixerScript in Resources */,
042E9E4B2381AC2C001D3F38 /* GeneralFixerScript in Resources */,
Expand Down Expand Up @@ -626,7 +634,7 @@
CODE_SIGN_ENTITLEMENTS = Retroactive/Support/Retroactive.entitlements;
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 22;
CURRENT_PROJECT_VERSION = 25;
INFOPLIST_FILE = Retroactive/Support/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
Expand All @@ -647,7 +655,7 @@
CODE_SIGN_ENTITLEMENTS = Retroactive/Support/Retroactive.entitlements;
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 22;
CURRENT_PROJECT_VERSION = 25;
INFOPLIST_FILE = Retroactive/Support/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
Expand Down
39 changes: 22 additions & 17 deletions Retroactive/AppManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ enum AppType {
enum iTunesVersion {
case darkMode
case appStore
case classicTheme
case coverFlow
}

Expand Down Expand Up @@ -312,6 +313,10 @@ class AppManager: NSObject {
return configurationDictionary?["iTunes126Dive"] as? String
}

var iTunes114Dive: String? {
return configurationDictionary?["iTunes114Dive"] as? String
}

var iTunes107Dive: String? {
return configurationDictionary?["iTunes107Dive"] as? String
}
Expand Down Expand Up @@ -362,6 +367,8 @@ class AppManager: NSObject {
return configurationDictionary?["iTunes129URL"] as? String
case .appStore:
return configurationDictionary?["iTunes126URL"] as? String
case .classicTheme:
return configurationDictionary?["iTunes114URL"] as? String
case .coverFlow:
return configurationDictionary?["iTunes107URL"] as? String
case .none:
Expand Down Expand Up @@ -463,6 +470,8 @@ class AppManager: NSObject {
return ["12.9.5"]
case .appStore:
return ["12.6.5"]
case .classicTheme:
return ["11.4"]
case .coverFlow:
return ["10.7"]
case .none:
Expand Down Expand Up @@ -493,6 +502,8 @@ class AppManager: NSObject {
return "12.9.5"
case .appStore:
return "12.6.5"
case .classicTheme:
return "11.4"
case .coverFlow:
return "10.7"
case .none:
Expand Down Expand Up @@ -540,18 +551,8 @@ class AppManager: NSObject {
case .iphoto:
return "com.apple.iPhoto9"
case .itunes:
switch choseniTunesVersion {
// These are intentionally left unused
case .darkMode:
return "com.apple.iTunes129"
case .appStore:
return "com.apple.iTunes126"
case .coverFlow:
return "com.apple.iTunes10"
case .none:
return ""
}
// These are intentionally left unused
// Intentionally left unused
return "com.apple.intentionally-left-unused"
case .finalCutPro7:
return "com.apple.FinalCutPro7"
case .logicPro9:
Expand Down Expand Up @@ -599,7 +600,7 @@ class AppManager: NSObject {
case .iphoto:
return "ApertureFixer"
case .itunes:
return ""
return "OriginFixer"
case .finalCutPro7:
return "VideoFixer"
case .logicPro9:
Expand Down Expand Up @@ -632,8 +633,10 @@ class AppManager: NSObject {
return "12.9.5"
case .appStore:
return "12.6.5"
case .classicTheme:
return "11.4"
case .coverFlow:
return "12.7"
return "10.7"
case .none:
return ""
}
Expand Down Expand Up @@ -730,6 +733,8 @@ class AppManager: NSObject {
return iTunes129Dive
case .appStore:
return iTunes126Dive
case .classicTheme:
return iTunes114Dive
case .coverFlow:
return iTunes107Dive
case .none:
Expand Down Expand Up @@ -807,9 +812,7 @@ class AppManager: NSObject {
switch choseniTunesVersion {
case .darkMode:
return "25 minutes".localized()
case .appStore:
return "10 minutes".localized()
case .coverFlow:
case .appStore, .classicTheme, .coverFlow:
return "10 minutes".localized()
case .none:
return "an hour".localized()
Expand Down Expand Up @@ -883,6 +886,8 @@ class AppManager: NSObject {
return nil
case .appStore:
return "Thumbnails of download apps may appear distorted. Use iTunes 12.9.5 or Finder to back up instead.".localized()
case .classicTheme:
return nil
case .coverFlow:
return nil
case .none:
Expand Down
Loading

0 comments on commit e560db5

Please sign in to comment.