2013-03-11 116 views
0

我已經爲我的應用程序添加了一個URL方案。 URL方案是testapp://。當我在Safari中輸入文本testapp://並返回時,它啓動了我的應用程序。iOS中的URL方案

然後我用testapp://placeid=12進行了測試。這是在iPad上推出的TestApp,但在iPhone中,我得到Cannot Open Page,我無法測試。

我可以通過placeid=12作爲URL查詢。但我想知道的是,爲什麼它不是單獨在iPhone上開放。

對此有何想法?

注意:無論設備類型如何,它似乎是iOS的問題。這是iOS 6及以上版本的行爲。

+0

@downvoters,你能否給我你爲什麼低估它的原因? – Ilanchezhian 2013-03-11 11:46:14

+0

您是否找到任何解決方案?是否有任何答案有助於指導你?請更新問題。謝謝! – veducm 2013-08-01 14:30:42

回答

0

正如問題提示中所提到的,這是iOS 6的Safari瀏覽器行爲。進入Safari時,我們在URL的主機中不能有「=」。

相反,我用下面的方式解決了這個問題。

發送郵件中的URL,並從郵件中發送,如果我單擊URL,則啓動應用程序。但重要的一點是,我必須解析URL主機才能獲得價值。

0

是不是每個設備都運行不同的iOS版本?

如果是這樣,請根據版本考慮一些細節。例如,如果你讀了Advanced App Tricks,有一節,可以幫助你:

處理URL請求

,有它自己的自定義URL方案必須能夠處理的URL的應用傳遞給它。所有網址都會在啓動時或您的應用運行時或在後臺傳遞給您的應用代理。爲了處理傳入的網址,您的代理應該實現以下方法:

希望這會有所幫助。否則,我真的會建議你堅持standards。它會讓你的生活更輕鬆:)

0

它可能不工作,因爲testapp:// placeid = 12不是有效的URL。你也需要一個域名地址,比如testapp:// localhost/query?placeid = 12。 '='字符可能導致錯誤。

我現在無法測試,請告訴我。

+0

謝謝Cthutu ..但同樣的網址與iPad工作正常。這就是爲什麼我很困惑。 – Ilanchezhian 2013-03-14 04:55:51

+0

你假設它是iPad和iPhone的相同代碼。這很可能是我承認的,但值得檢查。 – Cthutu 2013-03-14 15:02:22