2008-10-17 34 views
2

我想在我的應用程序中修改文件的Spotlight元數據屬性(即不在Spotlight導入器中),但我找不到用於這樣做的任何API。可能嗎?指向相關文檔將是理想的。修改Spotlight導入器以外的文件的Spotlight元數據?

在情況下,它是有幫助,這是我用例:

我要存儲在覈心數據存儲中的文件 系統路徑的參考。 理想情況下,即使被移動,我也應該能夠找到 文件,跨安裝的卷可能會找到 。我的理解是, 歸檔的FSRef或AliasRecord不會執行這個技巧,因爲它們不是不變的,可以跨越已安裝的 捲進行移動。所以我的計劃是存儲URL 並添加UUID(也存儲在 數據存儲),以文件的 聚光燈元數據,以便我能 爲 UUID執行聚光燈查詢,如果該URL不再指向 當應用程序返回到 查找該文件的文件。

回答

2

經過進一步的研究,使用Spotlight並不是最好的解決方案。 AliasRecord是一個更好的文件持久性存儲。它會自動跟蹤移動/重命名/等。你可以閱讀更多關於AliasRecords here。 Chris Hansen爲AliasRecords編寫了一個Objective-C包裝器,BDAlias。目前可從rentzsch.com SVN獲得。