Может ли Mac App Store использовать в песочнице приложения CGEventPost?
No.
Есть ли право на CGEventPost? Или есть способ опубликовать ключевые события с приложениями, представленными в Mac App Store?
No.
Если вы посмотрите на форумах разработчиков, Apple сделал это очень ясно, что они никогда не позволят в право на это, потому что это позволяет явно очевидный способ для любого приложения, чтобы избежать песочницы ,
Если у вас есть более конкретная необходимость, которую вы можете оправдать (а не «размещать некоторые ключевые события», но «заставить iPhoto делать до XXX, что, насколько мне известно, может быть сделано только путем публикации события YYY на нем») подать отчет об ошибке и опубликовать поток на форумах dev.
Это будет делать две вещи:
- Кто-то в компании Apple может предложить обходной путь - возможно личное одно, что никто не может сказать вам, и/или тот, который обычно не разрешено на App Store, но будут приняты, если вам сказали использовать его.
- Это увеличивает вероятность того, что Apple придумает лучший способ сделать то, что вы хотите в будущем.
Если вы загрузите оба указанных вами приложения, вы увидите, что они не изолированы. Я предполагаю, что они отправили их в apple до того, как Sandboxing был применен и только что отправил исправления ошибок с тех пор (что разрешено в отношении правил песочницы Apple). Поэтому я предполагаю, что они используют CGEventPost, что запрещено для любого нового приложения в Mac App Store. Я отправил по электронной почте создателей, хотя на всякий случай, чтобы посмотреть, что они делают. – xizor
Спасибо за разъяснение. Таким образом, правила не одинаковы для всех приложений. – superg
Песочница не требуется до 1 июня 2012 года. Любое приложение, отправленное после этой даты, должно быть изолировано. Любое приложение до этой даты может оставаться в App Store в режиме без песочницы, но только исправления ошибок могут быть отправлены в Apple. Им не разрешается выполнять какие-либо обновления функций. – xizor