Je sais que l'exemple d'accompagnement permet de détecter si le réseau est accessible via WiFi ou une cellule, mais existe-t-il un moyen de déterminer si la connexion cellulaire est supérieure à 3G ou au bord? P>
5 Réponses :
Non, il n'existe pas de détection publique de la technologie de réseau dans la connectivité cellulaire. P>
Existe-t-il une référence pour mettre en œuvre notre API privée pour celle qui calculille les caractéristiques du réseau comme la latence et la bande passante du réseau connecté.
Utilisation d'API privées, vous pouvez lire ces informations directement dans la barre d'état.
https://github.com/nst/mobilesignal/blob/master/classes/uiapplication+ms.m p>
Vous voudrez probablement envelopper cela dans un @ try- @ Catch CODE> Block, qui semble pouvoir changer dans une future version iOS. +1 cependant, très gentil!
Est-ce accepté par Apple? Pour publier dans l'App Store ...?
La solution repose sur des API privées et c'est aussi une logique fragile pouvant se casser à tout moment.
En tant que NST déjà indiqué, cette méthode utilise effectivement des API privées qui ne seraient pas acceptées par Apple. Cette solution de contournement a été écrite en 2012 avant que l'option d'API publique présentée par Steipète n'était disponible. C'est vraiment ici maintenant à des fins historiques et ne devrait pas être utilisé.
@Jasonk. Quelle est l'alternative appropriée à cette méthode en utilisant Swift?
Version marginalement simplifiée du code NST pour Silence Compiler
Comment puis-je obtenir le statut lorsque l'application est en arrière-plan
Est-ce une API privée? Si oui, Apple sera rejeté? une idée?
La solution repose sur des API privées et c'est aussi une logique fragile pouvant se casser à tout moment.
à partir de iOS 7, il y a maintenant une façon publique de le faire: lisez plus sur P> P>
Y a-t-il un moyen simple comment incorporer une option wifi à cette solution?
Le problème est que parfois le rat a changé et que les notifications donnent null ...
Il y a une manière pour tester cela? sur le simulateur. J'ai essayé le conditionneur de liaison réseau, mais il simule que la vitesse et la notification n'est jamais tirée. Toute aide est la bienvenue
TéléphonieInfo.CurrentraDioAccessTechnologie Valeurs:
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyGPRS __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0); CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyEdge __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0); CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyWCDMA __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0); CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyHSDPA __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0); CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyHSUPA __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0); CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyCDMA1x __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0); CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyCDMAEVDORev0 __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0); CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyCDMAEVDORevA __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0); CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyCDMAEVDORevB __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0); CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyeHRPD __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0); CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyLTE __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);