Export to GitHub

iphone-wireless - issue #26

Apple80211 gone from 3.0b2


Posted on Apr 4, 2009 by Grumpy Ox

Apple have replaced Apple80211 with something called MobileWiFi which has completely different methods. e.g.

_WiFiManagerClientCreate _WiFiManagerClientScheduleWithRunLoop _WiFiManagerClientSetType _WiFiManagerClientCopyDevices _WiFiDeviceClientRegisterPowerCallback _WiFiDeviceClientRegisterLinkCallback _WiFiDeviceClientGetInterfaceName _WiFiManagerClientCopyProperty _WiFiDeviceClientScanAsync static void CLWifiService::onWiFiDeviceClientScanCallback(__WiFiDeviceClient*, const __CFArray*, WiFiError, void*) // (used in locationd)

I can't figure out the params to the create method right now.

Comment #1

Posted on Apr 13, 2009 by Swift Hippo

i've also noticed this, and i could not get access on the beta 2 yet :(

Comment #2

Posted on Apr 13, 2009 by Grumpy Ox

You need a special entitlement now, I wonder if Apple plan to sell it?

Comment #3

Posted on Apr 13, 2009 by Quick Hippo

What do you mean, special entitlement... how do you know that?

Comment #4

Posted on Apr 13, 2009 by Grumpy Ox

Comment deleted

Comment #5

Posted on Apr 14, 2009 by Grumpy Monkey

Can I ask how to do it? I've been trying to implement WiFi-scan application on 3.0.

Comment #6

Posted on May 12, 2009 by Grumpy Ox

Comment deleted

Comment #7

Posted on Jun 4, 2009 by Happy Elephant

It must be possible, since you just updated WiFiFoFum to be 3.0 compatible ;-)

Comment #8

Posted on Jun 20, 2009 by Helpful Elephant

It is possible... It is even trivial. If you have an app for 2.2.1 that uses the Apple80211.framework, the fix is so easy you'll slap yourself on the back of the head for 10 minutes... :-)

Change this line: libHandle = dlopen("/System/Library/PrivateFrameworks/Apple80211.framework/Apple80211", RTLD_LAZY);

To This line:

libHandle = dlopen("/System/Library/SystemConfiguration/WiFiManager.bundle/WiFiManager", RTLD_LAZY);

Leave everything else the same, and enjoy. You'll notice that there are some minor differences in the data you get back, but, for the most part, everything should work the same, and your app should start to function again using 3.0. This has been tested on 3.0GM.

Enjoy.

Comment #9

Posted on Jun 29, 2009 by Quick Monkey

Hi guys,

I have some problem implementing wifi scanning.

when the code reaches: open(libhandle,&airporthandle);

there will be an error:

Exception Type: EXC_BAD_ACCESS (SIGBUS) Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000000 Crashed Thread: 0

Application Specific Information: iPhone Simulator 3.0 (138), iPhone OS 3.0 (7A341)

Please help me,thank you.

Comment #10

Posted on Jun 29, 2009 by Quick Monkey

Comment deleted

Comment #11

Posted on Jun 29, 2009 by Grumpy Monkey

You cannot run it on simulator. dlopen returns NULL. I confirmed wifi scanning works on both iPhone 3G (OS 3.0) and 3GS.

Comment #12

Posted on Jun 30, 2009 by Quick Monkey

Yuuichi, thanks for your response.

I tried to run in the device(3.0) but it stll shows EXEC ERROR.

Comment #13

Posted on Aug 28, 2009 by Happy Bear

hoopsanity, first confirm that you are using all functions properly and check the handle value too. It is working for me smoothly in the device(3.*).

Best of luck.

Comment #14

Posted on Oct 29, 2009 by Helpful Wombat

hi, i'm newbie for iphone dev., i have task to get wifi info such as ssid, signal strength and so on, when i search i get about stumbler, i get the source code and try to implement into xcode, but getting error, can i import the src into xcode and what are the settings i need to do, i would like to know the steps to import the stumbler src so its can work on device 3.1.2,

i'm using mac os 10.5.8 with xcode ver 3.1.4 and ipod touch 2g 3.1.2

is it any possible to run this stumbler on my ipod

thanks

Comment #15

Posted on Nov 6, 2009 by Grumpy Dog

i change to the following libHandle = dlopen("/System/Library/SystemConfiguration/WiFiManager.bundle/WiFiManager", RTLD_LAZY);

and install in my ipod touch 3.1.2, application install but when launch it, it crash, do i have only as the above or do have modify any handle,

open = dlsym(libHandle, “Apple80211Open”); bind = dlsym(libHandle, “Apple80211BindToInterface”); close = dlsym(libHandle, “Apple80211Close”); associate = dlsym(libHandle, “Apple80211Associate”); scan = dlsym(libHandle, “Apple80211Scan”);

is the above functions still same for new WiFiManager.bundle, can anyone help me

Comment #16

Posted on May 24, 2010 by Massive Rhino

I'm not sure if I'm doing this right, but I tried simply copying the files Apple80211/Apple80211.h and Apple80211/main.c into my XCode project, but when I ran it it said it cannot find some bundle called Aeropuerto. Am I doing something wrong?

Status: New