方案一
-
运营在做应用推广的时候可能会有这样的需求: 用户扫描一个二维码或者点击一个链接, 就会提示: 在"淘宝"中打开链接吗? 如果没有下载此应用就会提示是否去App Store下载.
提示是否打开手机内应用 -
我去看这个东西不是因为运营有这个需求, 而是前端同事突然问起, 反正有时间就去看了一下, 写下笔记.
-
硬性需求: APP上架的时候需要写入一个唯一的协议头. 比如微信的是:weixin://
步骤 :
- 从Safari跳到APP
- 既然要想跳到你指定的APP,那么就需要在你的APP中定义一个特殊的标示,也就是一个URL协议。
- 定义URL协议的如下图 TARGETS ——> info ——>URL Types——>添加一个URL协议.
-
也可以通过其他的方法添加协议头, 比如
打开info.plist.png
加入Key.png -
做到这里就可以了, 现在来测试一下
- 运行app到模拟器, 打开你模拟器中的Safari浏览器,在输入在地址栏输入:demo:// 然后回车
另外还有一种需求: 就是点击某个链接或扫描二维码, 就去打开应用内的某个页面, 这个也很简单, 要在前面成功的基础下来实现
- 有时候你可能需要在从Safari跳回到APP时传一些参数,那么又有什么方法可以接收这些参数呢?
在appdelegate.m文件中写下如下方法:
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(id)annotation
{
if (!url) {
return NO;
}
// 明天再写吧
return YES;
}
- 在代码中判断
// 明天再写吧
网友评论