2

OS X 10.6 で導入された新しいNSURLブックマーク データ API を使用して、ファイル システム リソースに「エイリアス」を保存しています。私が使うとき

+[NSURL URLByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:]

ブックマーク データを解決するにはnil、ファイルがもう存在しないかどうかを取得します。ブックマークの解決オプションを渡していないのでNSURLBookmarkResolutionWithoutUI、解決されなくなったエイリアス ファイルを開いたときに Finder に表示されるようなダイアログが表示されることを期待していました (つまり、キャンセルするダイアログ、エイリアスを修正するダイアログなど...)。 .

NSURL壊れたブックマーク データを再接続/解決するように自動的に求める方法はありますか?

ブックマーク データは次の方法で作成されます。

NSError *err
NSData *bookmarkData = [myFileURL bookmarkDataWithOptions:NSURLBookmarkCreationSuitableForBookmarkFile
                           includingResourceValuesForKeys:nil
                                            relativeToURL:nil
                                            error:&err];

0の代わりにオプションを使用しても同じ結果が得られますNSURLBookmarkCreationSuitableForBookmarkFile

私は次の方法で同じことを解決しようとしますbookmarkData:

BOOL stale;
NSError *err
NSURL *resolvedURL = [NSURL URLByResolvingBookmarkData:self.bookmarkData
                                               options:0
                         relativeToURL:nil
                               bookmarkDataIsStale:&stale
                                                 error:&err];

ブックマーク データをファインダー エイリアス ファイルに書き込み、そのファイルからブックマーク データを読み取って URL を解決し、その後上記の方法を実行しても、目的の UI 結果は得られません (ただし、ファインダーでエイリアス ファイルを開くと、目的の UI ダイアログ)。

4

1 に答える 1

6

いいえ。ブックマーク/エイリアスの解決に関与する可能性のある UI は、接続に認証が必要なマウントされていないファイル サーバー上にターゲットがある場合に表示されるものです。再接続ダイアログは、解決できないエイリアスに応答して Finder によって提供されます。アプリケーションに同様の動作をさせたい場合は、自分で実装する必要があります。

于 2010-02-10T07:21:55.147 に答える