我正在尝试在Info.plist文件中设置UIRequiredDeviceCapabilities属性.我的应用需要持久的网络连接.如果我查看"wifi"键的定义,它会说:
如果您的应用程序需要访问设备的网络功能,请包含此密钥.
那么:"wifi"键是否表明我需要WiFi,因为密钥名称会提示?或者这是否意味着我只需要网络访问,因为关键定义会提示?
如果您认为Apple自己(通常是模糊的)文档,在UIRequiredDeviceCapabilities中指定属性会导致在Apple的交付点(应用商店)进行过滤.因此,如果你指定'wifi',理论上非wifi设备将无法安装你的应用程序.但是,到目前为止所有的iDevices都支持wifi.
顺便说一句,UIRequiresPersistentWiFi 不涉及直接在某些方面与无线网络连接.如果你将这个属性设置为true,从我自己的测试中我已经看到:
当应用程序运行时,即使经过30分钟超时,仍然可以继续使用wifi通信
如果应用程序正在运行并且wifi无线电当前超时'关闭'(但启用了wifi),首先网络访问打开wifi无线电
如果应用程序正在运行且启用了wifi,但用户当前未加入任何接入点,则网络访问会导致系统提示符出现以加入其中一个接入点
或者,换句话说:如果没有设置此标志,您应用中通过wifi进行的通信似乎就会停止工作.或者有时您可以在您的ipod或ipad上启动您的应用程序并发现网络通信失败,即使启用了wifi并且您接近一个好的热点.
令人遗憾的是,Apple的文档如此混乱和令人困惑.