公司对于打卡时间有要求,而且要早中晚三次打卡,之前习惯了上班人脸打卡,刚开始不适应,老是会忘记,所以就萌生了使用快捷指令,定时唤起打卡界面,这样即使中午吃饭的时候忘记了,看手机时也会自动跳转,就能想起来要打卡。
- 应用支持universalLink,这个应该大部分应用都已经有了,因为微信分享之前更新升级的时候,已经有要求了。
- 简单的快捷指令的制作,如果不会,可以参考快捷指令入门
下面,就来一步步实现:
首先,找到自己应用的universalLink,比如是https://www.baidu.com/,可以在Xcode的Assoicated Domains中看到,如下图:
applinks:后面的链接即是APP支持的UniversalLink,然后把applinks:后面的内容复制出来到备忘录中,在前面添加https://,然后保存,点击打开,看是否会跳转APP——跳转即说明链接正确。可以继续下一步。
第二步,是使用UniversalLink,点击跳转APP,如何打开指定页面的问题,比如打卡界面,或者其它页面。
思路:
1. 在链接后拼接指定参数,代表跳转指定页面;
2. 在指定地方拦截这个链接,进行跳转处理。
使用UniversalLink跳转的,可以在AppDelegate中的application:continueUserActivity:restorationHandler:方法中处理,如下:
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray *))restorationHandler {
// NSUserActivityTypeBrowsingWeb 由Universal y唤醒的APP
if ([userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]) {
NSURL *webpageURL = userActivity.webpageURL;
NSString *host = webpageURL.host;
if ([host isEqualToString:@"yourhost.com"]) {
//进行我们需要的处理
// 说明是自己公司的链接,进行处理
// 提取链接中参数,根据参数跳转指定界面
} else {
[[UIApplication sharedApplication]openURL:webpageURL];
}
}
return YES;
}
然后在备忘录中点击刚刚拼接好的链接,看能否跳转到指定界面。如果成功,可以进行下一步。
下一步就是创建快捷指令,
1. 打开“快捷指令”APP
2. 点击底部中间的Tab“自动化”
3. 点击右上角“+”按钮,
4. 选择“创建个人自动化”,
5. 选择“特定时间”,
6. 然后修改时间为要设置的时间,并把重复设置为“周”纬度,可以勾选周一到周五,然后点击下一步
7. 选择“添加操作”,在搜索框中输入“URL”,选中搜索结果中的“打开URL”,然后把URL的地址设置为刚刚拼接的地址,点击下一步
8. 把运行前询问开关关闭,然后点击完成。
这样就完成了一个自动化指令,每周一到周五,每天特定时间会执行打开刚刚那个URL的操作。
然后可以自己试一下,会发现,打开了APP,却没有跳转到指定界面,为什么呢?哈哈,明明已经添加了处理,为什么没有跳转呢?
因为这种打开URL跳转到APP的,拦截方法并不是上面那个application:continueUserActivity:restorationHandler:方法,而是另外一个,AppDelegate中application:openURL:options:方法,故而把上面的处理在这里也添加一下即可
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options {
if ([userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]) {
NSURL *webpageURL = userActivity.webpageURL;
NSString *host = webpageURL.host;
if ([host isEqualToString:@"yourhost.com"]) {
//进行我们需要的处理
// 说明是自己公司的链接,进行处理
// 提取链接中参数,根据参数跳转指定界面
} else {
[[UIApplication sharedApplication]openURL:webpageURL];
}
}
return YES;
}
然后运行,就发现完美了,😄
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。