我使用别名管理器功能AliasRecord
创建FSNewAlias(fromFSRef, targetFSRef, &aliasRecordHandle)
。我的理解是,生成的别名记录将包含相对路径搜索的信息(相对于fromFSRef
)。由于我的用户位于联网的主目录和移动帐户上,因此这些别名似乎不会将文件的位置保留在联网和移动主目录之间的用户主目录中,因为它们位于不同的卷上。如果原始fromFSRef
与网络帐户中的/Network/.../Users/user/Desktop相对应,我希望能够使用FSResolveAlias(newFromFSRef, aliasRecordHandle, &targetFSRef, &changed)
与newFSRef
对应的别名来解析别名到/ Users / user / Desktop(即移动帐户)。这可能吗?
我采用的解决方案是坚持别名记录和相对路径。如果别名解析失败,我会使用相对路径创建新别名。
答案 0 :(得分:0)
似乎问题中提出的解决方案 - 持久化别名记录和相对路径是唯一的选择。如果别名解析失败,我们尝试使用相对路径(以及应用程序或用户定义的根)来查找文件。如果成功,我们使用新路径更新别名记录。否则,我们会回过头来要求用户找到“丢失”的文件。