Como faço para incluir chamadas para métodos só presentes na versão de um sistema operacional quando compilar para várias versões?

StackOverflow https://stackoverflow.com/questions/1014427

Pergunta

Eu tenho um aplicativo que está sendo compilado com uma exigência sistema mínimo de Tiger (OS X 10.4), mas eu preciso incluir algum código para lidar com espaços se o aplicativo está sendo executado no Leopard (OS X 10.5).

Como posso fazer isso?

(A chamada eu preciso fazer é -[NSWindow setCollectionBehavior:]).

Foi útil?

Solução

  1. Defina o seu Base de SDK (para todas as configurações do que você está construindo-alvo) para a versão do sistema operacional que inclui a chamada.
  2. definir a versão de Implantação para o mais antigo sistema operacional que você quer que seu código para lançamento no dia.
  3. Para todas as chamadas que não existem em versões anteriores do sistema operacional, você deve testar antes de chamar, usando respondsToSelector: (para métodos) ou testar contra nil (para funções e estática). Você pode, se quiser fazer uma verificação para a versão do sistema operacional, mas é mais robusta para verificar a chamada específica.

O Cross-Desenvolvimento Guia de Programação descreve as técnicas em detalhes.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top