Pergunta

Eu recentemente adicionou uma biblioteca estática (Mobclix) para o meu projeto de iPhone que me necessário para definir o SDK de base para 3.0. Esta biblioteca é reivindicada a ser compatível com 2.2 e, até agora parece que é verdade. Eu definir destino de implantação do projeto para 2.2. Não há problemas.

Agora, eu também estou usando libxml2 neste mesmo projeto. Aparentemente, o libxml2.2.dylib no OS 3.0 é mais recente do que no OS 2.X (versão 10 e 9, respectivamente). No entanto, o meu código que usa libxml2, já era compatível com a versão libxml2 incluído com OS 2.X. Desde que eu precisava para definir o SDK de base para 3.0, a versão "compatibilidade" / requisito mínimo versão / dependência é automaticamente definida para a versão mais recente do libxml2. Quando tento executar o aplicativo em OS 2, eu recebo este erro de execução (obviamente):

  Dyld Error Message:
  Library not loaded: /usr/lib/libxml2.2.dylib
  Referenced from: /Users/Martijn/Library/Application Support/iPhone Simulator/User/Applications/4D5456DE-F297-4DF4-ACA6-DA8BBBBBA914/Luisterpaal.app/Luisterpaal
  Reason: Incompatible library version: Luisterpaal requires version 10.0.0 or later, but libxml2.2.dylib provides version 9.0.0

É possível substituir a algum lugar exigência versão? Ou outras idéias para resolver este problema?

Foi útil?

Solução

A versão de compatibilidade é definido de acordo com a versão embutida no dylib do SDK atual durante a compilação. Eu não encontrei uma maneira de alterar ou substituir esta.

No entanto, no destino no Xcode sob o título "Ligação com binário com bibliotecas" ramo há uma opção para vincular uma dylib "fracamente". Esta versão ignora a verificação no momento de carregar o dylib (runtime). É sua responsabilidade, em seguida, apenas para fazer chamadas para as funções existentes. Fazer chamadas para funções inexistentes irá travar o aplicativo.

Outras dicas

Aparentemente, houve uma mudança com SDK 3.0 que quebraram a compatibilidade com libxml. A Apple colocaram sobre ele aqui:

http://developer.apple.com/iphone/library /qa/qa2009/qa1659.html

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