Я использую рамки AFNetworking. Я сделал подкласс этого. CUK_Client - это имя подкласса.
google api examples показать тип их методов (POST или GET).
Вы можете изменить, в соответствии с вашими потребностями.
makeRequestGet - это общий метод GET, который вы можете назвать его любыми параметрами и маршрутами по своему усмотрению. Например, в методе getDirection я использую его для направления между двумя координатами.
.h файл
@interface CUK_Client : AFHTTPSessionManager
+ (CUK_Client *) sharedClient;
+ (CUK_Client *) googleMapsClient;
- (void)makeRequestGet:(NSString *) route withParamaters:(NSDictionary *)parameters completion:(DefaultIdResultBlock) completion ;
- (void)getDirection:(NSDictionary *)params completion:(DefaultIdResultBlock) completion;
- (void)beaconsVisited:(NSArray *)beacons completion:(DefaultIdResultBlock) completion;
@end
.m файл
@implementation CUK_Client
+ (CUK_Client *) googleMapsClient {
static CUK_Client *googleMapsClient = nil;
static dispatch_once_t onceToken;
dispatch_once (&onceToken ,^{
googleMapsClient = [[self alloc] initWithBaseURL:[NSURL URLWithString:@"http://maps.googleapis.com/"]];
});
return googleMapsClient;
}
- (void) makeRequestGet:(NSString *) route withParamaters:(NSDictionary *)parameters completion:(DefaultIdResultBlock) completion {
[self GET:route
parameters:parameters
success:^(NSURLSessionDataTask *task, id responseObject) {
return completion (nil ,responseObject);
} failure:^(NSURLSessionDataTask *task, NSError *error) {
return completion ([error localizedDescription] , nil);
}];
}
-(void)getDirection:(NSDictionary *)params completion:(DefaultIdResultBlock)completion {
[self makeRequestGet:@"maps/api/directions/json" withParamaters:params completion:completion];
}
@end
Привет @Kivannc, спасибо за ваш ответ. Однако я не просто делаю HTTP-запрос к API веб-сервисов, но на самом деле мне нужно выполнить JavaScript напрямую. Поэтому я сейчас рассматриваю использование UIWebiview - stringByEvaluatingJavaScriptFromString: для этого. https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIWebView_Class/#//apple_ref/occ/instm/UIWebView/stringByEvaluatingJavaScriptFromString: –