簡體   English   中英

如何使用 Xcode 4 注冊自定義應用程序打開 URL 方案?

[英]How to register a custom app opening URL scheme with Xcode 4?

Xcode4 要求大量的參數只是為了使這個簡單的事情成為可能:

NSString *stringURL = @"twitterriffic://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Xcode 4 Info.plist 編輯器

所有這些屬性有什么用? 為什么是圖像? 我必須在這里重復應用程序標識符嗎? 如果我希望任何人都能夠調用此 URL 來打開我的應用程序,該選擇什么角色? 這些額外的 url 類型屬性有什么用?

我沒有找到與 Xcode4 相關的教程,如何在 Xcode 4 中注冊這樣的 URL 方案。

編輯您的 AppName-Info.plist 文件

  • 打開左側的“支持文件”(文件夾)並單擊“YourAppName-Info.plist”
  • 選擇像“Bundle creator OS Type Code”這樣的一行,然后將鼠標懸停在該行上並單擊 (+) 符號
  • 這將創建一個新行並輸入“URL 類型”
  • 單擊左側的箭頭並查看 Item 0,您將 Item 0 中的值重命名為“URL Schemes”,如圖所示
  • 然后編輯項目 0 中的字段並輸入您的協議; 如圖所示,我輸入了“goomzee”

現在,如果我在模擬器上安裝此應用程序,然后打開 Safari 並在地址欄中輸入“goomzee://”,它將啟動我的應用程序。

是的,這東西不簡單,是嗎?

我在此處概述了注冊自定義 URL 所需的步驟: 自定義 URL

但是,基本上它的關鍵是在 .plist 文件中設置“URL 類型”值。 這是它在 XCode 5 中的樣子:

網址類型

在這個例子中,我已經注冊了MKB前綴,所以現在,我可以在網頁和電子郵件的超鏈接中使用這種新類型的 URL(如果我在 iPad 郵件應用程序中閱讀了一封電子郵件):

郵件應用

如果用戶點擊這些鏈接之一,我的 iPad 應用程序將啟動,我可以訪問完整的 URL 字符串,從 URL 中提取其他參數(例如“DocumentNumber=100”)

唯一的問題是我還沒有弄清楚如何測試用戶是否安裝了可以識別特定前綴的 iPad 應用程序。

如果他們沒有,並且他們在 iPad 上點擊這些 MKB:// 鏈接之一,他們將收到一條丑陋的錯誤消息:

不

您可以通過編輯應用程序的 info.plist 文件(如您之前的問題之一所示)來繼續注冊您的自定義 URL。 Xcode 4 中的新編輯器應該是一種方便,可以更輕松地添加條目 - 它所做的只是進行與手動執行相同的 info.plist 更改。 如果您想使用新的編輯器,那么您只需要填寫“標識符”和“URL 方案”框。 您不需要圖像、圖標或其他 URL 屬性。

其他屬性(圖標等)沒有很好的文檔記錄,但似乎只適用於 Mac OS X,並且可以在 Finder 的“獲取信息”對話框中使用以顯示特定應用程序可以打開的 URL 類型。 例如,查看Launch Services Programming Guide

您在該編輯器中所做的更改也會反映在您項目的信息 plist 文件中。 它采用ProjectName -Info.plist 的形式。 希望這有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM