-
Notifications
You must be signed in to change notification settings - Fork 59
API
The MeteorClient
public API exposes a simple, cohesive set of methods that describe the communication between a native Objective-C client and a DDP server.
This method takes a username (email) string, password string, and a MeteorClientMethodCallback
block. This method will attempt to logon (via SRP) to the meteor server specified when the MeteorClient was created and, if successful will call the callback so that clients can respond appropriately. If the logon attempt fails for some reason (e.g. not connected to server or bad password) then MeteorClient will call the responseCallback with an error object. It is a convenience wrapper for authorization with meteor servers using the meteor default scheme where the username is a string that represents user's email or system username. If you want to send an object to specify specifically user
, username
, or id
(as per the meteor documentation then you can use -logonWithUserParameters:username:password:responseCallback:
instead.
Example:
[self.meteor logonWithUsername:self.username.text
password:self.password.text
responseCallback:^(NSDictionary *response, NSError *error) {
if (error) {
[self handleFailedAuth:error];
return;
}
[self handleSuccessfulAuth];
}];
This method works just like logonWithUsername:password:responseCallback:
but allows for a custom object for user resolution.
Example:
[meteorClient logonWithUserParameters:@{@"user": @"greg"}
username:@"greg@goodguy.com"
password:@"p&ssw0rd!"
responseCallback:^(NSDictionary *response, NSError *error) {
if (error) {
[self handleFailedAuth:error];
return;
}
[self handleSuccessfulAuth];
}];
This method takes the method name string (the name of the function exposed by the server), an Objective-C array of parameters that are to be passed to the server function and an optional MeteorClientMethodCallback
block that will be invoked after the server returns the result of running the function.
Example:
[self.meteor callMethodName:@"sayHelloTo" parameters:@[self.username.text] responseCallback:^(NSDictionary *response, NSError *error) {
NSString *message = response[@"result"];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Meteor Todos"
message:message
delegate:nil
cancelButtonTitle:@"Great"
otherButtonTitles:nil];
[alert show];
}];
This is a block defined as:
typedef void(^MeteorClientMethodCallback)(NSDictionary *response, NSError *error);
It describes a callback block that can optionally be passed to several MeteorClient methods. The methods that take this block will resolve it with either a success response
or a failure error
(see method descriptions above).