Pergunta

Adicionei uma biblioteca de terceiros como um subprojeto seguindo as etapas na seção "Uso" do link a seguir

http://cocoanetics.github.com/DTCoreText/

No entanto, depois de adicionar o subprojeto, meu projeto é compilado corretamente, mas não consigo chamar nenhum método definido no subprojeto e estou recebendo os seguintes erros:

[NSConcreteAttributedString initWithHTMLData:documentAttributes:]: unrecognized selector
    sent to instance 0x71141e0
2012-10-01 17:34:30.600 final_try[7785:11303] *** Terminating app due to uncaught   
  exception NSInvalidArgumentException', reason: '-[NSConcreteAttributedString 
  initWithHTMLData:documentAttributes:]: unrecognized selector sent to instance 0x71141e0
  *** First throw call stack:
 (0x1971012 0x1796e7e 0x19fc4bd 0x1960bbc 0x196094e 0x22a4 0x1f1e 0x6db7b7 0x6dbda7 
  0x6dcfab    0x6ee315 0x6ef24b 0x6e0cf8 0x1deedf9 0x1deead0 0x18e6bf5 0x18e6962 0x1917bb6 
  0x1916f44 0x1916e1b 0x6dc7da 0x6de65c 0x1c9d 0x1bc5 0x1)
  libc++abi.dylib: terminate called throwing an exception

O arquivo de implementação possui o seguinte código:

NSString *fileName = [[NSBundle mainBundle] pathForResource:@"mailBody1" ofType:@"txt"];
NSString *str1 = [NSString stringWithContentsOfFile:fileName encoding:NSUTF8StringEncoding error:nil];

str1 = [str1 gtm_stringByUnescapingFromHTML];
NSData *data = [str1 dataUsingEncoding:NSUTF8StringEncoding];
_html = str1;

NSAttributedString *string = [[NSAttributedString alloc] initWithHTMLData:data documentAttributes:NULL];
NSLog(@"%@",[string plainTextString]);

NSLog(@"%@",string);

return self;
Foi útil?

Solução 2

Corrigido !!Eu só precisava adicionar a biblioteca estática "libDTCoreText.a" na seção "Link Binary With Libraries" no destino do meu aplicativo

Outras dicas

Talvez tente mudar initWithHTMLData para initWithHTML?Então, algo assim:

NSAttributedString *string = [[NSAttributedString alloc] initWithHTML:data documentAttributes:NULL];

Não creio que exista um método como você o chama.

O método ao qual me refiro pode ser encontrado neste link.

Outra correção que pode ser necessária, além da resposta de Jerry para garantir que libDTCoreText.a esteja vinculado, é adicionar "-ObjC" a outros sinalizadores de vinculador nas configurações de compilação do projeto.

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