QuickStart
Last updated
Was this helpful?
Was this helpful?
<key>com_cloud4wi_sdk_wifi_api_client_key</key>
<string>{CLIENT-KEY-VALUE}</string>
<key>com_cloud4wi_sdk_wifi_api_client_secret</key>
<string>{CLIENT-SECRET-VALUE}</string>let cloud4WiSDKWiFi = Cloud4WiSDKWiFi.init()
var error: NSError? = nil
// Policies
cloud4WiSDKWiFi.getListOfPolicies { (policies) in
if let policies = policies {
var approvedPolicies: Dictionary = [String: String]()
for policy in policies {
approvedPolicies[policy] = "true"
}
let customer = Customer()
customer?.firstName = "John"
customer?.lastName = "Red"
customer?.email = "john@cloud4wi.com"
customer?.policies = approvedPolicies
cloud4WiSDKWiFi.createCustomer(customer, deduplicate: "email") { (customerResponse) in
if let customerResponse = customerResponse {
print("INFO: Customer successfully created")
cloud4WiSDKWiFi.getCustomerInfo(customerResponse.username, password: customerResponse.password) { (info) in
print("INFO: Customer with provided credentials exists")
if let username = customerResponse.username, let password = customerResponse.password {
self.createCertificateWithUser(username, andPassword: password, andMobileSDK: cloud4WiSDKWiFi, success: success)
}
} onError: { (error) in
if let error = error {
DispatchQueue.main.async {
print("ERROR. Cannot check credentials:")
success(false)
}
return
}
}
} else {
DispatchQueue.main.async {
print("No customerResponse found")
success(false)
}
return
}
} onError: { (error) in
if let error = error as NSError? {
DispatchQueue.main.async {
print("ERROR. Cannot create customer")
success(false)
}
return
}
}
} else {
DispatchQueue.main.async {
print("No policies found")
success(false)
}
return
}
} onError: { (error) in
DispatchQueue.main.async {
if let error = error {
print("ERROR. get list of policies")
success(false)
}
return
}
}NSError *e = nil;
Cloud4WiSDKWiFi *cloud4WiSDKWiFi = [[Cloud4WiSDKWiFi alloc] init];
/*
* OPTIONAL - Retrieve the list of policies configured in Cloud4Wi, including custom ones
*/
[cloud4WiSDKWiFi getListOfPolicies: ^(NSArray<NSString *> *policies) {
NSLog(@"INFO: Policies successfully obtained from API");
/*
* Init Customer object with all optional attributes
*/
Customer* customer = [[Customer alloc] init];
[customer setFirstName:@"John"];
[customer setLastName:@"Red"];
[customer setExtId:@"12345677810"];
[customer setEmail:"john@cloud4wi.com"];
/*
* In order to register new customer the policies in position 0 (termsOfUse) and 1 (privacy)
* returned by getListOfPolicies must be set to true
*/
NSMutableDictionary *approvedPolicies = [[NSMutableDictionary alloc] init];
for (NSString* policy in policies) {
[approvedPolicies setObject:@"true" forKey:policy];
}
[customer setPolicies:approvedPolicies];
/*
* Create Customer in Cloud4Wi account. If not provided, WiFi username and password
* are assigned automatically and returned in the method response
*/
[cloud4WiSDKWiFi createCustomer:customer deduplicate:nil onSuccess:^(CustomerCreateResponse *customerCreateResp) {
NSLog(@"INFO: Customer successfully created");
/*
* OPTIONAL - Assure new customer has been successfully created by checking newly created customer's credentials
*/
[cloud4WiSDKWiFi getCustomerInfo:[customerCreateResp username] password:[customerCreateResp password] onSuccess:^(CustomerInfo *resp) {
NSLog(@"INFO: Customer with provided credentials exitsts");
/*
* Create WPA2-Enterprise Wi-Fi Profile for recently created new customer
* using the username/password returned by the createCustomer method
*/
[cloud4WiSDKWiFi createWPA2EnterpriseProfile:[customerCreateResp username] password:[customerCreateResp password] onSuccess:^{
NSLog(@"INFO: Wi-Fi profile successfully created");
} onError:^(NSError *error) {
NSLog(@"ERROR. Cannot create Wi-Fi profile: %@", [error localizedDescription]);
}];
} onError:^(NSError *error) {
NSLog(@"ERROR. Cannot check credentials: %@", [error localizedDescription]);
}];
} onError:^(NSError *error) {
NSLog(@"ERROR. Cannot create customer: %@", [error localizedDescription]);
}];
} onError: ^(NSError *error) {
NSLog(@"ERROR. Cannot get list of policies: %@", [error localizedDescription]);
}];func initC4w(pushToken: String)- (void) initC4w: (NSString*) pushToken; func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
let cloud4WiSDKWiFi = Cloud4WiSDKWiFi.init()
cloud4WiSDKWiFi.initC4w("remote_push_token")
}- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
Cloud4WiSDKWiFi *cloud4WiSDKWiFi = [[Cloud4WiSDKWiFi alloc] init];
[cloud4WiSDKWiFi initC4w:@"remote_push_token"];
}