Book Image

Learn Swift by Building Applications

By : Emil Atanasov, Giordano Scalzo, Emil Atanasov
Book Image

Learn Swift by Building Applications

By: Emil Atanasov, Giordano Scalzo, Emil Atanasov

Overview of this book

Swift Language is now more powerful than ever; it has introduced new ways to solve old problems and has gone on to become one of the fastest growing popular languages. It is now a de-facto choice for iOS developers and it powers most of the newly released and popular apps. This practical guide will help you to begin your journey with Swift programming through learning how to build iOS apps. You will learn all about basic variables, if clauses, functions, loops, and other core concepts; then structures, classes, and inheritance will be discussed. Next, you’ll dive into developing a weather app that consumes data from the internet and presents information to the user. The final project is more complex, involving creating an Instagram like app that integrates different external libraries. The app also uses CocoaPods as its package dependency manager, to give you a cutting-edge tool to add to your skillset. By the end of the book, you will have learned how to model real-world apps in Swift.
Table of Contents (14 chapters)
5
Adding Interactivity to Your First App

Carthage

Similarly to CocoaPods, Carthage is a tool which is used to manage external dependencies. But its idea is not to modify the project file and add all dependencies, neither is it here to support a central place where all dependencies are listed. Don't panic. Carthage does the heavy lifting for you. Namely, it downloads the source code and compiles a framework, which should be manually added to the project.

Again, you have a file where all dependencies are described. Carthage uses that file to fetch all dependencies one by one and builds those. Then, it's up to you if you want to include the libraries in your project. When you update the dependency descriptor file, a new version will be fetched and built, but you have to manually update the linked framework. The update could be automated though; you just have to link the output file and once a new version is built...