ソースアプリケーションが提供すると具体的に宣言したものについて、NSPasteboard のフィルターを解除する方法はありますか?
アプリケーションでペーストボード データをシリアル化しようとしています。別のアプリケーションが RTF ファイルをペーストボードに配置し、使用可能なタイプを尋ねると、元の RTF からプレーンな文字列、dyn.* 値まで、11 種類の RTF が返されます。
そのすべてのデータを plist またはディスク上の生データに保存することは、通常はかなり小さいため問題になりませんが、かなりのサイズの画像がペーストボードに配置されると、結果の出力はソースよりも数十倍大きくなる可能性がありますデータ (フィルタリングによって複数の種類の TIFF および PICT データが利用可能になります)。
可能であれば、元のアプリで利用可能になったものを節約できるようにしたい.
ジョン、あなたは私や、恐竜が地球を歩き回って以来 Mac プログラミングをしている私と一緒に働いている紳士よりもずっと観察力があります。私たちのどちらも、あなたが強調表示したテキストに気付かなかった...そして私にはその理由がわかりません. どうやら、問題から始めすぎているようです。
あなたの答えを正しい答えとして受け入れましたが、元の質問に正確に答えているわけではありません。私が探していたのは、ペーストボードに配置するだけで他のフレーバーになる可能性のあるフレーバーを識別し、これらのタイプのどれがプロバイダーによって最初に提供されたかを知る方法でした. タイプリストをたどると、それらを提供したアプリケーションの優先順位が得られますが、後でペーストボードを補充するときに再作成されるため、安全に無視できるものはわかりません.
これを行う「良い」方法はないという結論に達しました。 [NSPasteboard declaredTypesFromOwner]
素晴らしいでしょうが、存在しません。