{"_id":"590a04fbed80861900cbc7db","version":{"_id":"590a04f2ed80861900cbc737","project":"55b2d5baa74a380d00e290c4","__v":4,"createdAt":"2017-05-03T16:27:30.085Z","releaseDate":"2017-05-03T16:27:30.085Z","categories":["590a04f3ed80861900cbc738","590a04f3ed80861900cbc739","590a04f3ed80861900cbc73a","590a04f3ed80861900cbc73b","590a04f3ed80861900cbc73c","590a04f3ed80861900cbc73d","590a04f3ed80861900cbc73e","590a04f3ed80861900cbc73f","590a04f3ed80861900cbc740","590a04f3ed80861900cbc741","590a04f3ed80861900cbc742","590a04f3ed80861900cbc743","590a04f3ed80861900cbc744","590a04f3ed80861900cbc745","590a04f3ed80861900cbc746","590a04f3ed80861900cbc747","590a04f3ed80861900cbc748","590a04f3ed80861900cbc749","590a04f3ed80861900cbc74a","590a04f3ed80861900cbc74b","590a04f3ed80861900cbc74c","590a04f3ed80861900cbc74d","59124949de13f61900336a7a","5914b04e7c2c552d008b7104","5914b47242c6a22300b9dc20"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"7.0.0","version":"7"},"__v":0,"project":"55b2d5baa74a380d00e290c4","category":{"_id":"590a04f3ed80861900cbc749","version":"590a04f2ed80861900cbc737","__v":0,"project":"55b2d5baa74a380d00e290c4","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-09-30T18:30:36.390Z","from_sync":false,"order":19,"slug":"best-practices","title":"Managing App Dependencies"},"user":"55b2d5626862a10d00887af9","parentDoc":null,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-09-27T15:17:18.657Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":2,"body":"[Carthage](https://github.com/Carthage/Carthage) is a fantastic way to manage dependencies.\n\nIn order to guarantee repeatability in builds - we recommend you check in both your **Cartfile** and **Cartfile.resolved** into your source control.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Carthage version\"\n}\n[/block]\nYou can set the Carthage version that is used on every build in your App Settings or in your branch settings.\n\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/dda4fa6-Carthage-1.png\",\n        \"Carthage-1.png\",\n        1500,\n        800,\n        \"#d7dee1\"\n      ],\n      \"sizing\": \"smart\"\n    }\n  ]\n}\n[/block]\n\n[block:api-header]\n{\n  \"title\": \"Running a custom Carthage command\"\n}\n[/block]\nIf the predefined Carthage command doesn't work for you, buddybuild lets you use your own. To achieve that, create a `buddybuild_carthage_command.sh` file with your custom command at the root of your project. \n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"#!/bin/bash\\n\\ncarthage bootstrap --platform ios,tvOS --use-ssh --no-build\",\n      \"language\": \"shell\"\n    }\n  ]\n}\n[/block]\nBuddybuild will automatically run this script instead of the regular Carthage command if it's present in your repository.","excerpt":"","slug":"carthage","type":"basic","title":"Carthage"}
[Carthage](https://github.com/Carthage/Carthage) is a fantastic way to manage dependencies. In order to guarantee repeatability in builds - we recommend you check in both your **Cartfile** and **Cartfile.resolved** into your source control. [block:api-header] { "type": "basic", "title": "Carthage version" } [/block] You can set the Carthage version that is used on every build in your App Settings or in your branch settings. [block:image] { "images": [ { "image": [ "https://files.readme.io/dda4fa6-Carthage-1.png", "Carthage-1.png", 1500, 800, "#d7dee1" ], "sizing": "smart" } ] } [/block] [block:api-header] { "title": "Running a custom Carthage command" } [/block] If the predefined Carthage command doesn't work for you, buddybuild lets you use your own. To achieve that, create a `buddybuild_carthage_command.sh` file with your custom command at the root of your project. [block:code] { "codes": [ { "code": "#!/bin/bash\n\ncarthage bootstrap --platform ios,tvOS --use-ssh --no-build", "language": "shell" } ] } [/block] Buddybuild will automatically run this script instead of the regular Carthage command if it's present in your repository.