Daschmi's Notitzblog

27 Aug

Lautstärke der IPod App aus eigener App beeinflussen

Erstellt in IPhone SDK am 27.08.11

Um die Lautstärke der IPod App aus einer eigenen App zu ändern kann folgender Code verwendet werden.
Zu erst muss das Framework MediaPlayer.framework eingebunden werden. Dann muss in der .h Datei die MediaPlayer/MPMusicPlayerController.h” Datei eingebunden werden.

#import "MediaPlayer/MPMusicPlayerController.h"

Anschließend kann mittels setVolume die Lautstärke beeinflusst werden. Das folgende Beispiel setzt die Lautstärke auf “Stumm”.

[[MPMusicPlayerController iPodMusicPlayer] setVolume:0];

Keine Kommentar »

26 Aug

Anzeige von Geschwindigkeit und Längen- und Breitengrad

Erstellt in IPhone SDK am 26.08.11

Damit man in einer App die Längen- und Breitengrade auslesen kann muss als erstes das CoreLocation.framework in das Probjekt integriert werden.

Die Delegate Klasse kann dann z.B. in der viewDidLoad Methode gesetzt werden:

- (void)viewDidLoad {

    CLLocationManager *locationManager;

    locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self;
    locationManager.desiredAccuracy = kCLLocationAccuracyBest;
    [locationManager startUpdatingLocation];

}

Um Änderungen der Geschwindigkeit und Position auszulesen muss das Interface CLLocationManagerDelegate implementiert werden. Anschließend muss folgende Methode definiert werden.

-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {

    CLLocationCoordinate2D here =  newLocation.coordinate;
    NSLog(@"Position: %f  %f ", here.latitude, here.longitude);
    NSLog(@"Geschwindigkeit: %f", newLocation.speed); 

}

Zu beachten ist noch, dass das ganze nur auf dem IPhone funktioniert. Im Simulator habe ich keine Möglichkeit gefunden eine Bewegung zu simulieren.


Keine Kommentar »

23 Aug

Debug einer App auf der Konsole

Erstellt in IPhone SDK am 23.08.11

Möchte man innerhalb einer App bestimmte Variablen debugen so kann man den Debuger verwenden oder man nutzt die Ausgabe auf der Konsole. So lassen sich zum Beispiel die Reihenfolge für manche Events bestimmen. Für die Ausgabe von Strings (NSString) gibt es die Funktion NSLog, dies sieht dann z.B. so aus:

NSLog(@"Ausgabe");

Für die Ausgabe von CGRect Objekten kann man die Funktion NSStringFromCGRect verwenden:

NSLog(@"%@", NSStringFromCGRect(self.frame));

Keine Kommentar »

20 Aug

Mail aus eigener App versenden

Erstellt in IPhone SDK am 20.08.11

Um eine Mail aus einer eigenen App zu verwenden kann der MFMailComposeViewController aus dem IPhone SDK verwendet werden.

Hier ein Beispiel:

MFMailComposeViewController *mailController = [[MFMailComposeViewController alloc] init];
mailController.mailComposeDelegate = self;
[mailController setSubject:@"Ihre Betreff"];
[mailController setMessageBody:strMailtext isHTML:NO];

[self presentModalViewController:mailController animated:YES];
[mailController release];

Der Text der Mail steht in der Variablen strMailtext und wird über die Methode setMessageBody übergeben.

Was nach dem Beenden des Mailprogrammes passiert kann über die zugeordnete Delegate Klasse geregelt werden. Dazu muss die Klasse das Interface MFMailComposeViewControllerDelegate implementieren und folgende Methode definieren:

- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error {

	if (result == MFMailComposeResultSent) {
		[LBGApp alert:@"Mail wurde versendet."];
	}

	[self dismissModalViewControllerAnimated:YES];

}

Damit das ganze dann auch in Deutsch ist muss in der .plist Datei der Schlüssel “Localization native development region” auf “Germany” stehen und der Simulator entsprechend konfiguriert sein.

Das entsprechende Framework MessageUI.framework muss der Applikation hinzugefügt werden.


2 Komentare »

06 Aug

String einnerhalb eines Strings ersetzen

Erstellt in IPhone SDK am 06.08.11

Um eine Zeichenkette oder ein einzelnes Zeichen innerhalb einer Zeichenkette zu ersetzen kann folgender Code verwendet werden:

[strZeichenkette stringByReplacingOccurrencesOfString:@"###PLATZHALTER###" withString:@"Neuer Text"];

Das Beispiel ersetzt die Zeichenkette ###PLATZHALTER### innerhalb der Zeichenkette strZeichenkette durch die Zeichenkette “Neuer Text”.


Keine Kommentar »

31 Jul

URL mittels Safari aus App öffnen

Erstellt in IPhone SDK am 31.07.11

Um im Iphone eine URL im Safari aufzurufen kann folgender Code aus einer App verwendet werden:

NSURL *url = [NSURL URLWithString:@"http://lbg-gmbh.de"];
[[UIApplication sharedApplication] openURL:url];

Keine Kommentar »

31 Jul

Datei in String einlesen

Erstellt in IPhone SDK am 31.07.11

Um den Inhalt einer Date in eine Variable vom Typ NSString einzulesen kann folgender Code verwendet werden:

	NSString *strFile = [[NSBundle mainBundle] pathForResource:@"Dateiname" ofType:@"html"];
	NSData *dataMailtext = [NSData dataWithContentsOfFile:strFile];
	NSString *strDateiinhalt = [[NSString alloc] initWithData:dataMailtext encoding:NSUTF8StringEncoding];

Keine Kommentar »

31 Jul

Alert Fenster mit dem IPhone SDK

Erstellt in IPhone SDK am 31.07.11

Um ein Hinweisfenster mit einem Hinweistext zu erstellen kann folgende Funktion genutzt werden:

- (void)alert:(NSString *)meldung {
UIAlertView *alert = [UIAlertView alloc];
[alert initWithTitle:@"Titel" message:meldung delegate:nil cancelButtonTitle:nil otherButtonTitles:@"Ok", nil];
[alert message];
[alert show];
[alert release];
}

Keine Kommentar »

29 Jul

Vergleich von zwei Zeichenketten

Erstellt in IPhone SDK am 29.07.11

Um zwei Zeichenketten zu vergleichen muss folgende Funktion aus NSString verwendet werden:

[strZeichenkette1 isEqualToString:strZeichenkette2]

Keine Kommentar »

29 Jul

Zahlen nach String casten und ausgeben

Erstellt in IPhone SDK am 29.07.11

Um eine Zahl in einem String auszugeben kann die Funktion stringWithFormat der Klasse NSString verwendet werden.

NSString text = [NSString stringWithFormat:@"%.2f", dValue];

Siehe auch Dokumentation

Eine Funktion, die einen double Wert als String ausgibt könnte z.B. so aussehen:


- (NSString *)format:(double)dValue nStellen:(int)nStellen {

 NSString *strOut = [NSString stringWithFormat:[NSString stringWithFormat:@"%%.%if", nStellen], dValue];
 return strOut;

}

Keine Kommentar »