Je reçois l'erreur suivanteQu'est-ce qui provoque l'erreur "EXC_BAD_ACCESS" lors de l'obtention d'informations wifi?
Programme signal reçu: « EXC_BAD_ACCESS ».
avertissement: check_safe_call: impossible de restaurer l'image en coursavertissement: Impossible de restaurer la trame précédemment sélectionnée.
avertissement: Impossible de restaurer la trame précédemment sélectionnée.
Mon application est d'obtenir des informations wifi
libHandle = dlopen("/System/Library/PrivateFrameworks/ MobileWiFi.framework/MobileWiFi",RTLD_LAZY);
open = dlsym(libHandle, "Apple80211Open");
bind = dlsym(libHandle, "Apple80211BindToInterface");
close = dlsym(libHandle, "Apple80211Close");
scan = dlsym(libHandle, "Apple80211Scan");
open(&airportHandle);
bind(airportHandle, @"en0");
Lorsque le code atteint open(&airportHandle)
, je reçois l'erreur mais je ne suis pas sûr parce qu'à cette ligne, il arrête.
Comment puis-je résoudre ce problème?
Notez que MobileWifi est un cadre privé, et l'utilisation d'un tel cadre dans une application d'expédition est très mauvaise idée. Apple semble même utiliser un analyseur statique pour éliminer les appels API privés dans les applications soumises maintenant. –
[Cet article de blog] (http://www.codza.com/how-to-debug-exc_bad_access-on-iphone) semble couvrir le problème. – Suppressingfire