2012-01-16 53 views
4

我遇到一點麻煩試圖從我的web應用程序調用我的原生的iOS應用程序(蘋果移動網絡應用能力) 。每當我在Safari按下按鈕來打開我的應用程序與自定義的網址方案,這工作得很好。錯誤啓動從Web應用程序本地應用程序 - iOS設備 - 網址無法顯示

然而,當我把它添加到主屏幕,我得到堅持的錯誤:URL無法顯示。重定向到http或https工作正常,但如果我打電話mysupercustomurlscheme:/ /我得到上面的錯誤消息。

我已經嘗試通過document.location.href,window.location等等打開它,但似乎沒有什麼竅門,我已經用完了想法。

如果任何人有任何想法,我會非常感激聽到他們的聲音。

在此先感謝!

回答

1

好的,這樣做有點笨拙,但它可以幫助一些可憐的靈魂嘗試實現同樣的目標。

首先,創建一個簡單的HTML鏈接,顯然,常規HTML鏈接在Mobile Safari中打開,而不是在Web應用程序的全屏視圖中打開。 鏈接

在redirect.html中,您只需使用一些簡單的JavaScript重定向用戶。 window.location =「mysupercustomurlscheme://」

就是這樣!這當然不是最好的辦法,但它是'相當'無縫。這就是我至少想到的,如果你有任何其他建議,請告訴我。

希望這可以幫助別人!

0

只是想發佈的東西托比亞斯所引用的一個例子。您需要在服務器上託管並鏈接到電子郵件,社交媒體等。只需在您的應用的URI和中替換您的App Store鏈接即可。請注意,iframe可在更多瀏覽器上使用。

<!DOCTYPE html> 
<html> 
    <body> 
     <script type="text/javascript"> 
      window.onload = function() { 
       // Deep link to your app goes here 
       document.getElementById("l").src = "my_app://"; 

       setTimeout(function() { 
        // Link to the App Store should go here -- only fires if deep link fails     
        window.location = "https://itunes.apple.com/us/app/my.app/id123456789?ls=1&mt=8"; 
       }, 500); 
      }; 
     </script> 
     <iframe id="l" width="1" height="1" style="visibility:hidden"></iframe> 
    </body> 
</html> 

因此,如果用戶安裝了您的應用程序,與URI鏈接會成功,你將存在於瀏覽器的腳本之前重定向到App Store可以被觸發。如果用戶沒有你的應用程序,重定向成功(在一個簡短的醜陋的錯誤消息之後)。我是Branch的開發人員,我們使用它,所以請隨時提出實施中的問題。