Проверьте, предварительно ли приложение установлено или защищено в OS X - PullRequest
0 голосов
/ 25 мая 2019

Проверка приложения автором «Apple» не является хорошим выбором, потому что некоторые другие приложения от Apple, такие как «Xcode» или «Numbers», не являются системными приложениями.

Я тоже думал о дате добавления, но это тоже не очень хороший выбор.

isDeletableFile также не работает.

1 Ответ

1 голос
/ 25 мая 2019

Эта информация, по-видимому, закодирована в атрибутах расширенной файловой системы папок.

при запуске xattr в Mail, Maps, Stocks и Messages отображается, что они помечены com.apple.rootless

xattr /Applications/Mail.app/
com.apple.rootless
xattr /Applications/Maps.app/
com.apple.rootless
xattr /Applications/Stocks.app/
com.apple.rootless
xattr /Applications/Messages.app/
com.apple.rootless

в то время как другие приложения Apple не имеют этого

xattr /Applications/Xcode.app/
-
xattr /Applications/Numbers.app/
-

-

API расширенных атрибутов, объявленный в, имеет функции для получения, установки, перечисления и удаления атрибутов:

ssize_t getxattr(const char *path, const char *name, void *value, size_t size, u_int32_t position, int options);
int setxattr(const char *path, const char *name, void *value, size_t size, u_int32_t position, int options);
ssize_t listxattr(const char *path, char *namebuf, size_t size, int options);
int removexattr(const char *path, const char *name, int options);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...