iCulture forum | iPhone, iPad,  iPod touch, Apple TV en iOS

iCulture forum | iPhone, iPad, iPod touch, Apple TV en iOS (https://forum.iculture.nl/)
-   Ontwikkelen voor iOS (https://forum.iculture.nl/f133/development/f58/ontwikkelen-voor-ios/)
-   -   Mail.app openen (https://forum.iculture.nl/f133/development/f58/ontwikkelen-voor-ios/22124-mail-app-openen.html)

BadSide 20-09-08 14:32

Mail.app openen
 
Hi,

Hoe kan ik vanuit mijn applicatie Mail.app openen, maar met een eigen in te vullen odnerwerp, enz?

Ik heb nu dus dit:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto:email@email.com?subject=Hello"]];
Maar email@email.com en Hello wil ik als variabelen, dus %@, maar dat is met URLWithString niet toegestaan. StringWithFormat of URLWithFormat of iets dergelijks werkt allemaal niet.

Update: En is het trouwens ook mogelijk om zelf Mail.app in de simulator toe te voegen? Want ik kan het nu ook niet testen, want Mail.app ontbreekt.

Update: Ondertussen heb ik deze code bij elkaar 'verzamelt':
Code:

Url = [NSString stringWithFormat:@"mailto:%@?subject=%@&body=%@", toString, subjectString, contentString];
    Encoded = [Url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    encodedUrl = [[NSURL alloc] initWithString:Encoded];
    [[UIApplication sharedApplication] openURL: encodedUrl];

Dit werkt wel, ook al is Mail.app zelf niet aanwezig, maar het geeft wel een warning over een argument van openURL: 'passing argument 1 of 'openURL:' from distinct Objective-C type'
Weet iemand hoe ik deze weg kan werken?

macfreaker 20-09-08 17:38

Je zal eens moeten kijken of je kan gebruik maken van NSTask.
Zie hieronder een voorbeeld maar dan voor een programma voormijn mac.
Er staat ook in hoe je argumenten kunt meegeven maar je zal deze wel even moeten aanpassen voor uw application.

Code:

- (IBAction)startknop:(id)sender {
       
        NSTask *task = [[NSTask alloc] init];
        [task setLaunchPath:@"/Applications/VLC.app/Contents/MacOS/VLC"];
       
        NSArray *args = [NSArray arrayWithObject:@" http://192.168.0.109:8001/1:0:1:31e7:45f:35:C00000:0:0:0:"];
        [task setArguments:args];
       
        [task launch];
       
}


BadSide 20-09-08 17:43

Thx voor je reactie. Hopelijk kan ik er wat mee.
Met de code die ik in de beginpost heb gezet werkt het nu ook, alleen heb ik dus last van die warning.

Ik ga er even mee aan de slag, thx!


Alle tijden zijn GMT +2. Het is nu 17:44.