关闭

MacOS 给自己的 app 添加 URL Scheme

标签: MacOS开发urlschemeCFBundleUR
2137人阅读 评论(1) 收藏 举报
分类:

一、在 Info.plist 中配置CFBundleURLTypes(URL Types)

source code 模式下的代码

<key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleURLName</key>
            <string>com.MelissaShu.MSImagePick</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>ms</string>
            </array>
        </dict>
    </array>

配置成功后如下
这里写图片描述


在 delegate 的 applicationDidFinishLaunching 中添加相应方法

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {

    [[NSAppleEventManager sharedAppleEventManager] setEventHandler:self andSelector:@selector(handleURLEvent:withReplyEvent:) forEventClass:kInternetEventClass andEventID:kAEGetURL];

}

- (void)handleURLEvent:(NSAppleEventDescriptor*)theEvent withReplyEvent:(NSAppleEventDescriptor*)replyEvent {

    NSString* path = [[theEvent paramDescriptorForKeyword:keyDirectObject] stringValue];

    [[NSAlert alertWithMessageText:@"URL Request" defaultButton:@"OK" alternateButton:nil otherButton:nil informativeTextWithFormat:@"%@", path] runModal];
}

验证

1、先让程序跑起来;
2、在浏览器中输入 ms://1 (1为随意填写,你也可以改为其他)
会弹出系统窗口,提示你是否打开 app;
这里写图片描述

3、点击打开后,会出现我们刚写的弹窗,提示刚输入的链接。

这里写图片描述

这就完成了


参考资料:http://cocoa.venj.me/blog/custom-url-scheme-on-mac-and-ios/

0
0
查看评论

简单的Mac-Custom-URL-Scheme-demo

项目的demo,已放入github,可以点击下载。顾名思义,url scheme 相当于给app绑定一个identifier,然后在app外面通过调用这个identifier来调起app,可以实现跨app(沙盒)之间的通信,本demo实现了,在浏览器中点击一个button,然后激活本地的app。st...
  • goldWave01
  • goldWave01
  • 2017-03-23 11:10
  • 480

自定义 URL Scheme 完全指南

本文转自 Migrant的博客,原文:《The Complete Tutorial on iOS/iPhone Custom URL Schemes》   iPhone / iOS SDK 最酷的特性之一就是应用将其自身”绑定”到一个自定义 URL scheme ...
  • yidu_blog
  • yidu_blog
  • 2016-09-29 17:07
  • 716

iOS 常用应用的url scheme 及查看方法

url scheme查找方法 微信 淘宝 QQ 百度 墨迹天气 UC浏览器 百度地图 今日头条 美团 京东 唯品会 大众点评 支付宝 手机卫士 优酷 酷狗音乐 微博 携程 滴滴打车 58同城
  • sucen1987
  • sucen1987
  • 2015-01-26 15:29
  • 5130

如何找出IOS App的URL Scheme

据说大多数的URL Scheme都可以在网上找到,我就没找到几个。。。(给个链接:http://ikamu.me/8179) 以下以“微博”为例,介绍查找的方法(亲身实践): 1.在Mac上用iTools查看IOS设备的应用程序(我的是Mac2.2.1版本,Windows系统...
  • lx923988898
  • lx923988898
  • 2014-07-07 10:05
  • 3532

解决mac使用svn: E170000: Unrecognized URL scheme for https://xxx错误

OS X版本:10.10.3 10.10.3自带了svn,但是版本是1.7,如果项目是使用1.8的svn,就必须升级到1.8,才能够正常使用。当前svn的最新版本是1.8.13。那么首先删除旧版本的svn,先查看svn安装到哪个目录: localhost:~ mikan$ which svn /...
  • mhmyqn
  • mhmyqn
  • 2015-06-01 21:49
  • 11991

启动三方应用

1.让自己成为被打开第三方应用 1)添加对应的scheme。其中com.xinghaiwulian.XHWLHouseManager自己的app的BundleID, XHWL自定义的前缀(例如:http) CFBundleURLTypes CFBundleURLName c...
  • weixin_40873814
  • weixin_40873814
  • 2018-01-06 09:44
  • 20

通过浏览器输入url启动本地应用程序(mac、win、Qt)

浏览器调用本地,mac和win的实现的逻辑类似,但实现的协议有所不同,下面就把最近研究的分享一下。 win: win下通过注册表实现,相关资料挺多的,在安装程序里通过写入注册表,程序里通过传递的参数实现具体功能。 mac: mac下实现就比较简单,每个app的boule下都有个info,...
  • weinkym
  • weinkym
  • 2016-08-04 10:13
  • 392

MacOS 给自己的 app 添加 URL Scheme

一在 Infoplist 中配置CFBundleURLTypesURL Types 在 delegate 的 applicationDidFinishLaunching 中添加相应方法 验证一、在 Info.plist 中配置CFBundleURLTypes(URL Types)source cod...
  • lovechris00
  • lovechris00
  • 2017-09-08 16:38
  • 2137

关于URL SCHEME

天猫 使用URL SCHEME启动天猫客户端并跳转到某个商品页面的方法    在项目中遇到了这样一个需求:让用户在手机应用中,点击一个天猫的商品链接(知道商品在PC浏览器里的地址),...
  • fly601845
  • fly601845
  • 2015-10-19 15:46
  • 702

iOS中使用URL Scheme进行App跳转的教程

URL Scheme的作用 我们都知道苹果手机中的APP都有一个沙盒,APP就是一个信息孤岛,相互是不可以进行通信的。但是iOS的APP可以注册自己的URL Scheme,URL Scheme是为方便app之间互相调用而设计的。我们可以通过系统的OpenURL来打开该app,并可以传递一些参数...
  • yishengzhiai005
  • yishengzhiai005
  • 2017-01-12 18:33
  • 3677
    博客专栏
    个人资料
    • 访问:210160次
    • 积分:3453
    • 等级:
    • 排名:第11457名
    • 原创:127篇
    • 转载:6篇
    • 译文:1篇
    • 评论:96条
    最新评论