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

项目的demo,已放入github,可以点击下载

顾名思义,url scheme 相当于给app绑定一个identifier,然后在app外面通过调用这个identifier来调起app,可以实现跨app(沙盒)之间的通信,本demo实现了,在浏览器中点击一个button,然后激活本地的app。


step:

  1. 先运行一次project

  2. 将project里面的invokeApp.html,拖入到浏览器里面

  3. 点击浏览器的“点击唤醒app”按钮,唤起app

关键代码如下:

//plist
    <array>
        <dict>
            <key>CFBundleURLName</key>
            <string>jimbp</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>invoke</string>
            </array>
        </dict>
    </array>

上面一段plist表现出来就是:
这里写图片描述

//注意[[NSAppleEventManager sharedAppleEventManager] setEven….];这个代码一定要放在applicationWillFinishLaunching里面

- (void)applicationWillFinishLaunching:(NSNotification *)notification {
    [[NSAppleEventManager sharedAppleEventManager] setEventHandler:self andSelector:@selector(handleURLEvent:withReplyEvent:) forEventClass:kInternetEventClass andEventID:kAEGetURL];
}

- (void)handleURLEvent:(NSAppleEventDescriptor*)event
        withReplyEvent:(NSAppleEventDescriptor*)replyEvent{
    NSString *url = [[event paramDescriptorForKeyword:keyDirectObject]  stringValue];
    NSAlert *alert = [[NSAlert alloc] init];
    alert.messageText = @"唤醒的url";
    alert.informativeText = url;
    [alert addButtonWithTitle:@"ok"];
    [alert setAlertStyle:NSAlertStyleWarning];

    NSModalResponse returnCode =  [alert runModal];
    NSLog(@"----%zi",returnCode);
}

这里写图片描述
这里写图片描述


官方参考文档

附说明截图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值