CoreTelephony eSIM 功能无法在设备上运行
CoreTelephony eSIM functions not working on device
我在现有 iOS 运营商应用程序中实施 eSIM 时遇到了一些问题。
设置
- 该应用程序已收到我的
public-cellular-plan
授权
了解是让我访问 eSIM 功能的权利
核心电话。
- 我已经在应用程序的目标中导入了 CoreTelephony 框架:
General > Frameworks, Libraries, and Embedded Content
,它被标记为 Do not Embed
,与 CoreData 等其他框架相同。
- 我已经在 class 中导入库进行调用
import CoreTelephony
- 我是 运行 通过 Xcode 在 iPhone XR 上使用正确配置文件的开发版本,它有一个数据计划处于活动状态,所以我确信它支持它。
问题
据推测,我现在应该可以使用 supportsCellularPlan
等 eSIM 功能,但不幸的是它似乎不起作用:
let provisioning = CTCellularPlanProvisioning()
let supportsESIM = provisioning.supportsCellularPlan()
print("\(supportsESIM)")
// This prints false but should be true as the XR supports eSIM
我也尝试过通过 TestFlight 使用分发配置文件,但结果相同。
关于我做错了什么有什么想法吗?
所以...经过多次尝试,我解决了这个小问题。
关于 supportsCellularPlan()
有两件事需要了解(当然还有 eSIM 权利)。
第一个:
您需要启用 WiFi 才能工作,因为它似乎需要连接到 Apple 进行一些检查。
第二个:
它要求 CarrierDescriptors
在您的 info.plist
中正确输入,因为它是承运人绑定的。
完成后,它应该会按预期工作。
CarrierDescriptors 示例:
<key>CarrierDescriptors</key>
<array>
<dict>
<key>MCC</key> //Mobile country code
<string>’mnc value’</string>
<key>MNC</key> // Mobile network code
<string>’mnc value’</string>
</dict>
</array>
您可以在此处找到正确的 MCC/MNC 值:https://www.mcc-mnc.com
顺便说一句,出于某种原因,它也适用于我,例如,当只有随机值“xxx”时。
但它需要在 plist 中。
我在现有 iOS 运营商应用程序中实施 eSIM 时遇到了一些问题。
设置
- 该应用程序已收到我的
public-cellular-plan
授权 了解是让我访问 eSIM 功能的权利 核心电话。 - 我已经在应用程序的目标中导入了 CoreTelephony 框架:
General > Frameworks, Libraries, and Embedded Content
,它被标记为Do not Embed
,与 CoreData 等其他框架相同。 - 我已经在 class 中导入库进行调用
import CoreTelephony
- 我是 运行 通过 Xcode 在 iPhone XR 上使用正确配置文件的开发版本,它有一个数据计划处于活动状态,所以我确信它支持它。
问题
据推测,我现在应该可以使用 supportsCellularPlan
等 eSIM 功能,但不幸的是它似乎不起作用:
let provisioning = CTCellularPlanProvisioning()
let supportsESIM = provisioning.supportsCellularPlan()
print("\(supportsESIM)")
// This prints false but should be true as the XR supports eSIM
我也尝试过通过 TestFlight 使用分发配置文件,但结果相同。
关于我做错了什么有什么想法吗?
所以...经过多次尝试,我解决了这个小问题。
关于 supportsCellularPlan()
有两件事需要了解(当然还有 eSIM 权利)。
第一个:
您需要启用 WiFi 才能工作,因为它似乎需要连接到 Apple 进行一些检查。
第二个:
它要求 CarrierDescriptors
在您的 info.plist
中正确输入,因为它是承运人绑定的。
完成后,它应该会按预期工作。
CarrierDescriptors 示例:
<key>CarrierDescriptors</key>
<array>
<dict>
<key>MCC</key> //Mobile country code
<string>’mnc value’</string>
<key>MNC</key> // Mobile network code
<string>’mnc value’</string>
</dict>
</array>
您可以在此处找到正确的 MCC/MNC 值:https://www.mcc-mnc.com 顺便说一句,出于某种原因,它也适用于我,例如,当只有随机值“xxx”时。 但它需要在 plist 中。