1

私のアプリケーションのユーザーは、私のアプリケーションと同じファイル拡張子に対して別の UTI を宣言する他のアプリケーションに関連する問題に遭遇し続けます。これを例で最もよく説明できると思います:

私のアプリケーションは、OPML ファイルのインポートとエクスポートをサポートしています。これを機能させるために、info.plist に org.opm.opml UTI をインポートします。これはほとんど問題なく動作しますが、他のアプリケーションが opml ファイル拡張子に対して別の UTI を宣言している場合は失敗します。たとえば、com.redlex.opml または com.xwavesoft.cloudoutliner.opml で​​す。

この問題を回避するためにできることはありますか? アプリケーションが .opml 拡張子を持つすべてのファイルを受け入れることを起動サービスに伝えることはできますか?

4

2 に答える 2

1

本日、MAS で Cloud Outliner が更新されました。現在 .opml ファイルの UTI を見ると、com.xwavesoft.cloudoutliner.opml がなくなり、com.redlex.opml がその場所にあります。OPMLファイルがMindNodeで問題なく開くようになったことを除けば、これは興味深いことではありません。

「さまざまな修正と改善」以外に Cloud Outliner のリリース ノートが見つかりません。しかし、何かが良い方向に変わったようです。私の場合、簡単な答えは「Cloud Outliner を更新する」でしたが、これでより大きな問題が解決するかどうかはわかりません。私のシステムにも Mellel があります (明らかに、そうですよね?!) が、これが同じ問題を引き起こしているようには見えません。

このスレッドを見ている人にとっては、MindNode が開いているダイアログで OPML ファイルのアイコンがグレー表示されるという問題です。OPML を Dock の MindNode アイコンにドラッグしても結果は得られませんでした。

ロブ

于 2012-12-22T18:32:15.610 に答える
1

次の回避策でこの問題を解決しました。

  1. CFBundleDocumentTypes のリストから LSItemContentTypes エントリ全体を削除しました
  2. 私の NSDocument サブクラスでは、NSString の rangeOfString:: メソッドを使用して、typeName パラメータの @"opml" キーワードを探します。

この回避策は、ユーザーによって確認されました。

于 2013-01-22T17:55:56.580 に答える