Finja ser a versão específica do Mac OS X ao executar o aplicativo

0

Comprei um aplicativo para Mac OS X (fora da App Store) que parece ter limitações arbitrárias com base na versão do Mac OS X. É totalmente funcional no El Capitan, mas possui alguns recursos que simplesmente não permitem no Mavericks. Um desses recursos é bastante básico - ler / gravar um arquivo de preferências -, então acho que o desenvolvedor simplesmente queria restringir a gama de cenários de teste ao implementá-lo, em vez de realmente exigir a funcionalidade Yosemite / El Capitan.

Pergunta: Existe uma maneira para iniciar um aplicativo Mac OS X em um ambiente manipulado de tal forma que eu posso fornecer valores específicos de minha própria escolha quando o aplicativo chama métodos como [[NSProcessInfo processInfo] operatingSystemVersion]ou isOperatingSystemAtLeastVersionou qualquer outra coisa?

chbrown
fonte

Respostas:

1

Eu sei que para um aplicativo que teve um problema semelhante, conseguimos fazê-lo funcionar modificando /System/Library/CoreServices/SystemVersion.plist

Eu diria que NÃO é uma abordagem recomendada. No entanto, você poderá fazer algo complicado para que, quando o ambiente do aplicativo leia essa lista, obtenha uma versão diferente do resto do sistema.

eu vou
fonte
Boa ideia, mas o aplicativo aparentemente verifica em outro lugar. Percebo que ele é lido /System/Library/CoreServices/SystemVersion.plistdurante a inicialização, observando a sudo opensnoopsaída e as configurações definitivamente levaram ao Mac OS X ("Sobre este Mac" mostra a versão falsa), mas o aplicativo fica no mesmo lugar que antes, com a mesma mensagem de erro.
chbrown