今天研究了一下企業(yè)應用分發(fā),網(wǎng)絡(luò)上有很多文章講如何利用一個 Web 頁面進行 iOS 企業(yè)應用分發(fā)下載安裝,這里就不再贅述;這篇文章主要針對的是企業(yè)應用安裝后如何在 Safari 中引導用戶跳轉(zhuǎn)到 [設(shè)置 - 通用 - 描述文件] 頁面去,以便用戶信任你的企業(yè)簽名描述文件,在 iOS9 的時候是很方便的,無論是在應用內(nèi)或者 Safari 中都可以直接喚起,但是從 iOS10 起,蘋果禁止了一切對 [設(shè)置] 主動的跳轉(zhuǎn)。
| iOS9 | iOS10 | |
|---|---|---|
| in-App (openURL) | ? | ? |
| Safari | ? | ? |
另外還測試了一下,在應用內(nèi)用 UIWebView 加載 HTML 進行跳轉(zhuǎn),結(jié)論與上一致。
URL Scheme
- iOS 9 :
prefs:root=General&path=ManagedConfigurationList - iOS 10 :
App-Prefs:root=General&path=ManagedConfigurationList
解決
可以看到 iOS10 并不能從 Safari 直接跳轉(zhuǎn) [描述文件] 頁面了,但是還有一個方式可以達到該效果,那就是直接鏈接到一個企業(yè)簽名的描述文件(.mobileprovision),在 Safari 中直接訪問 http://foo.com/hello.mobileprovision 就可以實現(xiàn)跳轉(zhuǎn)了。
引導
既然我們知道了如何跳轉(zhuǎn),那么在網(wǎng)頁中何時跳轉(zhuǎn)呢?有的做法是用戶在 Safari 中點擊安裝按鈕后,制造一個假的進度條,比如大概 10 秒,估算應用已經(jīng)下載、安裝完畢,因為其實是無法獲取真實的企業(yè)應用安裝進度的,然后彈出一個 [信任] 按鈕或一些操作圖示,由以上方法跳轉(zhuǎn)至 iOS 系統(tǒng)設(shè)置中的描述文件頁面,讓用戶選擇自己的企業(yè)證書描述并信任,這樣才能打開對應企業(yè)應用。