我正在尝试在Info.plist文件中设置UIRequiredDeviceCapabilities属性。我的应用需要持久的网络连接。如果我查看“wifi”键的定义,它会说:
如果您的申请,请包含此密钥 需要访问网络 设备的功能。
所以:“wifi”键是否表示我需要WiFi,因为密钥名称会建议?或者这是否意味着我只需要网络访问,因为关键定义会建议?
答案 0 :(得分:6)
如果你相信Apple自己的(通常是模糊的)文档,在UIRequiredDeviceCapabilities中指定属性会导致在Apple的交付点(应用商店)进行过滤。因此,如果你指定'wifi',理论上非wifi设备将无法安装你的应用程序。但是,到目前为止所有的iDevices都支持wifi。
顺便说一句,UIRequiresPersistentWiFi 在某些方面直接与wifi有关。如果你将这个属性设置为true,那么从我自己的测试中我已经看到了:
或者,换句话说:如果没有设置此标志,您应用中通过wifi进行的通信似乎就会停止工作。或者有时您可以在您的ipod或ipad上启动您的应用程序并发现网络通信失败,即使启用了wifi并且您附近有一个好的热点。
令人遗憾的是,Apple的文档如此混乱和令人困惑。
答案 1 :(得分:2)
首先,UIRequiresPersistentWiFi
不仅仅适用于WiFi,而只是表明您的程序是网络应用程序并且将持续使用任何连接的方式。特别是苹果开发人员在网络编程上做了WWDC演示(去年,我认为)。
其次,所需设备功能的wifi
密钥似乎确实与WiFi有关。在中国推出的联通iPhone已关闭WiFi(但能够使用蜂窝连接连接到网络),我听说有wifi
密钥(或至少是)导致安装问题的报告。 / p>
答案 2 :(得分:1)
如果没有此键,iPhone将在一定量的不活动后禁用wifi。使用此键,可以为您的应用永久启用wifi。
答案 3 :(得分:0)
如果你需要持久的wifi,你应该使用密钥UIRequiresPersistentWiFi
。
UIRequiredDeviceCapabilities
键只会显示名称所指示的内容,指定您的应用需要设备具备哪些功能。无论是wifi,gps,磁力计等等。