3

我正在尝试在 safari 中编写一个简单的插件,只需要检查我开发的应用程序是否是通过 javascript 安装的。应用程序使用自定义 uri 启动。

我的问题与此处提出的问题非常相似,但是我不是针对 iphone\ipad 开发的,我真正想要的是我的检查结果为真\假,以便我可以向用户提供“下载应用程序或启动”应用程序的链接。

我已经有一个 Windows 版本,它使用 npruntime for firefox\chrome 和 ATL for IE在这里描述

4

1 回答 1

0

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;
}
于 2010-10-13T15:57:02.080 回答