8
votes

Détermination du bord 3G vs

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?


0 commentaires

5 Réponses :


0
votes

Non, il n'existe pas de détection publique de la technologie de réseau dans la connectivité cellulaire.


1 commentaires

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é.



10
votes

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 xxx


5 commentaires

Vous voudrez probablement envelopper cela dans un @ try- @ Catch 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?



14
votes

Version marginalement simplifiée du code NST pour Silence Compiler

  • 0 = pas de wifi ou de cellulaire
  • 1 = 2g et plus tôt? (non confirmé)
  • 2 = 3G? (pas encore confirmé)
  • 3 = 4g
  • 4 = LTE
  • 5 = wifi

  • 3 commentaires

    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.




    8
    votes

    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);
    


    0 commentaires