This repository offers the possibility to generate a new iOS project with some features out of the box:
- Xcode build configuration files for Debug/Enterprise/Release (no more custom Build Settings). Each configuration has already defined its signing profiles and team.
@main
will start an application with anAppDelegate
that has linked the SwiftUI app lifecycle with a basicReducer
. You will have already configuredLogger
,Tweaks
,Mistica
style and build types. AdditionallyTweaks
will be shown if you shake your device.- Dependencies and linked libraries with the target:
- Mistica (mistica-ios)
- Platform (novum-platform-ios)
- Composable Arquitecture (swift-composable-architecture).
DEBUG
andAPI_ENVIRONMENT_OVERRIDE
preprocessors.- Entitlements and
Info.plist
files. - GitHub pull request template and gitignore file.
- Swift format config and binary
With the tool XcodeGen we can define a project.yml
that will generate an Xcode project for us.
-
Install XcodeGen
brew install xcodegen
-
Replace
MyProject
andMyTarget
with your project name and target onproject.yml
. -
Rename App/SupportFiles/BuildConfigs/
MyTarget
.xcconfig -
Generate the xcodeproj and opening it in Xcode
xcodegen generate && open *.xcodeproj
We need one more step on Xcode to make use of Xcode build configuration files for Debug/Enterprise/Release. Remember to change MyProject and MyTarget with the ones you replaced before:
-
Go to
Project
>Targets
>MyTarget
>Build Settings
and remove allCustomized
settings. -
Go to
Project
>MyProject
>Build Settings
and remove allCustomized
settings. -
Go to
Project
>MyProject
>Info
>Configuration
and select on each config the corresponding project config. So forDebug
/Enterprise
/Release
. >MyProject
replaceNone
byDebug
/Enterprise
/Release
and leave MyTarget withMyTarget
config.
Optionally you can define your bundle identifier by opening MyTarget.xcconfig
replacing occurrences of PlaceYourAppIdHere
and configure the corresponding provisioning profile once they are created.