iOS APP内跳转到系统相册(包含其它APP间跳转)

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

let urlStr = "weixin://"

            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 = self.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://
QQ mqq://
微信 weixin://
淘宝 taobao://
点评 dianping:// dianping://search
微博 sinaweibo://
名片全能王 camcard://
支付宝 alipay://
豆瓣fm doubanradio://
京东 openapp.jdmoble://
人人 renren://
知乎 zhihu://
优酷 youku://

你可能感兴趣的:(iOS APP内跳转到系统相册(包含其它APP间跳转))