Hauptmenü

Werkzeuge

Kategorien

Archiv

Lautstärke der IPod App aus eigener App beeinflussen

Erstellt in IPhone SDK am 27. August 2011 vom Daschmi

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];

Wie man das ganze auf einem Android Gerät umsetzt habe ich hier beschrieben.

Anzeige von Geschwindigkeit und Längen- und Breitengrad

Erstellt in IPhone SDK am 26. August 2011 vom Daschmi

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.

Wie man das ganze auf einem Android Gerät umsetzt habe ich hier beschrieben.

Debug einer App auf der Konsole

Erstellt in IPhone SDK am 23. August 2011 vom Daschmi

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));

Mail aus eigener App versenden

Erstellt in IPhone SDK am 20. August 2011 vom Daschmi

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.

String einnerhalb eines Strings ersetzen

Erstellt in IPhone SDK am 6. August 2011 vom Daschmi

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“.