Find Jobs
Hire Freelancers

Build an iOS SDK that wraps an existing REST API(repost)

$500-800 USD

已取消
已发布大约 13 年前

$500-800 USD

货到付款
This project is to build an iOS SDK that wraps the Kontagent REST API. For API details, please see [login to view URL] **NOTE: Bidders that include implemented OCUnit tests for the example header below will be given strong preference. The client itself doesn't have to be implemented (in other words, the tests can fail). The intent is to show how they will be structured and implemented. ** The SDK should have the following features - * API calls are handled in a background thread managed by the SDK to avoid impacting the performance of the main thread of the application. * When the network is reachable, API calls are queued to an in-memory queue (to be called Online Queue throughout the rest of this document). Can be as simple as the queue described here ([login to view URL]) and then pushed the REST API. * When network is unreachable, the API calls will be queued to an on-device SQLite database (to be called Offline Queue throughout the rest of this document). * Users of SDK should not see a difference when online vs. offline. * The first time the SDK is used for a given app on a given device, the application should generate a GUID. (See [login to view URL] for one way to do this.) Then whenever the REST API requires a userid (usually called 's'), pass the generated GUID. * Compiles to a single static library file (kontagent.a) with a header file (kontagent.h). The library must be a fat file that will work on device and in simulator. * Must rely only on iOS SDK frameworks. No 3rd party dependencies. * Must work be tested on iOS 3 or greater. * Simple way switch between Test and Live servers and API secret without recompiling static library. * Code must have full tests using OCUnit framework. * API calls should have a simple and advance form. Simple form takes required parameters, advanced form allows setting of optional parameters. When there are more than 1 optional parameters, then use an NSDictionary as the final argument. * Good coding standards including Don't Repeat Yourself applied to code. ## Deliverables API Header Examples (rest to be determined by the developer) @interface Kontagent : NSObject /* Lifecycle Events */ // Add to applicationDidFinishLoading // This is where the thread is started. Notice the use of class methods // The first time this is run, the GUID should be generated. // Check for network reachability. // If reachable, check to see if there are offline events queued and push them into the in memory queue. // If not reachable, setup SDK to log events offline. + (void) startSession: (NSString *)apiKey; //This alternative form allows a user to set the 'u' or 'su' params on the request. + (void) startSession:(NSString *)apiKey withParams:(NSDictionary *)params; // If OnlineQueue has items, push to OfflineQueue. // Intended to be used in either the applicationDidEnterBackground or applicationDidTerminate lifecycle events. + (void) pauseSession: (NSString *)apiKey; // If OfflineQueue has items and network is reachable, convert OfflineQueue to OnlineQueue. // Otherwise, keep pushing calls to OfflineQueue. // Intended to be used for the applicationDidEnterForeground lifecycle event. + (void) resumeSession: (NSString *)apiKey; /* REST wrapped methods */ // Basic Custom Action [evt] + (void) customAction:(NSString *)name; // Advanced Custom Action [evt] + (void) customAction:(NSString *)name withParams:(NSDictionary *)params; @end
项目 ID: 3193573

关于此项目

远程项目
活跃13 年前

想赚点钱吗?

在Freelancer上竞价的好处

设定您的预算和时间范围
为您的工作获得报酬
简要概述您的提案
免费注册和竞标工作

关于客户

UNITED STATES的国旗
United States
5.0
5
付款方式已验证
会员自3月 30, 2005起

客户认证

谢谢!我们已通过电子邮件向您发送了索取免费积分的链接。
发送电子邮件时出现问题。请再试一次。
已注册用户 发布工作总数
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
加载预览
授予地理位置权限。
您的登录会话已过期而且您已经登出,请再次登录。