ios - IOS 限制对某些国家或 WLAN 的应用程序的访问
问题描述
我想开发一个仅在德国可用的应用程序。如果用户下载该应用程序并离开德国,它最好不再工作。这可能吗?
由于我只想知道用户当前所在的国家/地区,因此我不想询问整个位置。
此外,我想将某些内容限制在特定的 WLAN 网络中。我怎样才能做到这一点?
解决方案
您可以使用:
NSString *countryCode = [[NSLocale currentLocale] objectForKey: NSLocaleCountryCode];
获取用户的国家代码。德国的国家代码是 DE。
然后,您可以检查用户的国家/地区代码,如果不是 DE,则通过显示应用程序已锁定或类似内容的屏幕来锁定应用程序。
对于您问题的 WLAN 部分,您可以获得用户连接到的网络的名称:
此类将仅显示您连接到的 wifi 网络名称 -
import UIKit import SystemConfiguration.CaptiveNetwork class ViewController: UIViewController { @IBOutlet weak var label: UILabel! override func viewDidLoad(){ super.viewDidLoad() let ssid = self.getAllWiFiNameList() print("SSID: \(ssid)") } func getAllWiFiNameList() -> String? { var ssid: String? if let interfaces = CNCopySupportedInterfaces() as NSArray? { for interface in interfaces { if let interfaceInfo = CNCopyCurrentNetworkInfo(interface as! CFString) as NSDictionary? { ssid = interfaceInfo[kCNNetworkInfoKeySSID as String] as? String break } } } return ssid } }
您可以检查该类是否不等于预设类以阻止某些功能。
推荐阅读
- javascript - 如何在 codeigniter 中为同一个表创建动态/链接下拉列表
- python - 在本地加载 StanfordNLP 模型
- python - 在包含相同前缀和后缀的字符串列表中获取特定字符串
- android - 使用 BLE 扫描扫描过滤器
- step - 调用 Transfer() 时 Opencascade 崩溃
- bixby - 更新到 6.14 后模拟器中没有语音输出
- c# - c#从不同的类初始化静态变量
- angular - 为组件 AppComponent 指定的模板不是字符串
- vhdl - 在 VHDL 中,如何实现两个使用 PULLUP 驱动同一引脚的三态缓冲器?
- asp.net-mvc - 为什么我的 Sweetalert 一出现就消失了