属性付きの文字列をペーストボードに置く Mac スタンドアロン サービスを作成しています。データがページからアクセスされると、文字列はその属性を失います。NSReturnTypes 値を NSStringPboardType に設定して、次のコードを使用して文字列を貼り付けています。
NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"Yay, I'm a string"];
[str beginEditing];
[str addAttribute:NSUnderlineStyleAttributeName
value:[NSNumber numberWithInt:NSUnderlineByWord]
range:NSMakeRange(0,str.length)];
[str endEditing];
[pboard clearContents];
[pboard writeObjects:[NSArray arrayWithObject:str]];
メモやメールなどの iWork 以外のアプリケーションは属性を問題なく処理できますが、ページはそれらを削除することを主張します。ページ、キーノート、数字で処理できるペーストボード データを作成するにはどうすればよいですか?
更新:どうやら iWork は、ドキュメント内の既存のテキストに貼り付けられたテキストの最初の改行まで現在のスタイルを適用します。段落スタイルがこの背後にあると想定していますが、ここで助けていただければ幸いです。
UPDATE2:ページがクリップボードからデータを受け取る方法にバグがあるようです。