Как определить, установлено ли в Safari приложение - PullRequest
3 голосов
/ 13 октября 2010

Я пытаюсь написать простой плагин в Safari, который должен только проверить, установлено ли разработанное мной приложение через javascript. Приложение запускается с использованием пользовательского URI.

Моя проблема очень похожа на ту, что была представлена ​​ здесь , однако я не работаю против iphone \ ipad, и все, чего я действительно хочу, это истинный \ ложный результат моей проверки, чтобы я мог представить пользователь со ссылкой «загрузить приложение» или «запустить приложение».

У меня уже есть версия для Windows, которая работает с использованием npruntime для firefox \ chrome и ATL для IE, который описан здесь

1 Ответ

0 голосов
/ 13 октября 2010

Launch Services - это необходимый вам API. Смотрите пример ниже:

#include <ApplicationServices/ApplicationServices.h>

bool check_scheme_handler(CFStringRef scheme){
    CFStringRef handler=LSCopyDefaultHandlerForURLScheme(scheme);
    if(handler){
        CFShow(handler);
        CFRelease(handler);
        return true;
    }else{
        CFShow(CFSTR("not found"));
        return false;
    }
}

int main(){
    check_scheme_handler(CFSTR("http"));
    check_scheme_handler(CFSTR("bogus"));
    return 0;
}
...