Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
294 views
in Technique[技术] by (71.8m points)

info.plist - My iPhone app needs a persistent network connection...how to specify UIRequiredDeviceCapabilities?

I'm trying to set the UIRequiredDeviceCapabilities properties in my Info.plist file. My app requires a persistent network connection. If I look at the definition for the "wifi" key, it says:

Include this key if your application requires access to the networking features of the device.

So: does the "wifi" key indicate that I need WiFi, as the key name would suggest? Or does it mean that I simply need network access, as the key definition would suggest?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

If you believe Apple's own (often vague) documentation, specifying properties in UIRequiredDeviceCapabilities causes filtering at Apple's point of delivery (app store). So if you specified 'wifi', in theory non-wifi devices wouldn't be able to install your app. However, all the iDevices so far support wifi.

Btw, UIRequiresPersistentWiFi does pertain to wifi directly in some ways. If you set this property to true, from my own tests I've seen that:

  • while the application is running the wifi comms will continue to be available even after 30 mins timeout has passed
  • if the app is running and wifi radio is currently timed out to 'off' (but wifi is enabled), first network access turns on wifi radio
  • if the app is running and wifi is enabled, but user is not currently joined to any access point, network access causes a system prompt to appear to join one of the access points

Or, to put it another way: without this flag set, communication over wifi in your app can just appear to stop working. Or sometimes you can launch your app on your ipod or ipad and find that network comms is failing, even though wifi is enabled and you are near a good hotspot.

It's sad that Apple's documentation is so muddled and confusing.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...