Как преобразовать путь в NSString в CFURLRef и в FSRef *

Мне нужно использовать несколько функций, требующих CFURLRef и FSRef *, и на данный момент у меня есть только путь, хранящийся в NSString. Каков (наиболее эффективный) способ выполнения этого преобразования?

Заранее благодарим за помощь,

Ответ 1

Путь может быть легко преобразован в CFURL с помощью NSURL, с которым он связан без ограничений. Существует также функция CFURL, которая даст вам FSRef для нее. Этот код даст вам обоим, учитывая NSString с именем thePath.

CFURLRef url = (CFURLRef)[NSURL fileURLWithPath:thePath];
FSRef fileRef;
CFURLGetFSRef(url, &fileRef);

Если у вас уже есть действительный указатель на FSRef, вы можете передать его непосредственно в CFURLGetFSRef.