MacOS 给自己的 app 添加 URL Scheme

原创 2017年09月08日 16:38:48

一、在 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/

版权声明:本文为博主原创文章,转载请附上本文链接地址。

相关文章推荐

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

项目的demo,已放入github,可以点击下载。顾名思义,url scheme 相当于给app绑定一个identifier,然后在app外面通过调用这个identifier来调起app,可以实现跨a...

从外部打开mac程序

完成这写编辑 :   8.保存,重新编译一次工程; 现在,你就可以在浏览器键入以下任何一条都可以启动你的应用程式: myApp:// myApp://some/path/here ...

Swift-Selector方法的扩展

fileprivate extension Selector { static let editTableView = #selector(ViewController.editTableVi...

swift-Extension(扩展)

Swift 中的扩展可以: 添加计算型属性和计算静态属性 定义实例方法和类型方法 提供新的构造器 定义下标 定义和使用新的嵌套类型 使一个已有类型符合某个接口 注意:如果定义了一个扩展向一个已有类型...

iOS-使用URL Scheme实现App的进程间通信

iOS平台的进程间通信是一件很蛋疼的事,通过窝大量的资料搜索,最后发现好像比较普遍的实现方式则是使用URL Scheme(好吧好像别的方式我还没搞懂,准备看英文文献学习学习先哈哈哈哈哈)。...

Android自定义URL使用Scheme方式唤起Activity或App

最近由于工作需要,使用Scheme方式自定义URL来跨应用间调用,踩了一些坑,现在记录一下。 1、Scheme方式配置 manifest中配置能接受Scheme方式启动的activity ...

MobLink网页跳转app指定界面技术简介之 URL Scheme

由于苹果的app都是在沙盒中,相互是不能访问数据的。但是苹果还是给出了一个可以在app之间跳转的方法:URL Scheme。简单的说,URL Scheme就是一个可以让app相互之间可以跳转的协议。每...
  • Mob_com
  • Mob_com
  • 2017年05月27日 13:05
  • 1540

Android自定义URL使用Scheme方式唤起Activity或App

Android自定义URL使用Scheme方式唤起Activity或App
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MacOS 给自己的 app 添加 URL Scheme
举报原因:
原因补充:

(最多只允许输入30个字)