Skip to content

Instantly share code, notes, and snippets.

@dannote
Last active November 15, 2024 15:21
Show Gist options
  • Save dannote/17e0396fe2e19c6e60c915838376d267 to your computer and use it in GitHub Desktop.
Save dannote/17e0396fe2e19c6e60c915838376d267 to your computer and use it in GitHub Desktop.
Final Cut Pro X trial reset
#!/usr/bin/swift
import Foundation
let path = URL(fileURLWithPath: NSString(string: "~/Library/Application Support/.ffuserdata").expandingTildeInPath)
let data = try! NSData(contentsOf: path) as Data
let dictionary = try! NSKeyedUnarchiver.unarchiveTopLevelObjectWithData(data) as! NSDictionary
let mutableDictionary = dictionary.mutableCopy() as! NSMutableDictionary
for (key, value) in mutableDictionary {
if value is NSDate {
mutableDictionary[key] = Date()
}
}
try! NSKeyedArchiver.archivedData(withRootObject: mutableDictionary, requiringSecureCoding: false).write(to: path)
print("You'd better buy it")
@geetch
Copy link

geetch commented Sep 28, 2024

It’s working for me on the latest fcp. Just run the rm command in the terminal and check the trial period length.

Did you execute it in macOS Sequoia?

@andresreibel
Copy link

andresreibel commented Sep 28, 2024 via email

@utkcodes
Copy link

utkcodes commented Oct 1, 2024

Please confirm if it still works on macOS Sequoia?

@andresreibel
Copy link

andresreibel commented Oct 1, 2024 via email

@l0u1sg
Copy link

l0u1sg commented Nov 15, 2024

The latest version of Final Cut Pro seems not to work with this script:

main/final-cut-pro-trial-reset.swift:6: Fatal error: 'try!' expression unexpectedly raised an error: Error Domain=NSCocoaErrorDomain Code=260 "The file “.ffuserdata” couldn’t be opened because there is no such file." UserInfo={NSFilePath=/Users/[RESTRICTED]/Library/Application Support/.ffuserdata, NSURL=file:///Users/[RESTRICTED]/Library/Application%20Support/.ffuserdata, NSUnderlyingError=0x12e610c40 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}}

Does someone have a solution?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment