使用 Swift 或 Objective-C 在 iOS 中以编程方式启用个人热点

Enable personal hotspot programatically in iOS using Swift or Objective-C

提问人:Hussain Shabbir 提问时间:10/24/2022 最后编辑:Hussain Shabbir 更新时间:5/11/2023 访问量:671

问:

我正在寻找一种使用 Swift 或 Objective-C 在 iOS 中以编程方式启用个人热点的方法,但没有看到任何 API 或实现该目标的方法。

我的问题是,这甚至有可能做到这一点吗?

苹果允许吗?

此外,根据 Apple 开发人员文档 HotSpot Helper,我们可以实现哪些控制?

Hotspot Communication
Hotspot helpers can use these APIs to communicate with the hotspot even when Wi-Fi is not the default route.

func bind(to: NEHotspotHelperCommand)
    Binds a URL request to the network interface associated with the hotspot helper command instance.
    In-Provider Networking
    Network APIs for use by all types of NetworkExtension providers and by hotspot helpers.
iOS版 Swift Objective-C Cocoa-Touch

评论

5赞 Code Different 10/24/2022
不。它没有公共 API,developer.apple.com/forums/thread/113933
0赞 Hussain Shabbir 10/24/2022
@CodeDifferent,只是Curios,这个链接是关于 developer.apple.com/documentation/networkextension/ 的......Apple 开发者文档 ??
3赞 esqew 10/24/2022
“热点”是一种特殊类型的网络,它要求用户在被授予访问更广泛的 LAN 或 Internet/WAN 的权限之前通过身份验证插页式广告。虽然名称相似,但这与您似乎所追求的个人热点功能不同
0赞 Hussain Shabbir 10/27/2022
@esqew,是否有访问私有 API 的权利?
0赞 Rob Napier 11/2/2022
如果有这样的权利,您需要与Apple讨论。他们对特定的第三方产品有许多特殊情况的权利。如果您有特别迫切的要求,那么他们可能会为您提供帮助。我会先打开一个DTS(现在显然称为TSI?)与他们讨论。这里没有人能告诉你苹果会在私人交易中允许你做什么,但基于公开可用的工具,你的问题的答案是“不”。

答:

3赞 Pushkraj Lanjekar 10/25/2022 #1

Apple 不提供任何 API 来打开/关闭个人热点。相反,您无法通过代码更改任何用户设置。您只需从应用程序中打开设备视图即可。Settings

Apple 的隐私政策不允许您这样做。

6赞 user20384561 11/2/2022 #2

这是不可能的。来自 Apple 的论坛:

无法以编程方式执行此操作。您可以使用 获取 iOS 设备的当前 Wi-Fi 网络 SSID,但无法获取相应的凭据。CNCopyCurrentNetworkInfo

如果 iOS 确实允许这样做,这将是隐私和安全风险。也没有私有 API 可以执行此操作。然而,正如 Pushkraj Lanjekar 所说,

您只需从应用程序中打开设备视图即可。Settings

无法以编程方式控制 iOS 设备上的个人热点。 但是,此 Apple 论坛链接可能会有所帮助;https://developer.apple.com/forums/thread/113933