3

画像を UITextView に貼り付けることによって発生するクラッシュを回避する方法を誰か教えてもらえますか?

アプリに UITextView があり、属性付きテキスト (iOS 6) の基本的な編集が可能です。ユーザーは、Web ページからテキストと画像の組み合わせをコピーし、アプリに切り替えて UITextView メニュー > 貼り付けコマンドを使用すると、アプリがクラッシュすることを発見しました。再現はできますが、どうすればいいのか困っています。クラッシュのログは次のようになります。

*** Assertion failure in -[NSHTMLReader _addAttachmentForElement:URL:needsParagraph:usePlaceholder:], /SourceCache/UIFoundation_Sim/UIFoundation-78/UIFoundation/TextSystem/NSHTMLReader.m:1478
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Unable to find missing_image.tiff!'

ユーザーが別のアプリでコピー コマンドを使用しているときに、ユーザーが画像を選択するのを止めることはできません。また、アプリ内での貼り付けを禁止したくありません。

4

1 に答える 1

5

これはひどいハックですが、クラッシュを回避する方法を見つけました。つまり、UITextView をサブクラス化して貼り付けコマンドをオーバーライドし、ペーストボードを UITextView に挿入される文字列に変換しました。

- (void)paste:(id)sender {    
    UIPasteboard *pasteBoard = [UIPasteboard generalPasteboard];
    NSString *string = pasteBoard.string;
    NSLog(@"Pasteboard string: %@", string);
//  [pasteBoard setValue:@"Please work you miserable bastard!" forPasteboardType:(NSString *)kUTTypeUTF8PlainText];
//  [super paste:sender]; // Doesn't work for unknown reason.
    [self insertText:string];
}

より良い提案を歓迎します...

于 2012-11-09T22:49:32.697 に答える