2010-02-09 44 views
1

我正在使用OS X 10.6中引入的新的NSURL書籤數據API將「別名」存儲到文件系統資源。當我使用Finder風格的用戶界面NSURL bookmarkData缺少文件的解決方案?

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

解決書籤數據,我得到nil如果文件不存在。因爲我是而不是在書籤解析選項中傳遞NSURLBookmarkResolutionWithoutUI,所以我希望獲得一個對話框,就像打開一個不再解析的別名文件(即取消對話框,修復別名等)時由Finder顯示的對話框一樣。 ..)。

有沒有辦法讓NSURL自動提示重新連接/解決破損的書籤數據?雖然我得到了相同的結果,如果我用0的選項,而不是NSURLBookmarkCreationSuitableForBookmarkFile

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

書籤數據通過創建。

我試圖解決通過相同bookmarkData:通過從該文件,然後上面的閱讀書籤數據

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

通過書籤數據寫入到取景器別名文件,然後解析URL的舞蹈去方法不會產生所需的UI結果(雖然在Finder中打開別名文件確實會產生所需的UI對話框)。

回答

5

否。如果目標位於需要身份驗證才能連接的卸載文件服務器上,則會顯示可能涉及書籤/別名解析的用戶界面。重新連接對話框由Finder提供以響應不可解析的別名;如果你希望你的應用程序具有類似的行爲,你將需要自己實現它。

+1

謝謝。我會提交一個bugreport;該文件是一點點,啊,稀疏的話題。 – 2010-02-10 16:25:22

相關問題