ios 為什么在運行集成 RTC SDK 的 iOS app 時會看到查找本地網(wǎng)絡(luò)設(shè)備的彈窗提示?

iOS 系統(tǒng)版本升級至 14.0 版本后,用戶首次使用集成了聲網(wǎng) iOS 語音或視頻 SDK 的 app 時會看到查找本地網(wǎng)絡(luò)設(shè)備的彈窗提示。默認彈窗界面如下圖所示:

image

問題原因

iOS 14.0 版本新增了關(guān)于本地網(wǎng)絡(luò)設(shè)備的隱私權(quán)限,app 需要向用戶獲取 Privacy - Local Network Usage Description 權(quán)限,才能訪問用戶的本地網(wǎng)絡(luò)設(shè)備。

3.1.2 之前版本的 iOS 語音或視頻 SDK 會檢測客戶端與用戶本地網(wǎng)關(guān)連通質(zhì)量,并通過 reportRtcStatsgatewayRtt 參數(shù)報告客戶端到本地路由器的往返延時。iOS 系統(tǒng)將該連通性檢測判斷為查找本地網(wǎng)絡(luò)設(shè)備。因此,雖然 app 不會連接用戶本地網(wǎng)絡(luò)上的任何設(shè)備,但用戶首次使用 app 時會看到查找本地網(wǎng)絡(luò)設(shè)備的彈窗提示。

解決方案

方案 1. 使用 3.1.2 及以上版本 SDK

聲網(wǎng)在 3.1.2 版 iOS SDK 中關(guān)閉了本地網(wǎng)絡(luò)連通質(zhì)量報告功能,如果你的業(yè)務(wù)不依賴該功能,聲網(wǎng)建議你選擇此方案。

在你的 app 中集成 3.1.2 及以上版本 SDK,用戶使用 app 時就不會看到查找本地網(wǎng)絡(luò)設(shè)備的彈窗提示。自 3.1.2 版本起,reportRtcStatsgatewayRtt 參數(shù)會失效(值恒為 -1),請不要使用該參數(shù)獲取客戶端到本地路由器的往返延時。

方案 2. 修改項目權(quán)限描述[](javascript:;)

如果你的業(yè)務(wù)需要獲取客戶端到本地路由器的往返延時,聲網(wǎng)建議你選擇此方案。

在你的 app 中集成 3.1.2 以下版本 SDK,用戶在 iOS 14.0 設(shè)備上首次使用 app 時看到的彈窗提示默認為:此 App 將可發(fā)現(xiàn)和連接到您所用網(wǎng)絡(luò)上的設(shè)備。聲網(wǎng)建議你結(jié)合你的業(yè)務(wù)需求修改彈窗提示內(nèi)容,修改步驟如下:

  1. 打開 Xcode 項目,在 info.plist 文件中,點擊 + 圖標(biāo)添加 Privacy - Local Network Usage Description。
  2. 結(jié)合你的業(yè)務(wù)需求,在 Privacy - Local Network Usage DescriptionValue 欄中填寫獲取本地網(wǎng)絡(luò)設(shè)備權(quán)限的目的。例如:此 app 不會連接到您所用網(wǎng)絡(luò)上的設(shè)備,只會檢測與您本地網(wǎng)關(guān)的連通性。
    image

修改后,用戶首次使用 app 時收到的彈窗界面如下圖所示:


image
  • 如果用戶點擊,app 可以通過 reportRtcStatsgatewayRtt 參數(shù)獲取客戶端到本地路由器的往返延時。
  • 如果用戶點擊不允許reportRtcStatsgatewayRtt 參數(shù)會失效(值恒為 -1),app 無法通過該參數(shù)獲取客戶端到本地路由器的往返延時。

用戶也可以在 iOS 設(shè)備的設(shè)置->隱私->本地網(wǎng)絡(luò)界面修改 app 的權(quán)限設(shè)置。

相關(guān)鏈接

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容