Проверка существования пакета (.app) с помощью CoreFoundation в C - PullRequest
0 голосов
/ 21 февраля 2012

У меня есть приложение, написанное на C. Как часть того, что оно делает, оно должно проверить, что другое приложение (приложение .app на основе какао) находится в правильном каталоге.

Конечно, используя стандартный C, я не нахожу приложение, потому что для C это каталог . Есть ли какая-либо функция CoreFoundation, которая позволит мне проверить, существует ли приложение?

Спасибо

Ответы [ 2 ]

1 голос
/ 21 февраля 2012

В руководстве по программированию пакета есть несколько примеров CoreFoundation для доступа к пакету, а затем получения из него информации (например, идентификатора пакета).

В качестве альтернативы, если вам нужен поиск по всей системе для данного пакета, вы, вероятно, могли бы использовать функции Spotlight / MD для его поиска.

0 голосов
/ 21 февраля 2012

Если вам просто важно, существует ли «какой-то каталог с именем нечто.app в данном месте», то вы можете просто использовать fstat(), чтобы убедиться, что он существует и что это каталог.

Если вы хотитечто-то более причудливое, тогда вы можете использовать LSFindApplicationForInfo() для запроса FSRef или CFURLRef данного идентификатора пакета.Затем вы можете проверить, что возвращаемый путь - это то, что вам нужно.

...