首先,我們有一個應用程序,我們的域支持iOS9和iOS10上的通用鏈接。在着陸頁上,有一個元素的'href'屬性設置爲我們的域名。點擊它啓動我們的本地應用程序或在瀏覽器中打開UL。這是行得通的。如何使IOS通用鏈接在iframe中工作
但是,當相同的登錄頁面放在iframe(預期用例)內時,該按鈕無法按預期工作。我沒有啓動我們的應用程序,而是在控制檯上看到:「https://domain/path/page.html」未被允許顯示來自itms-appss的不安全內容://itunes.apple.com/app/appname/id#######?mt = 8。 這意味着UL機制不起作用,瀏覽器實際上檢索到URL(反過來,這是一個簡單的PHP文件,將位置標題重定向到iTunes)
我認爲可能是我們的應用程序或頁面或子域名,所以我試圖爲Instagram應用添加類似的鏈接。這沒有幫助,因爲行爲是一樣的:UL機制不起作用,瀏覽器檢索UL的內容。
僞HTML:
<body>
<a href="universal_link">Works</a>
<iframe src="your_random_local_page.html">
<a href="universal_link">Doesn't work</a>
</iframe>
</body>
Alex,謝謝你的關注。讓我試着在沒有太多細節的情況下澄清這一點。 Universal Link基本上指向在apple-app-site-association文件中註冊的PHP文件。因此,如果從頂部窗口或從Notes應用程序中單擊此鏈接,則會啓動我們的本機應用程序。 Php文件只是返回位置標題重定向到iTunes,因此用戶可以安裝該應用程序。 似乎UL機制不能在iframe中工作,如果我們得到關於iTunes的日誌 – Denis
這並不令我感到意外。如果iframe能夠意外觸發不同的應用程序,用戶會覺得很驚訝。對於需要某種用戶操作的Universal Links,Apple一直非常保守,所以這聽起來像是一個可能的限制。 –