1

次のリンクの「使用方法」セクションの手順に従って、サードパーティのライブラリをサブプロジェクトとして追加しました

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

ただし、サブプロジェクトを追加した後、プロジェクトは適切にビルドされますが、サブプロジェクトで定義されているメソッドを呼び出すことができず、次のエラーが発生します:

[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

実装ファイルには次のコードがあります。

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;
4

3 に答える 3

2

多分に変更initWithHTMLDataしてみてくださいinitWithHTML?だから、このようなもの:

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

あなたがそれを呼び出す方法はないと思います。

私が言及している方法は、このリンクにあります。

于 2012-10-02T02:49:30.263 に答える
0

libDTCoreText.a がリンクされていることを確認するというジェリーの回答以外に、必要になる可能性のある別の修正は、プロジェクトのビルド設定の下にあるその他のリンカー フラグに「-ObjC」を追加することです。

于 2016-02-02T10:01:36.257 に答える
0

修正しました!! アプリケーションターゲットの下の「Link Binary With Libraries」セクションの下に「libDTCoreText.a」静的ライブラリを追加する必要がありました

于 2012-10-11T04:26:01.680 に答える