1. 程式人生 > >註冊URL Scheme步驟以及開啟其他App

註冊URL Scheme步驟以及開啟其他App

一 註冊 URL Scheme

1.設定URL Scheme

這裡寫圖片描述

  • 在safari位址列中輸入:URL Schemes://identifier (例如:iOSEnterURL://com.Demo.www)就可以開啟註冊了URL Schemes的APP的。

  • 其中URL Schemes是必填的,identifier是選填

  • 一般情況下,是會呼叫先安裝的app。但是iOS的系統app的URL Scheme肯定是最高的。所以我們定義URL Scheme的時候,儘量避開系統app已經定義過的URL Scheme

2. 在appdelegate中編寫程式碼

#if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 90000
-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options{ //開啟連結會走這個方法 return YES; } #else - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(id
)annotation{ //開啟連結會走這個方法 return YES; } #endif

二 開啟其他應用

2.1 應用需要在“Info.plist”中將要使用的URL Schemes列為白名單,才可正常檢查其他應用是否安裝。否則報錯:

This app is not allowed to query for scheme…

這裡寫圖片描述

2.2 相關API

// iOS10 以及以後
- (void)openURL:(NSURL*)url options:(NSDictionary *)options
  completionHandler:(void (^ __nullable)(BOOL
success))completion; // iOS10 以前 - (void)openURL:(NSURL*)url;
  • url:開啟APP的URL

  • options:可選字典引數。引數可以為空,也可以下邊的引數

    • 空字典:可以達到openURL:一樣的行為
      • @{}
    • UIApplicationOpenURLOptionUniversalLinksOnly:如果這個要開啟的URL有效,並且在應用中配置它布林值為true(YES)時才可以開啟,否則打不開。
      • 例如:@{UIApplicationOpenURLOptionUniversalLinksOnly : @YES}
  • completion:執行成功後completionhandler在主佇列中回撥。如果你並不關心它的返回狀態也可以傳空。

相關程式碼

//[self openScheme:@"iOSEnterURL://"];
- (void)openScheme:(NSString *)scheme {
    UIApplication *application = [UIApplication sharedApplication];
    NSURL *URL = [NSURL URLWithString:scheme];
    //iOS 10 以後
    if ([application respondsToSelector:@selector(openURL:options:completionHandler:)]) {
    //1 如果這個要開啟的URL有效,並且在應用中配置它布林值為true(YES)時才可以開啟,否則打不開
                NSDictionary *options = @{UIApplicationOpenURLOptionUniversalLinksOnly : @YES};
         //2 此時與openURL功能相似
//        NSDictionary *options  [email protected]{}
        [application openURL:URL options:options
           completionHandler:^(BOOL success) {
               NSLog(@"Open %@: %d",scheme,success);
           }];
    } else {
        if ([application canOpenURL:URL]) {
            BOOL success = [application openURL:URL];
            NSLog(@"Open %@: %d",scheme,success);
        }

    }
}

相關推薦

註冊URL Scheme步驟以及開啟其他App

一 註冊 URL Scheme 1.設定URL Scheme 在safari位址列中輸入:URL Schemes://identifier (例如:iOSEnterURL://com.Demo

Android開啟其他App

背景:通過其他專案、網頁連結開啟自己的app 1、通過其他專案開啟自己的app 其實就是通過隱式Intent開啟Activity(為方便描述簡稱其他專案為:A,自己的app為:B) 首先B專案中activity設定intent-filter <activity an

設定透明主題引起動畫失效以及開啟其他應用閃現桌面圖示的問題

近日在適配魅族手機的時候,發現設定Activity的主題的 <item name="android:windowIsTranslucent">true</item>透明狀態,或者 <item name="android:windowShowW

react native Linking 打電話 發簡訊 開啟其他App

使用Linking開啟webURL 郵箱 聯絡人等,其實Linking相當於android的Intent: 使用方式為: Linking.openURL(string) //先匯入Linking import { Linking } from 're

關於Android應用內安裝app然後開啟其他app的一些記錄(相容至Android O)

        前段時間個人專案裡需要加入一個預覽word文件的功能,大致流程就是把這個word下載下來,然後用Tencent的X5核心開啟。很簡單對吧,可是讓人頭疼的是將這個功能整合至專案後,一直提示預覽失敗。然而我自己單獨寫的集成了X5核心的demo確是完美開啟,很無語。

瀏覽器URL Scheme開啟APP的那些坑

URL Scheme開啟APP網上有很多的具體實現,這裡不重複了,只說說實際開發中遇到的坑。 1.應用A配置了scheme,應用B是可以通過url scheme直接開啟應用A裡配置了scheme的特定頁面; 2.如果是瀏覽器用url scheme開啟app就不行,瀏覽器呼

APP開啟另一個APPURL Scheme與openURL)【iOS開發】

目標 平常我們做iOS開發,會經常遇到開啟其他的APP的功能。本篇文章講的就是開啟別人的APP的一些知識。我們的目標是: 開啟別人的APP讓別人開啟我們的APPiOS9的適配問題使用URL Schemes傳遞資料 準備工作 建立一個名為OpenApp的工作空間,用來存放

開啟另一個APPURL Scheme與openURL)

目標 平常我們做iOS開發,會經常遇到開啟其他的APP的功能。本篇文章講的就是開啟別人的APP的一些知識。我們的目標是: 開啟別人的APP 讓別人開啟我們的APP iOS9的適配問題 使用URL Schemes傳遞資料 準備工作 建立一個名為OpenApp的工作空間,用來存放我們的兩個工程 建立這個工作空間主

【iOS開發】開啟另一個APPURL Scheme與openURL)

目標平常我們做iOS開發,會經常遇到開啟其他的APP的功能。本篇文章講的就是開啟別人的APP的一些知識。我們的目標是:開啟別人的APP讓別人開啟我們的APPiOS9的適配問題使用URL Schemes傳遞資料準備工作建立一個名為OpenApp的工作空間,用來存放我們的兩個工程建立這個工作空間主要是為了讓我們後

安卓通過url開啟app以及下載對應app

一.使用Custom Scheme URI開啟APP 就Android平臺而言,URI主要分三個部分:scheme, authority and path。其中authority又分為host和port。格式如下: scheme://host:

Django打造在線教育平臺_day_3: 搭建後臺管理系統Xadmin之其他app的數據表註冊

user cli mode lis mob use lds desc gist courses/adminx.py import xadmin from .models import Course, Lesson, Video, CourseResource class

Linux 關於安裝rabbitmq以及開啟遠端訪問許可權步驟

時光飛逝,距離上次寫部落格居然已經兩個月之久,近期因為專案進度緊,而一直沒有抽出時間來進行總結,本人會在近期將專案中所涉及到的技術以及一些操作進行總結並更新到部落格中,今天我們就來聊聊linux下安裝rabbitmq的安裝步驟。 本篇部落格主要以安裝步驟為主,所以並不會涉及到太

iOS中使用URL Scheme進行App跳轉

iOS的APP可以註冊自己的URL Scheme,URL Scheme是為方便app之間互相呼叫而設計的。我們可以通過系統的OpenURL來開啟該app,並可以傳遞一些引數。 例如: line:// 開頭的 sheme 可以用來開啟 LINE App. Apple 的官方教學: 在info.plis

MobLink網頁跳轉app指定介面技術簡介之 URL Scheme

專案演示 URL Scheme是什麼   由於蘋果的app都是在沙盒中,相互是不能訪問資料的。但是蘋果還是給出了一個可以在app之間跳轉的方法:URL Scheme。簡單的說,URL Scheme就是一個可以讓app相互之間可以跳轉的協議。每個app的URL Sc

Android H5和App互動以及開啟相簿上傳圖片並顯示

一、H5連結開啟App 點選瀏覽器中的URL,如何啟動App呢? 1、HTML連結處理 首先做成HTML的內容,url格式如下: <a href="[scheme]://[host]/[path]?[query]">啟動應用程式</a> 說明:

Android自定義URL使用Scheme方式喚起Activity或App

最近由於工作需要,使用Scheme方式自定義URL來跨應用間呼叫,踩了一些坑,現在記錄一下。 1、Scheme方式配置 manifest中配置能接受Scheme方式啟動的activity <intent-filter> <action a

Android中通過scheme實現網頁開啟App(deep-link)

Android 通過 Intent Filter 和 scheme 實現與js互動,也稱為 deep-link 達到點選網頁按鈕開啟App效果 參考 參考連結 實現 接下來結合具體的程式碼進行解析 首先來看 網頁端 js的實現 按照stac

Android 使用 Scheme 啟動淘寶,天貓等其他APP

最近在開發一個購物的APP,在應用內直接跳轉到淘寶,天貓,京東等其它購物APP,一番查詢研究後找到了解決方法。 直接上結論程式碼(這也是很多人喜歡看的): //需要傳入的 scheme 型別的商品地址 String path ="taobao://item.

通過自定義的URL Scheme啟動你的App

iPhone SDK可以把你的App和一個自定義的URL Scheme繫結。該URL Scheme可用來從瀏覽器或別的App啟動你的App。 如何響應從別的App裡發給你的URL Scheme申請,由你決定:可以喚醒你的App;也可以傳一些資訊給你。 給自己的App註冊一

iOS中使用URL Scheme進行App跳轉的教程

URL Scheme的作用 我們都知道蘋果手機中的APP都有一個沙盒,APP就是一個資訊孤島,相互是不可以進行通訊的。但是iOS的APP可以註冊自己的URL Scheme,URL Scheme是為方便app之間互相呼叫而設計的。我們可以通過系統的OpenURL來開啟該a