2011-11-20 96 views
65

Xcode4是要求的參數數量龐大隻是爲了讓這個簡單的事情可能:如何使用Xcode 4註冊自定義應用程序開放URL方案?

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

Xcode 4 Info.plist editor

什麼是所有這些屬性?爲什麼一個圖像?我必須在這裏重複應用標識符嗎?如果我希望任何人能夠調用此URL來打開我的應用程序,請選擇什麼角色?這些額外的url類型屬性是什麼?

我發現沒有Xcode4相關教程如何在Xcode註冊這樣的URL方案4.

+0

如果您有想法「額外的url類型屬性」用法? – user454083

+3

我已經在帖子中解釋了它,並且還提供了自定義網址的額外參數的代碼: http://2cupsoftech.wordpress.com/2013/01/08/supporting-custom-url-schemes-in-ios-app/ – 2cupsOfTech

回答

17

您可以繼續通過編輯應用程序的Info.plist文件(如在以前的一個註冊您的自定義網址questions)。 Xcode 4中的新編輯器應該是一個方便的工具,它使得添加條目變得更加容易 - 它所做的只是進行與手動執行相同的info.plist更改。如果你想使用新的編輯器,那麼你只需要填寫'標識符'和'URL Schemes'框。您不需要圖片,圖標或其他網址屬性。

其他屬性(圖標等)都有詳細的記載,但似乎只在Mac OS X適用並在Finder的獲取信息對話框可以用來顯示一個特定的應用程序可以開什麼類型的URL。例如,請查看Launch Services Programming Guide

0

您在編輯器中改變什麼還體現在項目的信息plist文件。它的形式爲ProjectName -Info.plist。希望有幫助。

91

Edit your AppName-Info.plist file

  • 打開左「支持文件」(文件夾),然後點擊「YourAppName-Info.plist中」
  • 選擇一排像「捆綁創作者OS類型代碼」和鼠標行單擊(+)符號
  • 這將創建一個新的行,鍵入「URL類型」
  • 點擊arror左,參見Item 0,如圖所示
  • 你會在項目0值重命名爲「URL方案」
  • 然後EDI噸0項,並輸入您的prototocol領域;我在「goomzee」類型,如圖

現在,如果我在我的模擬器安裝這個應用程序,並打開Safari和類型「goomzee://」在地址欄中將推出我的應用程序。

+4

內的.plist文件,相關的代碼是: ' CFBundleURLTypes CFBundleURLSchemes goomzee ' –

+6

CFBundleURLTypes CFBundleURLName com.iphonebasic.testdemo CFBundleURLSchemes COM-iphonebasic-testdemo iphonemaclover

+0

這個 「相關代碼」 爲我工作!謝謝 –

25

啊,這東西不是簡單的是什麼呢?

我已經概述在這裏註冊自定義URL所需的步驟: Custom URLs

但是,基本的關鍵,它是建立在你的.plist文件中的「URL類型」值。下面是它看起來像在XCode中5:

URL types

在這個例子中,我已經註冊了MKB前綴,所以現在,我可以在超鏈接上的網頁和電子郵件使用這種新型的網址(如果我讀在iPad上的郵件應用程序的電子郵件):如果用戶點擊這些鏈接之一

Mail app

,我的iPad應用程序將啓動,並且我可以訪問完整的URL字符串,提取來自URL的其他參數(例如「DocumentNumber = 100」)

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

如果他們沒有,他們挖掘這些MKB之一:在他們的iPad //聯繫,他們會得到一個醜陋的錯誤消息:

Nope

+1

哇在你的博客上精彩的解釋。這爲我節省了大約2個小時。謝謝!! – Wirsing

+0

事情是,在'MKB://'之後必須有任何東西。 –

相關問題