If you are as unlucky as I am, and your iPhone or iPad was freeze and you are unable you can resolve this by holding down the “Power button” and “Home button” for 5-10 sec to turn off and shows Apple logo.
here after your unit running again.
If you are as unlucky as I am, and your iPhone or iPad was freeze and you are unable you can resolve this by holding down the “Power button” and “Home button” for 5-10 sec to turn off and shows Apple logo.
here after your unit running again.
Har installeret iOS 4.3 beta på både min iPad WiFi og iPhone 4, det første jeg ville se i denne version var den nye feature som er “Personal hotspot” som gør det muligt at min iPhone 4 kan benyttes som “WiFi router” hvor min iPad WiFi kan connecte til, på den måde slipper jeg nu for at skifte min iPad WiFi ud med en iPad 3G+WiFi.
Jeg bed mærke i da jeg hente iOS 4.3 beta at iPhone 3G ikke længere vil modtage opdateringere, så den sidste iOS version til iPhone 3G er iOS 4.2, så har du stadig en iPhone 3G vil jeg anbefalde at skifte den ud hvis du ønsker den nye funktion.
Ud over “Personal hotspot” har jeg ikke bit mærke i andet nyt, så har du fundet en funktion jeg ikke har set så sig gerne til, så jeg kan se hvad der ellers er i iOS 4.3 beta udgaven.
Jeg har nu anskaffet mig en iPad wifi med 32gb og kan kun rose denne enhed, dog savner jeg utroligt meget iOS4 men den skulle være på vej efter flere rygtere og er blevet spåttet til nov. 2010 men lad os nu se :0)
Når det er sagt vil jeg også fortælle at jeg er klar til at udforkse iPad platformen med hensyn til udvikling, dog vil jeg også indrømme at udvikling til både iPad og iPhone er lidt svære end jeg havde forventet men hvad lære man af det? at man ikke skal være så stor i kæften ;)
Men det bliver sjovt at prøve krafter af med Objectiv-C kodesprog og iOS platformen, håber også på at kan lære eller det kan jeg men også inden for overskulig fremtid at kode til Mac OSX platformen, er utorligt imponeret over Objectiv-C kodesproget.
Skulle du side med idéer til små og sjove proejkter jeg kunne tage hul på for at lære dette sprog så kom enligt med din idé kan jo være jeg vælger idéen for at prøve kode et projekt. :)
Hvis du er en af dem der ønsker at få lidt mere infomartion ud af brugeres iPhone, kan du bruge UIDevice som er en del af iPhone frameworket.
Med dette framework har du mulighed for at hente bla. serie nummer, navnet på iphonen og enhedstype, eks. iPhone, iPad eller iPod touch.
Start derfor med at lav dit UIDevice object
[code]UIDevice *myCurrentDevice = [UIDevice currentDevice];[/code]
Når det er gjort er du klar til at rode med dit UIDevice object, for at se om du har gjort det rigig prøv at brug NSLog og se om du får dit data ud.
[code]NSLog( @"%@ is an %@ and have serialnumber: %@", [myCurrentDevice name],
[myCurrentDevice model],
[myCurrentDevice uniqueIdentifier]);[/code]
Ønsker du at vide hvordan du connecter til din database SQLite som bruges på iPhone platformen, så er der nogle ting du skal have på plads inden du går vider for at oprette, slette og udtrække data.
Det er nermlig selve forbindlsen til din SQLite database, for at kunne bruge SQLite på iPhone kræver det at du har SQLite3 frameworket tilføjet til dit projekt, filens navn er “libsqlite3.0.dylib” som du skal tilføje.
Efter det skal du tilføje følge linje i din .h fil hvor du vil benytte SQLite.
1 | import "sqlite3.h" |
Gå ned til din funktion viewDidLoad og tilføj følge kode.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | /// Open database
UIAlertView *view;
sqlite3 *database;
int result = sqlite3_open("path-til-din-db", &database);
// If database fail to open.
if( result != SQLITE_OK )
{
NSLog(@"Database connect fail!");
sqlite3_close(database);
view = [[UIAlertView alloc]
initWithTitle: @"Database Error"
message: @"Failed to open database."
delegate: self
cancelButtonTitle: @"Hrm." otherButtonTitles: nil];
[view show];
[view autorelease];
return;
NSArray *array = [[NSArray alloc] initWithObjects: nil];
self.listData = array;
[array release];
}
else
{
// make my stuff from database.
} |
Det vi gør her er at vi bruger sqlite3_open til at åbne vores forbindlse med derefter sprøger vi så vores forbindlse om alt gik godt med SQLITE_OK hvis det ikke går som forventet altså at vi ikke bliver connectet bliver der vist en alert på vores skræn ved hjælp af UIAlertView går alt godt og vi vil forsætte så kommer der ingen alert frem på vores skærm.
Håber det var forståligt og brugbart.
Når der skal arbejdse med UITableView er det en god idé at vide hvordan det basic fungere inden der tænkes for meget i “hvordan får jeg database indhold puttet ind” , “hvordan retter jeg mine felter” og den slaks det er nået vi alle kender som er udvikler.
Når man først ser en mulighed vil men pluslig gerne vide de 10 andre mulighedere med det samme inden man faktisk forstår grund prencippet i det man laver.
Start med at åbne Xcode 4 og opret et nyt projekt klad dette “TableView” og vær sikker på at “Use Core Data” ikke er klikket af.
Start med at åbne din RootViewController.h fil og få den til at se ud som min.
1 2 3 4 5 6 7 8 | @interface RootViewController : UITableViewController {
NSArray *listData;
}
@property (nonatomic, retain) IBOutlet NSArray *listData;
@end |
Nu går du ind i din RootViewController.m fil.
indsæt @synthesize listData; efter din @implementation RootViewController linje hvor efter vi skal starte med at lave vores test array som skal bruges sener.
Gå til -(void)viewDidLoad og skriv følge inden i denne funktion
1 2 3 4 5 | NSArray *array = [[NSArray alloc] initWithObjects: @"Sleppy", @"Sneezt", @"Bashful", nil]; self.listData = array; [array release]; |
Det vi gør her er at vi definere et array hvor vi efterfulgt putter 3 objeckter i vores array, til sidst knytter vi vores array til vores listData array hvor vi så releaser vores array vi selv har lavet.
Slet nu disse linjer
1 2 3 4 | - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
} |
Nu skulle du gerne have denne funktion tilbage lige neden under
1 2 3 | - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
....
} |
Gå ind i den og skriv følge
1 | return [self.listData count]; |
Når det er gjort går du til – (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { … } funktionen som gerne skal se sådan ud.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
// Configure the cell...
NSUInteger row = [indexPath row];
cell.textLabel.text = [listData objectAtIndex:row];
return cell;
} |
Du skulle genre kun tilføje disse 2 linjer
1 2 3 | // Configure the cell... NSUInteger row = [indexPath row]; cell.textLabel.text = [listData objectAtIndex:row]; |
for at få det til at fungere, gem dit projekt og prøv at kør programmet, når du tester programmet skal det gerne se ud som dette billede.
Nogle af jer ved at jeg allerede er i gang med at lære at udvikle til iPhone hvor kode sproget er Objectiv-C der bliver benyttet her.
For at udvikle et iPhone App skal der her bruges Xcode som primat, med Xcode kan der også udvikles programmer til OSX og til iPad.
Det første man altid lære er at skrive en “Hello world” program, dette har jeg naturligvis også lært her til iPhone, mennn jeg syndes lige vi spriger det step over hvor jeg heller give nogle fif når jeg kommer længere i min udvikling, håber at alle kikker med her og evt. kommentere mine indlæg.
igår kl. 19.30 blev iPhone OS 3.0 klar til at jeg kunne hente den, jeg har nu kørt med det nye OS i en halv døgns tid efterhåden og det jeg er mest imponert er at jeg kan sende MMS nu, og så kan jeg kopi/paste og søge rundt i min iPhone ang. indhold.
Jeg er dog lidt utilfræs med at man ikke kan søge ornligt i ens sms’er når man har ca. 200 til 300 stk. og man leder efter nået tekst, det burdte de ha tænkt på.
Den burdte ha været hurtigere men syndes ik jeg kan mærke det sådan rigtig endnu, men måske jeg bare ha tvunget min iPhone til formeget.
En anden ting som også er super fed i OS 3.0 er at jeg nu kan flippe mit SMS view når jeg skriver sms’er og æ, ø og å er nu på keybordet isted for at den er under eks. a hvor å skal ligge og ø under o osv, det er super fedt syndes jeg.
så i helhed vil jeg nu sige at OS 3.0 burdte ha været OS 1.0 men sådan er det vel altid når nogle fede ting kommer så sku det ha været der fra starten.
Efter jeg købte min første MacBook har det kun gået frem af med at få alt mit udstyr der hjemme udskiftet til Apple produkter, det har slf taget lidt tid men sådan som det ser ud i dag har jeg følgene udstyr her hjemme.
iMac 20″ ( 2,4ghz core2duo, 240gb hd, 4gb ram og 128mb GDDR3 gfx kort ) + 24″ extern skærm fra Samsung
MacBook Air
AirPort Express ( musik stream )
AirPort Extreme ( wifi router + indgang til USB så jeg kan bruge timemaschine dirake via wifi )
iPhone 16gb ( mobil telefon )
MacMini G4 – 1,25ghz ( bruges til mit 40″ Plasma TV som DVD og Film center )
Efter dette er jeg rigtig godt til fres med det udstyr jeg pt. og har aldrig fortrut at jeg har skifte alt dette til Mac hvor jeg før i mange år har kørt med PC + Windows, for tiden udvikler jeg bare som gal og der skal mit system altså bare være stabil og i den tid jeg har haft Mac har jeg kun haft problemer med nået varme problem som der var i den gamle MacBook har aldrig haft problemer med OSX :) så er rigtig godt tilfræs må jeg sige.