Using Carthage/CocoaPods projects

Here are some important points to consider when migrating a project with external dependencies using package managers such as Carthage, CocoaPods, or the Swift package manager:

  • It is recommended to use source dependencies rather than binary Swift modules, because Swift 3.1 modules will not be compatible with Swift 3.2/4 modules unless you can get distributions that were built in Swift 3.2 or Swift 4 mode
  • Ensure that your source dependencies work smoothly with Swift 3.2 as well as your own targets
  • You need to remove Carthage file's search path or clean the build folder if you have used Carthage in your project
  • It is not necessary to migrate your source dependencies as long as they can build in Swift 3.2 mode