日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MacOS开发-给自己的 app 添加 URL Scheme(Xcode 9之后)

發布時間:2023/12/20 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MacOS开发-给自己的 app 添加 URL Scheme(Xcode 9之后) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 1.0 Xcode9之前配置
    • 1.1 Xcode9及之后需要在項目的info欄配置URL types
    • 2.在代碼中設置識別方法
    • 3.運行程序
    • 4.在瀏覽器輸入配置好的URL Schemes
    • 5.點擊打開,即可調起我們自己的程序
    • 參考資料

  • URL Scheme是什么
    由于蘋果的app都是在沙盒中,相互是不能訪問數據的。但是蘋果還是給出了一個可以在app之間跳轉的方法:URL Scheme。簡單的說,URL Scheme就是一個可以讓app相互之間可以跳轉的協議。每個app的URL Scheme都是不一樣的,如果存在一樣的URL Scheme,那么系統就會響應先安裝那個app的URL Scheme,因為后安裝的app的URL Scheme被覆蓋掉了,是不能被調用的。
  • URL Scheme有什么作用
    那么app之間的跳轉有什么作用呢?我們所使用的每一個app就相當于一個功能,app的跳轉可以使得每個app就像一個功能組件一樣,幫助我們完成需要做的事情,比如三方支付,搜索,導航,分享等等。
  • URL Scheme怎么使用
    要跳轉到別人的app,就要知道別人的app的跳轉協議是什么,需要傳入什么參數,我們常見的跳轉協議有下面這些:
1.打開Mail[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://info@icloud.com"]]2.打開電話[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://18688886666"]];3.打開SMS[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms:18688886666"]];

所以,如果我們希望別人打開我們的app,只要在plist文件中配置一下你的跳轉協議即可

1.0 Xcode9之前配置

在 Info.plist 中配置CFBundleURLTypes(URL Types),如下所示:

源代碼模式如下:

1.1 Xcode9及之后需要在項目的info欄配置URL types

示例配置如下所示:(本文中假設要設置URL Schemes為testSchemes)

2.在代碼中設置識別方法

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {[[NSAppleEventManager sharedAppleEventManager] setEventHandler:self andSelector:@selector(handleURLEvent:withReplyEvent:) forEventClass:kInternetEventClass andEventID:kAEGetURL];} //處理url事件 - (void)handleURLEvent:(NSAppleEventDescriptor)theEvent withReplyEvent:(NSAppleEventDescriptor)replyEvent {NSString* path = [[theEvent paramDescriptorForKeyword:keyDirectObject] stringValue];[[NSAlert alertWithMessageText:@"URL Request" defaultButton:@"OK" alternateButton:nil otherButton:nil informativeTextWithFormat:@"%@", path] runModal]; }

3.運行程序

先運行一次程序,以便URL Schemes注冊到系統。

4.在瀏覽器輸入配置好的URL Schemes

如本文所示,在瀏覽器輸入testSchemes://request=test&arguments=success

'//'后面可以根據需要輸入自己的控制參數,彈出如下提示窗口:

5.點擊打開,即可調起我們自己的程序


可以通過對這個 URL 進行判斷,例如根據不同的 Host,不同的 Query String 來執行不同的動作。
在動作執行完成之后,有可能時需要返回到原app,這樣就需要你的app跳轉協議的url里面傳入調用者app的跳轉協議,這樣用戶在跳轉到你的app完成動作之后就能跳轉回調用app了。

參考資料

https://www.jianshu.com/p/eed01a661186
https://blog.csdn.net/lovechris00/article/details/77896410

總結

以上是生活随笔為你收集整理的MacOS开发-给自己的 app 添加 URL Scheme(Xcode 9之后)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。