Hallo,
bin neu in xcode und spiele damit noch rum und mache kleine apps für mich :)
Jetzt möchte ich ein einfaches App machen, dass mir einfach nur alle WLAN punkte in meiner umgebung Anzeigt.
Im developer vom Apple habe ich recht wenig darüber finden können (oder auch nich alles genug durchsucht).
Im moment weiss ich, dass es etwas mit der UIRequiresPersistentWiFi zutun hat.
Es soll eine Art WLAN Scan sein, aber ohne dass man zu diesen connecten kann, also nur eine Auflistung der momentanen Spots.
KisMac und iStumbler sind aber trotzdem eine gute Empfehlung, beide sind OpenSource! Empfehle iStumbler. Beide sind natürlich für OS X und nicht für iOS 4.
Denke als blutiger Anfänger (wie ich aus deinem Alias entnehme) dürfte es aber eine etwas gar schwere Aufgabe sein. Vielleicht mal mit etwas einfacherem beginnen und nur schon XCode mit dem Interface Builder beherrschen :-)
Also kismac und istrumbler sind von den Funktionen schon viel mehr als das was ich eingentlich ursprünglich vorhatte.
Habe eigentlich gedacht, dass es einer einfache Methode geben kann, die mir in einem label einfach nur eine Liste mit WLAN spots zeigt. Nicht mehr und nicht weniger. Die Anwendung soll nur scannen und anzeigen.
Dann schau Dir im Sourcecode von KisMact/iStumbler mal an, wie das gehen könnte. Falls es aber wirklich Dein erstes OSX/iOS-Programm ist, hast Du Dir einen recht steilen Einstieg gewählt.
Ich arbeite dran :)
Wie die meinungen hier ist es wirklich nicht so einfach, wie ich es mir vorgestellt habe. Weil in der API nichts über WLAN drin steht, ist von apple wohl so gewollt.
habe mich noch weiter umgeschaut, und auf einer seite folgenden quellcode gefunden.
WifiNetwork.h
#import <Foundation/Foundation.h>
#import <CoreFoundation/CoreFoundation.h>
#include <dlfcn.h>
@interface WifiNetwork : NSObject {
void *libHandle;
void *airportHandle;
int (*Apple80211Open)(void *);
int (*Apple80211BindToInterface)(void *, NSString *);
int (*Apple80211Close)(void *);
int (*Apple80211Associate)(void *, NSDictionary *, NSString *);
int (*Apple80211Scan)(void *, NSArray **, void *);
int (*Apple80211GetInfoCopy)(void *, void *);
}
+ (WifiNetwork *) getWifiNetwork; - (int) getInfo:(CFDictionaryRef *) infostruct;
@end
jetzt lese ich noch n paar bücher um mir ein besseres verständniss des codes zu machen.
wenn jemand damit mein ziel, einfach nur die namen der gefundenen wlan netzte anzeigen, erreichen kann wär ich sehr dankbar. :)
Das sind undokumentierte API-Calls! Für MacOSX gibt es eine Klasse namens CWInterface mit einer Methode scanForNetworksWithParameters, dummerweise scheint es die in iOS nicht zu geben.
An email to one developer from Apple stated that because “…There are no published APIs that provide the ability to manipulate the wireless connection or the show level of information regarding the wireless connection as demonstrated in the application….” their app was removed from the app store.
Naja, ich denke nur dass es “bessere” EInstiege in die Apps-Entwicklung gibt als einen WLAN-Finder. Ist aufgrund der undokumentierten APIs nun wirklich nicht das einfachste Thema….
Das mag wohl sein, ich habe die herkömlichen sachen ja auch schon gemacht, die überall als einstieg angeboten werden. Angefangen mit HelloWorld :)
Jetzt wollte ich etwas anderes versuchen. Und habe ehrlich nicht gedacht, dass es so schwierig sein könnte.
Aber nur weil es schwer ist kann ich is ja dennoch probieren. Die grundlagen verbessere ich weiter mit keinen beispielen aus diversen büchern.
und ja, ich haben diesen Artikel über die bannung der wifi apps schon vorher gelesen. da ich mein app nicht in den store laden möchte wird es wohl auch so gehen :)
über einen bekannten kann ich die sachen auch auf meinem iphone bringen. das reicht mir schon.
@xcodeneuling: aha, du wolltest tatsächlich für das iPhone die App schreiben! Dachte immer für OS X, sonst hätte ich dir den Link auch geben können ;-) Dort findest du ja alles für einen Scanner.
Natürlich müsstest du es in einer UITableView anzeigen lassen und nicht in einem Label ;-) Die Tabelle empfand ich am Anfang als sehr verwirrend gelöst im Vergelich z.B. zu C# oder VB. Deshalb vorher ein Beispiel anschauen.
Habe mit der Tabelle auch schwierigkeiten. Beispiele die ich habe benutzen alle eine .plist und bekommen von dieser die Daten für die Table. Wie ich das jetzt mit dem WLAN scanner mache weiss ich grade garnicht :(
Hättest du einen Ansatz oder eine Lösung für mich? Ich weiss das wenn ich es selber mache ich auch mehr davon lerne, aber im moment komme ich garnicht voran.
Versuchst ja auch gleich einen sehr hohen Berg zu erklimmen in Flip-Flops ;-) Versuch mal die Basics wie Knöpfe/Tabellen etc. Auch wenn es ein sinnloses Programm ist wirst du Freude haben wenn es läuft!
Grundsätzlich: die Tabelle fragt dich nach den Einträgen!
Folgende Methode fragt “dich” wie viele Einträge es gibt in der aktuellen Tabelle (hier gibt es 5):
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 5;
}
In der folgenden Methode fragt er dich dann nach jedem einzelnen Eintrag. Da wir bei der oberen Methode 5 angegeben haben, wird er die Methode 5x aufrufen:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
/* hier müssen wir die Zelle (der Eintrag) erstellen */
return cell;
}
Anmelden um neue Antworten zu verfassen
Allegra Leser! Nur angemeldete Nutzer können bei diesem Beitrag Antworten hinterlassen. Jetzt kostenlos registrieren oder mit bestehendem Benutzerprofil anmelden.
xcode WLAN Spots anzeigen
VonAntwort von xcodeneuling
Olivier
sierra2
flexo
xcodeneuling
pse
hirnstroem
flexo
xcodeneuling
pse
flexo
pse
xcodeneuling
flexo
xcodeneuling
flexo
Anmelden um neue Antworten zu verfassen
Allegra Leser! Nur angemeldete Nutzer können bei diesem Beitrag Antworten hinterlassen. Jetzt kostenlos registrieren oder mit bestehendem Benutzerprofil anmelden.