{"action":"created","comment":{"url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/pulls/comments/51510430","id":51510430,"diff_hunk":"@@ -0,0 +1,204 @@\n+#!/usr/bin/env node\n+\n+var version='4.1.0',\n+    execSync = require('child_process').execSync,\n+    path = require('path'),\n+    shelljs = require('shelljs'),\n+    commandLineUtils = require('../external/shared/node/commandLineUtils')\n+;\n+\n+var outputColors = {\n+    'red': '\\x1b[31;1m',\n+    'green': '\\x1b[32;1m',\n+    'yellow': '\\x1b[33;1m',\n+    'magenta': '\\x1b[35;1m',\n+    'cyan': '\\x1b[36;1m',\n+    'reset': '\\x1b[0m'\n+}\n+\n+\n+// Calling main\n+main(process.argv);\n+\n+// \n+// Main function\n+// \n+function main(args) {\n+    var commandLineArgs = process.argv.slice(2, args.length);\n+    var parsedArgs = commandLineUtils.parseArgs(commandLineArgs);\n+\n+    if (parsedArgs.hasOwnProperty('usage')) {\n+        usage();\n+        process.exit(1);\n+    }\n+    else {\n+        var fork = parsedArgs.fork || 'forcedotcom';\n+        var branch = parsedArgs.branch || 'unstable';\n+        var chosenAppTypes = parsedArgs.test;\n+        \n+        cleanup();\n+        var tmpDir = mkTmpDir();\n+        var repoDir = cloneRepo(tmpDir, 'https://github.com/' + fork + '/SalesforceMobileSDK-iOS', branch);\n+        createDeployForceiosPackage(repoDir, tmpDir);\n+\n+        var nativeAppTypes = ['native', 'native_swift', 'react_native'];\n+        var hybridAppTypes = ['hybrid_local', 'hybrid_remote'];\n+        for (var i = 0; i<nativeAppTypes.length; i++) {\n+            var appType = nativeAppTypes[i];\n+            if (chosenAppTypes.indexOf(appType) >= 0) createCompileApp(tmpDir, appType);\n+        }\n+        for (var i = 0; i<hybridAppTypes.length; i++) {\n+            var appType = hybridAppTypes[i];\n+            if (chosenAppTypes.indexOf(appType) >= 0) createCompileHybridApp(tmpDir, appType);\n+        }\n+    }\n+}\n+\n+//\n+// Usage\n+//\n+function usage() {\n+    log('Usage:',  'cyan');\n+    log('  test_forceios.js --usage\\n'\n+        + 'OR \\n'\n+        + '  test_forceios.js\\n'\n+        + '    [--fork=FORK (defaults to forcedotcom)]\\n'\n+        + '    [--branch=BRANCH (defaults to unstable)]\\n'\n+        + '    [--test=appType1,appType2,etc]\\n'\n+        + '      where appTypes are in: native, native_swift, react_native, hybrid_local, hybrid_remote\\n'\n+        + '\\n'\n+        + '  Clone https://github.com/FORK/SalesforceMobileSDK-iOS at branch BRANCH\\n'\n+        + '  Generate forceios package and deploys it to a temporary directory\\n'\n+        + '  Create and compile the application types selected\\n'\n+        , 'magenta');\n+}\n+\n+//\n+// Cleanup\n+//\n+function cleanup() {\n+    log('Cleaning up temp dirs', 'green');\n+    shelljs.rm('-rf', 'tmp');\n+}\n+\n+//\n+// Make temp dir and return its path\n+//\n+function mkTmpDir() {\n+    var tmpDir = path.join('tmp', 'testforceios' + random(1000));\n+    log('Making temp dir:' + tmpDir, 'green');\n+    shelljs.mkdir('-p', tmpDir);\n+    return tmpDir;\n+}\n+\n+//\n+// Clone iOS repo and return its path\n+// \n+function cloneRepo(tmpDir, repoUrl, branch) {\n+    log('Cloning ' + repoUrl + ' at ' + branch, 'green');\n+    var repoDir = path.join(tmpDir, 'SalesforceMobileSDK-iOS');\n+    shelljs.mkdir('-p', repoDir);\n+    runProcess('git clone --branch ' + branch + ' --single-branch --depth 1 --recurse-submodules ' + repoUrl + ' ' + repoDir);\n+    return repoDir;\n+}\n+\n+//\n+// Create and deploy forceios\n+//\n+function createDeployForceiosPackage(repoDir, tmpDir) {\n+    log('Generating forceios package', 'green');\n+    runProcess('ant -f ' + path.join(repoDir, 'build', 'build_npm.xml'));\n+    runProcess('npm install --prefix ' + tmpDir + ' ' + path.join(repoDir, 'forceios-' + version + '.tgz'));\n+}\n+\n+//\n+// Create and compile non-hybrid app \n+//\n+function createCompileApp(tmpDir, appType) {\n+    log('Creating ' + appType + ' app ', 'green');\n+    var appName = appType + 'App';\n+    var appId = '3MVG9Iu66FKeHhINkB1l7xt7kR8czFcCTUhgoA8Ol2Ltf1eYHOU4SqQRSEitYFDUpqRWcoQ2.dBv_a1Dyu5xa';\n+    var callbackUri = 'testsfdc:///mobilesdk/detect/oauth/done';\n+    var forceiosPath = path.join(tmpDir, 'node_modules', '.bin', 'forceios');\n+    var forceiosArgs = 'create '\n+        + ' --apptype=' + appType\n+        + ' --appname=' + appName\n+        + ' --companyid=com.mycompany'\n+        + ' --organization=MyCompany'\n+        + ' --outputdir=' + tmpDir\n+        + ' --appid=' + appId\n+        + ' --callbackuri=' + callbackUri;\n+    runProcess(forceiosPath + ' ' + forceiosArgs);\n+\n+    // Pointing to repoDir in Podfile\n+    shelljs.sed('-i', /pod ('Salesforce.*')/g, 'pod $1, :path => \\'../SalesforceMobileSDK-iOS\\'', path.join(tmpDir, 'nativeApp', 'Podfile'));\n+    shelljs.sed('-i', /pod ('Smart.*')/g, 'pod $1, :path => \\'../SalesforceMobileSDK-iOS\\'', path.join(tmpDir, 'nativeApp', 'Podfile'));\n+\n+    shelljs.pushd(path.join(tmpDir, appName));\n+    runProcess('pod update');    \n+    shelljs.popd();\n+\n+    var workspacePath = path.join(tmpDir, appName, appName + '.xcworkspace');\n+    runProcess('xcodebuild -workspace ' + workspacePath + ' -scheme Pods-' + appName)\n+}\n+\n+//\n+// Create and compile hybrid app \n+//\n+function createCompileHybridApp(tmpDir, appType) {","path":"node/test_forceios.js","position":185,"original_position":148,"commit_id":"41d247340ea1f6b9580f43ed352c7c8f6e33c67d","original_commit_id":"88228783eb95b99df15474b4dbaa8f31af66ba65","user":{"login":"wmathurin","id":1012459,"avatar_url":"https://avatars.githubusercontent.com/u/1012459?v=3","gravatar_id":"","url":"https://api.github.com/users/wmathurin","html_url":"https://github.com/wmathurin","followers_url":"https://api.github.com/users/wmathurin/followers","following_url":"https://api.github.com/users/wmathurin/following{/other_user}","gists_url":"https://api.github.com/users/wmathurin/gists{/gist_id}","starred_url":"https://api.github.com/users/wmathurin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wmathurin/subscriptions","organizations_url":"https://api.github.com/users/wmathurin/orgs","repos_url":"https://api.github.com/users/wmathurin/repos","events_url":"https://api.github.com/users/wmathurin/events{/privacy}","received_events_url":"https://api.github.com/users/wmathurin/received_events","type":"User","site_admin":false},"body":"Good idea.\r\nDoing it here https://github.com/wmathurin/SalesforceMobileSDK-iOS/commit/41d247340ea1f6b9580f43ed352c7c8f6e33c67d to test hybrid app with test_forceios.js","created_at":"2016-02-02T01:37:17Z","updated_at":"2016-02-02T01:37:17Z","html_url":"https://github.com/forcedotcom/SalesforceMobileSDK-iOS/pull/1370#discussion_r51510430","pull_request_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/pulls/1370","_links":{"self":{"href":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/pulls/comments/51510430"},"html":{"href":"https://github.com/forcedotcom/SalesforceMobileSDK-iOS/pull/1370#discussion_r51510430"},"pull_request":{"href":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/pulls/1370"}}},"pull_request":{"url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/pulls/1370","id":57725277,"html_url":"https://github.com/forcedotcom/SalesforceMobileSDK-iOS/pull/1370","diff_url":"https://github.com/forcedotcom/SalesforceMobileSDK-iOS/pull/1370.diff","patch_url":"https://github.com/forcedotcom/SalesforceMobileSDK-iOS/pull/1370.patch","issue_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/issues/1370","number":1370,"state":"open","locked":false,"title":"A script to test forceios.js ","user":{"login":"wmathurin","id":1012459,"avatar_url":"https://avatars.githubusercontent.com/u/1012459?v=3","gravatar_id":"","url":"https://api.github.com/users/wmathurin","html_url":"https://github.com/wmathurin","followers_url":"https://api.github.com/users/wmathurin/followers","following_url":"https://api.github.com/users/wmathurin/following{/other_user}","gists_url":"https://api.github.com/users/wmathurin/gists{/gist_id}","starred_url":"https://api.github.com/users/wmathurin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wmathurin/subscriptions","organizations_url":"https://api.github.com/users/wmathurin/orgs","repos_url":"https://api.github.com/users/wmathurin/repos","events_url":"https://api.github.com/users/wmathurin/events{/privacy}","received_events_url":"https://api.github.com/users/wmathurin/received_events","type":"User","site_admin":false},"body":"You can specify the fork/branch and app types you wish to test.\r\nIt clones the repo, run ant to build the forceios package, then npm installs it to a temporary directory.\r\nThen for each app type specified, it forceios create an application and xcode builds it.\r\nIt will exit with an error if any of the steps fail.\r\n\r\nFor native application, it edits the pod file so that it points to the cloned repo (otherwise it would pull the pods from the current release).\r\n\r\nFor hybrid application however, it's pulling the currently published plugin, so it's not very useful for testing code from unstable. Maybe I should remove support for testing hybrid applications?\r\n\r\nAnyway plenty of room for improvements.","created_at":"2016-01-30T01:33:39Z","updated_at":"2016-02-02T01:37:17Z","closed_at":null,"merged_at":null,"merge_commit_sha":"20ca81ec62508e183ab74c6bd330f5bd2018ff36","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/pulls/1370/commits","review_comments_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/pulls/1370/comments","review_comment_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/pulls/comments{/number}","comments_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/issues/1370/comments","statuses_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/statuses/41d247340ea1f6b9580f43ed352c7c8f6e33c67d","head":{"label":"wmathurin:forceiostest","ref":"forceiostest","sha":"41d247340ea1f6b9580f43ed352c7c8f6e33c67d","user":{"login":"wmathurin","id":1012459,"avatar_url":"https://avatars.githubusercontent.com/u/1012459?v=3","gravatar_id":"","url":"https://api.github.com/users/wmathurin","html_url":"https://github.com/wmathurin","followers_url":"https://api.github.com/users/wmathurin/followers","following_url":"https://api.github.com/users/wmathurin/following{/other_user}","gists_url":"https://api.github.com/users/wmathurin/gists{/gist_id}","starred_url":"https://api.github.com/users/wmathurin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wmathurin/subscriptions","organizations_url":"https://api.github.com/users/wmathurin/orgs","repos_url":"https://api.github.com/users/wmathurin/repos","events_url":"https://api.github.com/users/wmathurin/events{/privacy}","received_events_url":"https://api.github.com/users/wmathurin/received_events","type":"User","site_admin":false},"repo":{"id":5184198,"name":"SalesforceMobileSDK-iOS","full_name":"wmathurin/SalesforceMobileSDK-iOS","owner":{"login":"wmathurin","id":1012459,"avatar_url":"https://avatars.githubusercontent.com/u/1012459?v=3","gravatar_id":"","url":"https://api.github.com/users/wmathurin","html_url":"https://github.com/wmathurin","followers_url":"https://api.github.com/users/wmathurin/followers","following_url":"https://api.github.com/users/wmathurin/following{/other_user}","gists_url":"https://api.github.com/users/wmathurin/gists{/gist_id}","starred_url":"https://api.github.com/users/wmathurin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wmathurin/subscriptions","organizations_url":"https://api.github.com/users/wmathurin/orgs","repos_url":"https://api.github.com/users/wmathurin/repos","events_url":"https://api.github.com/users/wmathurin/events{/privacy}","received_events_url":"https://api.github.com/users/wmathurin/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/wmathurin/SalesforceMobileSDK-iOS","description":"Force.com mobile SDK for iOS applications","fork":true,"url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS","forks_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/forks","keys_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/teams","hooks_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/hooks","issue_events_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/issues/events{/number}","events_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/events","assignees_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/assignees{/user}","branches_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/branches{/branch}","tags_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/tags","blobs_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/git/refs{/sha}","trees_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/statuses/{sha}","languages_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/languages","stargazers_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/stargazers","contributors_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/contributors","subscribers_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/subscribers","subscription_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/subscription","commits_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/commits{/sha}","git_commits_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/git/commits{/sha}","comments_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/comments{/number}","issue_comment_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/issues/comments{/number}","contents_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/contents/{+path}","compare_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/merges","archive_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/downloads","issues_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/issues{/number}","pulls_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/pulls{/number}","milestones_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/milestones{/number}","notifications_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/labels{/name}","releases_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/releases{/id}","deployments_url":"https://api.github.com/repos/wmathurin/SalesforceMobileSDK-iOS/deployments","created_at":"2012-07-25T20:31:23Z","updated_at":"2015-04-27T23:06:59Z","pushed_at":"2016-02-02T01:35:52Z","git_url":"git://github.com/wmathurin/SalesforceMobileSDK-iOS.git","ssh_url":"git@github.com:wmathurin/SalesforceMobileSDK-iOS.git","clone_url":"https://github.com/wmathurin/SalesforceMobileSDK-iOS.git","svn_url":"https://github.com/wmathurin/SalesforceMobileSDK-iOS","homepage":"https://github.com/forcedotcom/SalesforceMobileSDK-iOS","size":263788,"stargazers_count":1,"watchers_count":1,"language":"Objective-C","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":1,"default_branch":"master"}},"base":{"label":"forcedotcom:unstable","ref":"unstable","sha":"3188f38096af3b5e57dc8a7fc27dbf86da13d68d","user":{"login":"forcedotcom","id":464563,"avatar_url":"https://avatars.githubusercontent.com/u/464563?v=3","gravatar_id":"","url":"https://api.github.com/users/forcedotcom","html_url":"https://github.com/forcedotcom","followers_url":"https://api.github.com/users/forcedotcom/followers","following_url":"https://api.github.com/users/forcedotcom/following{/other_user}","gists_url":"https://api.github.com/users/forcedotcom/gists{/gist_id}","starred_url":"https://api.github.com/users/forcedotcom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/forcedotcom/subscriptions","organizations_url":"https://api.github.com/users/forcedotcom/orgs","repos_url":"https://api.github.com/users/forcedotcom/repos","events_url":"https://api.github.com/users/forcedotcom/events{/privacy}","received_events_url":"https://api.github.com/users/forcedotcom/received_events","type":"Organization","site_admin":false},"repo":{"id":2338086,"name":"SalesforceMobileSDK-iOS","full_name":"forcedotcom/SalesforceMobileSDK-iOS","owner":{"login":"forcedotcom","id":464563,"avatar_url":"https://avatars.githubusercontent.com/u/464563?v=3","gravatar_id":"","url":"https://api.github.com/users/forcedotcom","html_url":"https://github.com/forcedotcom","followers_url":"https://api.github.com/users/forcedotcom/followers","following_url":"https://api.github.com/users/forcedotcom/following{/other_user}","gists_url":"https://api.github.com/users/forcedotcom/gists{/gist_id}","starred_url":"https://api.github.com/users/forcedotcom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/forcedotcom/subscriptions","organizations_url":"https://api.github.com/users/forcedotcom/orgs","repos_url":"https://api.github.com/users/forcedotcom/repos","events_url":"https://api.github.com/users/forcedotcom/events{/privacy}","received_events_url":"https://api.github.com/users/forcedotcom/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/forcedotcom/SalesforceMobileSDK-iOS","description":"Force.com mobile SDK for iOS applications","fork":false,"url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS","forks_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/forks","keys_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/keys{/key_id}","collaborators_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/teams","hooks_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/hooks","issue_events_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/issues/events{/number}","events_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/events","assignees_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/assignees{/user}","branches_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/branches{/branch}","tags_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/tags","blobs_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/git/refs{/sha}","trees_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/git/trees{/sha}","statuses_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/statuses/{sha}","languages_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/languages","stargazers_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/stargazers","contributors_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/contributors","subscribers_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/subscribers","subscription_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/subscription","commits_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/commits{/sha}","git_commits_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/git/commits{/sha}","comments_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/comments{/number}","issue_comment_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/issues/comments{/number}","contents_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/contents/{+path}","compare_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/compare/{base}...{head}","merges_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/merges","archive_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/downloads","issues_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/issues{/number}","pulls_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/pulls{/number}","milestones_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/milestones{/number}","notifications_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/labels{/name}","releases_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/releases{/id}","deployments_url":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/deployments","created_at":"2011-09-06T23:13:57Z","updated_at":"2016-01-23T18:35:16Z","pushed_at":"2016-02-02T01:35:53Z","git_url":"git://github.com/forcedotcom/SalesforceMobileSDK-iOS.git","ssh_url":"git@github.com:forcedotcom/SalesforceMobileSDK-iOS.git","clone_url":"https://github.com/forcedotcom/SalesforceMobileSDK-iOS.git","svn_url":"https://github.com/forcedotcom/SalesforceMobileSDK-iOS","homepage":"https://github.com/forcedotcom/SalesforceMobileSDK-iOS","size":275061,"stargazers_count":311,"watchers_count":311,"language":"Objective-C","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":220,"mirror_url":null,"open_issues_count":36,"forks":220,"open_issues":36,"watchers":311,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/pulls/1370"},"html":{"href":"https://github.com/forcedotcom/SalesforceMobileSDK-iOS/pull/1370"},"issue":{"href":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/issues/1370"},"comments":{"href":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/issues/1370/comments"},"review_comments":{"href":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/pulls/1370/comments"},"review_comment":{"href":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/pulls/1370/commits"},"statuses":{"href":"https://api.github.com/repos/forcedotcom/SalesforceMobileSDK-iOS/statuses/41d247340ea1f6b9580f43ed352c7c8f6e33c67d"}}}}