Отправить системное событие из приложения расширения сегодня

Мне нужно отправить нажатия клавиш из Today Extension App, поэтому я написал так.

    CGEventSourceRef source =     CGEventSourceCreate(kCGEventSourceStateHIDSystemState);

    CGEventRef f4 = CGEventCreateKeyboardEvent(source, kVK_F4, true);
    CGEventSetFlags(f4, kCGEventFlagMaskControl);
    CGEventTapLocation location = kCGHIDEventTap;

    CGEventPost(location, f4);

    CFRelease(f4);
    CFRelease(source);`


и я написал "com.apple.systemevents" в файле.entitlements.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"      "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.security.temporary-exception.apple-events</key>
    <array>
        <string>com.apple.systemevents</string>
    </array>
    <key>com.apple.security.app-sandbox</key>
    <true/>
    <key>com.apple.security.files.user-selected.read-only</key>
    <true/>
</dict>
</plist>

Но это не сработало.
Пожалуйста, скажите мне, как это сделать.
Благодарю.

1 ответ

Исключение, которое вы спрашиваете или для событий apple, как в событиях сценария apple

вы не генерируете это, но вы хотите напрямую вызывать нажатия клавиш / мыши

это не сработает. никакое изолированное приложение / расширение не может генерировать подобные события в масштабе всей системы

Другие вопросы по тегам