{"_id":"562014118a05d7230006ffb6","__v":29,"createdAt":"2014-12-09T11:59:00.145Z","githubsync":"","project":"54861bb654b3ce0b00367292","category":"562014108a05d7230006ffad","isReference":false,"link_external":false,"link_url":"","slug":"sdk-intro","title":"Onboarding Setup","body":"[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Adding the Elasticode framework in 3 simple steps\"\n}\n[/block]\n**1. Drag the Elasticode.framework and bundle into your Xcode project**\n\n**2. Add the following libraries to your project:**\n  * *AVFoundation.framework*\n  * *Security.framework*\n  * *SystemConfiguration.framework*\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"2.1 For SWiFT Users\",\n  \"body\": \"1. Create a Bridging Header: (to support Objective-C in swift project)\\n\\n2.  Create a dummy Objective-C object file (e.g., dummyFile.m) in your project.\\n\\n3. Xcode will ask you whether you want to create a bridging header, click \\\"Yes\\\".\\n(There have been settings changes in the project file, as well, to get Swift to look to this new header for information)\\n\\n( You can now delete dummyFile.m)\"\n}\n[/block]\n \n\n**3. Add the following import code in AppDelegate.h**\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"#import <ElastiCode/ElastiCode.h>\",\n      \"language\": \"objectivec\"\n    },\n    {\n      \"code\": \"#import <ElastiCode/ElastiCode.h>\",\n      \"language\": \"swift\"\n    }\n  ]\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"title\": \"On iOS 9\",\n  \"body\": \"On iOS 9, add App Transport Security Settings exceptions to application's plist.\\nYou can see an example for that here as well: [Facebook SDK Install](https://developers.facebook.com/docs/ios/ios9)\"\n}\n[/block]\nWhitelist our domains:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"<key>NSAppTransportSecurity</key>\\n<dict>\\n\\t<key>NSExceptionDomains</key>\\n  <dict>\\n  \\t<key>appove-api.com</key>\\n    <dict>\\n    \\t<key>NSIncludesSubdomains</key>\\n      <true/>\\n      <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>\\n      <true/>\\n    </dict>\\n  </dict>\\n</dict>\",\n      \"language\": \"xml\"\n    }\n  ]\n}\n[/block]\n\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/S4DSvbHBQv6DmVT2v0yj_addHTTP2_4_2.gif\",\n        \"addHTTP2_4_2.gif\",\n        \"877\",\n        \"751\",\n        \"#3a7dc7\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\n**4. last part... Just add the following code to your appDelegate.m** \n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {\\n   // Override point for customization after application launch.\\n    #ifdef DEBUG\\n        [ElastiCode devModeWithLogging:elastiCodeLogLevelErrors];\\n    #endif\\n        [ElastiCode startSession::::at:::\\\"your-api-key\\\" onBoardingVersion:@\\\"1.0\\\"];    \\n  return YES;\\n}\",\n      \"language\": \"objectivec\"\n    },\n    {\n      \"code\": \"class AppDelegate: UIResponder, UIApplicationDelegate {\\nvar window: UIWindow?\\n\\nfunc application(application: UIApplication, didFinishLaunchingWithOptions\\n       launchOptions: [NSObject: AnyObject]?) -> Bool {\\n   // Override point for customization after application launch.\\n    #if DEBUG\\n        ElastiCode .devModeWithLogging(elastiCodeLogLevelErrors)\\n    #endif\\n        ElastiCode .startSession(\\\"your-api-key\\\", onBoardingVersion: \\\"1.0\\\")    \\n        return true\\n}\",\n      \"language\": \"swift\"\n    }\n  ]\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"That's it!!!\"\n}\n[/block]\nOnce you will refresh the dashboard you could add your onboarding​ and walkthroughs","excerpt":"Let's get this SDK up and running","parentDoc":null,"sync_unique":"","updates":[],"api":{"params":[],"results":{"codes":[]},"settings":"","url":"","auth":"never"},"hidden":false,"order":0,"type":"basic","user":"54861b9f3681d914006992a4","version":"5620140f8a05d7230006ffac","childrenPages":[]}

Onboarding Setup

Let's get this SDK up and running

[block:api-header] { "type": "basic", "title": "Adding the Elasticode framework in 3 simple steps" } [/block] **1. Drag the Elasticode.framework and bundle into your Xcode project** **2. Add the following libraries to your project:** * *AVFoundation.framework* * *Security.framework* * *SystemConfiguration.framework* [block:callout] { "type": "info", "title": "2.1 For SWiFT Users", "body": "1. Create a Bridging Header: (to support Objective-C in swift project)\n\n2. Create a dummy Objective-C object file (e.g., dummyFile.m) in your project.\n\n3. Xcode will ask you whether you want to create a bridging header, click \"Yes\".\n(There have been settings changes in the project file, as well, to get Swift to look to this new header for information)\n\n( You can now delete dummyFile.m)" } [/block] **3. Add the following import code in AppDelegate.h** [block:code] { "codes": [ { "code": "#import <ElastiCode/ElastiCode.h>", "language": "objectivec" }, { "code": "#import <ElastiCode/ElastiCode.h>", "language": "swift" } ] } [/block] [block:callout] { "type": "warning", "title": "On iOS 9", "body": "On iOS 9, add App Transport Security Settings exceptions to application's plist.\nYou can see an example for that here as well: [Facebook SDK Install](https://developers.facebook.com/docs/ios/ios9)" } [/block] Whitelist our domains: [block:code] { "codes": [ { "code": "<key>NSAppTransportSecurity</key>\n<dict>\n\t<key>NSExceptionDomains</key>\n <dict>\n \t<key>appove-api.com</key>\n <dict>\n \t<key>NSIncludesSubdomains</key>\n <true/>\n <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>\n <true/>\n </dict>\n </dict>\n</dict>", "language": "xml" } ] } [/block] [block:image] { "images": [ { "image": [ "https://files.readme.io/S4DSvbHBQv6DmVT2v0yj_addHTTP2_4_2.gif", "addHTTP2_4_2.gif", "877", "751", "#3a7dc7", "" ] } ] } [/block] **4. last part... Just add the following code to your appDelegate.m** [block:code] { "codes": [ { "code": "- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {\n // Override point for customization after application launch.\n #ifdef DEBUG\n [ElastiCode devModeWithLogging:elastiCodeLogLevelErrors];\n #endif\n [ElastiCode startSession:@\"your-api-key\" onBoardingVersion:@\"1.0\"]; \n return YES;\n}", "language": "objectivec" }, { "code": "class AppDelegate: UIResponder, UIApplicationDelegate {\nvar window: UIWindow?\n\nfunc application(application: UIApplication, didFinishLaunchingWithOptions\n launchOptions: [NSObject: AnyObject]?) -> Bool {\n // Override point for customization after application launch.\n #if DEBUG\n ElastiCode .devModeWithLogging(elastiCodeLogLevelErrors)\n #endif\n ElastiCode .startSession(\"your-api-key\", onBoardingVersion: \"1.0\") \n return true\n}", "language": "swift" } ] } [/block] [block:api-header] { "type": "basic", "title": "That's it!!!" } [/block] Once you will refresh the dashboard you could add your onboarding​ and walkthroughs