IOS跳转到系统相册及一些其他的URL Scheme

APP 间的跳转主要通过 UIApplication.shared.openURL(url) 这种方法来实现的,但iOS10 后又稍加不同,iOS10 之后就变成了 UIApplication.shared.open(url, options: Dictionary(), completionHandler: nil)

if let url = URL(string: urlStr) {
if #available(iOS 10.0, *) {
UIApplication.shared.open(url, options: Dictionary(), completionHandler: nil)
} else {
UIApplication.shared.openURL(url)
}
}

跳转系统内相册应用可以通过 UIApplication.shared.openURL("photos-redirect://") 来实现,但是审核时会被当成使用私有API处理,所以我们需要做一下 base64 编码混淆处理。

// 跳转
let urlStr = decode("cGhvdG9zLXJlZGlyZWN0Oi8v")
if let url = URL(string: urlStr) {
if #available(iOS 10.0, *) {
UIApplication.shared.open(url, options: Dictionary(), completionHandler: nil) } else {
UIApplication.shared.openURL(url)
}
}

为通过审核,对 "photos-redirect://" 进行base64编码混淆后再解码

// base64解码
func decode(_ string: String) -> String {
let data = Data(base64Encoded: string, options: [])
let decodedStr = String(data: data ?? Data(), encoding: .utf8)
return decodedStr ?? ""
}

其它系统的 URL Scheme

app URL scheme
打10086电话 tel://10086
App Store itms-apps://
Safari http://muhlenxi.com/
Maps maps://
备忘录 mobilenotes://
SMS sms://
Mail mailto://
iBooks ibooks://
Music music://
Videos videos://

IOS跳转到系统相册及一些其他的URL Scheme的更多相关文章

  1. iOS开发之获取系统相册ALAssetLibrary

    注:当你选择看这篇博客时想必你的应用还支持iOS8一下系统,如果你的应用要求最低版本大于iOS8,建议使用PhotoKit框架,效率更高 ALAssetsLibrary包含,ALAssetsLibra ...

  2. iOS 跳转到系统的设置界面

    跳到健康设置   上网找了一下  你会发现很难找到.代码如下  不信你试试 . NSURL *url = [NSURL URLWithString:@"prefs:root=Privacy& ...

  3. iOS 跳转到系统的设置界面-b

    在项目中,我们经常会碰到使用位置的需求.当用户设置app不允许使用位置的时候,最好的用户体验就是直接调转到系统的位置设置界面,进行设置. 本人已经测试,在5c iOS8.3系统 和 5s iOS7.1 ...

  4. iOS 跳转到系统指定设置界面

    在需要调转的按钮动作中添加如下的代码,就会跳转到设置中自己的app的设置界面,这里会有通知和位置权限的设置 NSURL * url = [NSURLURLWithString:UIApplicatio ...

  5. IOS 跳转到系统的url

    About — prefs:root=General&path=AboutAccessibility — prefs:root=General&path=ACCESSIBILITYAi ...

  6. ImageLoader框架的使用、调用系统相册显示图片并裁剪显示、保存图片的两种方式

    ImageLoader虽然说是一个相对于比较老的一个框架了 ,但是总的来说,还是比较好用的,今天我就总结了一下它的用法.还有调用系统相册并裁剪,以及,通过sharedpreference和文件存储来保 ...

  7. iOS 唤起APP之URL Scheme

    什么是URL Scheme 简单的说,由于苹果选择使用沙盒机制来保障用户的隐私和安全,APP只能访问自己沙盒数据,但同时也阻碍了应用间合理的信息共享.因此苹果提供了一个可以在APP之间跳转的方法:UR ...

  8. URL Scheme APP跳转safari以及跳回APP

    上图 : 在plist文件里面设置. URL identifier 一般为反域名+项目名称 (尽可能保证少重复) URL Schemes是一个数组.一个APP可以添加多个.该参数为跳转时使用的标识. ...

  9. iOS之访问权限以及跳转到系统界面

    iOS开发中有时候有这样的需求:当用户设置不允许访问照片.麦克风和相机等系统权限的时候,这时需要直接跳转到系统的隐私界面进行设置. 判断是否开启权限 前面已经说过,我们需要在用户不允许访问的时候跳转, ...

  10. ios调用系统相册、相机 显示中文标题、本地化多语言支持

    因为调用系统相册.相机需要显示中文,所以搞了半天才知道是在Project->info->Custom ios Target Properties 添加 Localizations 并加入C ...

随机推荐

  1. 【赵渝强老师】使用Docker UI

    Docker提供一个平台来把应用程序当作容器来打包.分发.共享和运行,它已经通过节省工作时间来拯救了成千上万的系统管理员和开发人员.Docker不用关注主机上运行的操作系统是什么,它没有开发语言.框架 ...

  2. VB.NET 在 Windows下通过WIn32API获取CPU和内存的使用率

    .net 要获取CPU和内存的使用率,一般是通过 PerformanceCounter 或者 WMI 查询得到,但是如果操作系统经常不正常断电或者别的什么原因,让系统的性能计数器抽风了,可能就会造成初 ...

  3. 如何快速定位 Linux Panic 出错的代码行

    问题描述 内核调试中最常见的一个问题是:内核Panic后,如何快速定位到出错的代码行? 就是这样一个常见的问题,面试过的大部分同学都未能很好地回答,这里希望能够做很彻底地解答. 问题分析 内核Pani ...

  4. 读取.raw格式文件(学习记录)

    import cv2 #OpenCV包 import numpy as np # 首先确定原图片的基本信息:数据格式,行数列数,通道数 rows=886#图像的行数 cols=492#图像的列数 ch ...

  5. 精彩回顾|【ACDU 中国行·西安站】数据库主题交流活动成功举办!

    2023年12月23日下午,[ACDU 中国行·西安站]在西安天骊君廷大酒店圆满落下帷幕.本次活动由中国数据库联盟(ACDU)联合墨天轮社区,浪潮数据库 及蚂蚁集团 OceanBase 共同主办,特邀 ...

  6. 九问 GBase | 如何看待“科技制裁”?如何助力中国数据库国产化落地?

    导读: Oracle.SAP.Apple.Google.Github等国际科技巨头纷纷宣布停止在俄罗斯业务,英特尔.AMD.戴尔等科技企业也被曝已中断向俄供货.当全面科技制裁来临,俄罗斯将如何应对此次 ...

  7. 使用Spectre.Console定制.NET控制台输出样式演示

      创建一个控制台项目,引用包Spectre.Console.或者如果需要定制控制台cli命令,也可以引用 Spectre.Console.Cli ,里面自带包含了Spectre.Console   ...

  8. 基于 KubeSphere 的 AI 平台开发实践

    概述 本文基于 "KubeSphere & Friends 2021 Meetup 北京站" 分享主要内容整理而来,详细内容建议观看视频,本文有一定删减. 作者:胡涛(Da ...

  9. 「模拟赛」多校 A 层联训 8

    \(22pts\),本来可以切掉前两个题的?! A. 传送 (teleport) 签到 12 pts,错的很唐!我把 Dij 用的 dis 数组直接赋值成了点到 1 号点之间的 x 距离和 y 距离的 ...

  10. C/C++ volatile restrict 用法

    volatile和restrict是C和C++中的两个关键字,都用于指示编译器优化. volatile volatile的本意是"易变的",用法和const一样: volatile ...