我想在不詢問位置的情況下獲取用戶當前的國家/地區。所以我想使用 CTCarrier類屬性isoCountryCode。要訪問CTCarrierI'm using serviceSubscriberCellularProviders,它會回傳“包含有關每個服務的運營商資訊的字典”。
https://developer.apple.com/documentation/coretelephony/cttelephonynetworkinfo/3024511-servicesubscribercellularprovide。
現在,當我查詢serviceSubscriberCellularProviders它回傳 2 個物件 -nil大概是我的家庭蜂窩服務提供商。
let networkInfo = CTTelephonyNetworkInfo()
let dictionary = networkInfo.serviceSubscriberCellularProviders;
for (type, value) in dictionary ?? [:] {
let country:String? = value.isoCountryCode == nil ? "nil" : value.isoCountryCode;
print("serviceSubscriberCellularProviders: " country!)
}
如果我在國外并連接到漫游服務提供商,我是否仍會獲得兩個物件 - 家庭和現在而不是nil- 漫游服務提供商?并且漫游服務提供商內部屬性isoCountryCode會回傳漫游服務提供商的實際國家/地區嗎?
isoCountryCode檔案讓我感到困惑......家庭蜂窩服務提供商到底是什么?假設我住在法國,我的服務提供商當然來自法國 -isoCountryCode會回傳"FR"。現在,如果我去德國度假 - 現在isoCountryCode會回傳什么?還是相同的“FR”或“DE”?
uj5u.com熱心網友回復:
正如檔案所解釋的:
筆記
在這種情況下,“家庭”提供商是用戶擁有蜂窩計劃的提供商,而不是漫游提供商。
因此,如果您的家庭提供商在法國,您將始終獲得 FR,即使在漫游時也是如此。
有兩個可能值的原因是 iPhone 現在最多支持兩個 sim;一個物理 SIM 和一個 e-SIM,因此一部手機上可能有兩個不同的蜂窩提供商。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/451938.html
上一篇:Bootstrap5nav-scroller-向下滾動頁面時如何在導航欄下保持螢屏
下一篇:界面生成器不遵守安全區域對齊約束
