Почему sudo не является жизнеспособным? Он избегает бушующих дыр в безопасности, таких как:
bash-3.2$ cat test
#!/bin/bash
echo ima shell script durp durp
bash-3.2$ chmod +x test
bash-3.2$ ./test
heh heh
bash-3.2$
Из-за того, что среда не была надлежащим образом дезинфицирована, например, в этом случае:
export echo='() { builtin echo heh heh; }'
sudo санирует этот случай и, возможно, другие граничные случаи и gotchas, которые могли бы не писать в обычную оболочку suid.
Прошу прощения. Я был тупицей. CALayer - это контейнер, совместимый с кодированием "ключ-значение", поэтому я могу создавать произвольные значения (включая теги) в любом случае. Например, чтобы создать тег, мы делаем:
[rootLayer setValue:[NSNumber numberWithInt:101] forKey:@"PFtag"];
спасибо