當前位置:
首頁 > 最新 > Environment:Sandbox——如何屏蔽 iOS的Bug 彈窗

Environment:Sandbox——如何屏蔽 iOS的Bug 彈窗

很多喜歡玩機的少年一定不會對 TestFlight 陌生。自從被蘋果收編之後,TestFlight 搖身一變從野雞測試平台華麗變身為 iOS 御用測試平台,配置簡單、安全易用、免疫封殺,很多開發者會在正式上架應用前招攬用戶先在 TestFlight 對 App 進行全面測試,甚至部分因為有關原因在大陸區 App Store 被封殺的 App 也可以利用 TestFlight 單個版本 90 天的有效期持續為國區用戶發光發熱。

開發者會在上線之前在 TestFlight 測試 App

所以很抱歉,Sandbox 彈窗這種惱人的 Bug 恰好就只和喜歡 TestFlight 新 App 新特性的玩機少年們不期而遇了 [笑哭]。

Sandbox 彈窗是由 TestFlight 的測試 App 沙盒環境觸發的。如果測試 App 包含內購功能,而你解鎖過內購功能(TestFlight 的測試者在測試期內是無需為內購功能付費的,所以正常一點的測試者應該都會選擇解鎖內購功能的吧?),那麼在聯網環境中,測試 App 就會反覆向蘋果為沙盒測試應用準備的驗證伺服器發起賬戶驗證請求,導致反覆彈窗。

這個彈窗惱人到什麼地步?

首先,這彈窗能彈到你懷疑人生。

部登陸了忘記 Apple ID 密碼的 iPad,因為安裝了解鎖 IAP 的測試版 Newsify,Sandbox 彈窗彈到 iPad 無法進行除了輸入正確密碼之外的任何操作,連關機都不行。

GIF

彈窗可以彈到你輸入正確密碼為止

什麼仇什麼怨?!更不論還遇到過王者榮耀 Solo 時突然彈一發的這種炸裂時刻。

其次,似乎任何招數都對它無效。

彈窗沒有任何和測試 App 相關的提示,不管你有沒有打開測試 App 彈窗都會出現,而且只有幾行「需要登錄 - 輸入 Apple ID 密碼 - Environment:Sandbox」。但是,即使你意識到是測試 App 導致的彈窗,你能想像到的任何操作——刪測試版 App 換正式版 App、測試版 App 正式版 App 全刪、升級系統——完全無效,該彈的時刻彈窗照樣會彈起。

而且這個 Bug 自從 iOS 9 開始就已經存在,但是從未被修復。有沒有感受到深深的絕望?

但是也有解決方案。

在被彈到換屏小哥都開始同情之後,我在網(s)絡(u)調(r)試(g)軟(e)件的分析記錄中找到了 sandbox.itunes.apple.com 這條記錄,發現只要開啟網(s)絡(u)調(r)試(g)軟(e)件屏蔽這條記錄,彈窗就不會彈出,但是關閉之後,彈窗會繼續喚起。

屏蔽沙盒訂單驗證域名

深究原理,sandbox.itunes.apple.com 是蘋果為開發者準備的測試 App 的沙盒訂單驗證介面,和正式訂單驗證介面 buy.itunes.apple.com 相區分,測試版 App 的 IAP 功能都是通過這個介面進行模擬驗證。所以如果沒有 IAP 功能,或者沒有解鎖 IAP,安裝測試版 App 是不會觸發彈窗的,但是一旦觸發彈窗,這個 Bug 就會彈到停不下來。

屏蔽域名之後彈窗就不會被驗證請求喚起,所以可以有效屏蔽彈窗。但是需要注意的是,如果有新的測試 App 需要激活 IAP 功能,需要暫時取消屏蔽以免激活失效。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 全球大搜羅 的精彩文章:

大學成了養老院?
嘉慶通寶今年價格又漲一倍,2018年走勢如何?

TAG:全球大搜羅 |