Можно ли найти файл на Mac, не зная точное местоположение? - PullRequest
1 голос
/ 03 сентября 2011

Я пытаюсь найти файл на Machintosh, не зная точного местоположения файла.Я занимаюсь разработкой приложения, которое должно найти XML-файл библиотеки iTunes и проанализировать его на предмет данных.Тем не менее, XML находится в

/Users/**Current logged in username**/Music/iTunes 

. Теперь имя пользователя может измениться. Так что, как задать путь, чтобы мой код мог найти ниже названный файл программно.Используемый язык является объективным - C.

File name : iTunes Music Library.xml

Возможное решение, которое я думал, - получить имя пользователя по коду.Есть ли метод, который возвращает строку текущего пользователя, вошедшего в систему "username".

Спасибо

Ответы [ 3 ]

2 голосов
/ 03 сентября 2011

Не делай этого!Пользовательская библиотека iTunes не обязательно должна находиться в расположении по умолчанию.

Вместо этого прочитайте ключ iTunesRecentDatabasePaths из com.apple.iapps.Это даст вам массив, который представляет недавно использованные библиотеки iTunes.

$ defaults read com.apple.iapps iTunesRecentDatabasePaths
(
    "/Volumes/Media/iTunes/iTunes Library.xml"
)
2 голосов
/ 03 сентября 2011

Вы должны быть в состоянии использовать ~/Music/iTunes.~ представляет домашний каталог текущего пользователя.

Или вы можете увидеть этот вопрос: Mac OS X: получить текущее имя пользователя и домашний каталог для текущего пользователя из Служб каталогов

0 голосов
/ 03 сентября 2011

NSHomeDirectory () - это базовая функция, которая возвращает NSString пути к домашнему каталогу текущего пользователя.

Библиотека разработчиков Apple - NSHomeDirectory

...