2

ペーストボードの属性付きテキストから画像を削除する方法を教えてください。

NSAttributedString をサポートする UITextView があります。ユーザーが画像を含むペーストボードから何かを貼り付けることを許可すると (たとえば、Safari アプリの Web ページからコピーされた画像とテキストなど)、保存しようとするとアプリがクラッシュします。

*** 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!'

これは、イメージがソース コピーの一部である場合にのみ発生します。テストしたソース画像はjpgとpngであるため、なぜtiffを参照しているのかわかりません。

わずかに異なる目標の関連記事で説明されているように、クラッシュを回避するための私の回避策は、ペーストボードを通常の文字列に強制することです。

- (void)paste:(id)sender
{
    UIPasteboard *pasteBoard = [UIPasteboard generalPasteboard];
    NSString *string = pasteBoard.string;
    [self insertText:string];
}

これにより、クラッシュは回避されますが、ユーザーが書式設定されたテキストを貼り付けることもできなくなります。メールアプリから来た可能性のある太字または斜体を言ってください。

私が知る限り、テキストの書式設定を保持できるように、ペーストボードから画像を削除する必要があります。ご協力いただきありがとうございます。

4

0 に答える 0