我正在尝试在 safari 中编写一个简单的插件,只需要检查我开发的应用程序是否是通过 javascript 安装的。应用程序使用自定义 uri 启动。
我的问题与此处提出的问题非常相似,但是我不是针对 iphone\ipad 开发的,我真正想要的是我的检查结果为真\假,以便我可以向用户提供“下载应用程序或启动”应用程序的链接。
我已经有一个 Windows 版本,它使用 npruntime for firefox\chrome 和 ATL for IE在这里描述
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;
}