To apply Tuist to an existing project, files like Info.plist
and xcconfig
need to be prepared if there are any custom values different from the default settings.
I made it easier to extract the Info.plist
by setting Xcode Target -> Build Settings -> Generate info.plist File to No, then manually moved the key-value pairs from the Info tab to the Info.plist
in Xcode’s Navigator panel.
Commands to extract build settings:
# Extract target build settings.
$ tuist migration settings-to-xcconfig -p Project.xcodeproj -t MyApp -x MyApp.xcconfig
# Extract project build settings.
$ tuist migration settings-to-xcconfig -p Project.xcodeproj -x MyAppProject.xcconfig
Using the extracted configurations, I created the xcconfig
files.
*.xcodeproj
, *.xcworkspace
, and Derived/
to .gitignore
, I wrote the Project.swift
file.Sources
and Resources
parameters are automatically mapped to Compile Sources and Copy Bundle Resources, respectively. If the project files are not well-organized, wildcard patterns can be used to simplify things.If your project is composed entirely of Swift files and does not rely on dependency managers like CocoaPods or Carthage, applying Tuist can be done smoothly.
Interestingly, the proportion of Tuist-related blog posts is much higher in Korea than overseas. Many of these posts customize Tuist object initialization methods to avoid writing redundant code, which is helpful. However, it can be inconvenient to identify what changes were made within the methods. It’s essential to choose the right approach depending on the situation.