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 isOperatingSystemAtLeastVersion
ou qualquer outra coisa?
fonte
/System/Library/CoreServices/SystemVersion.plist
durante a inicialização, observando asudo opensnoop
saí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.