Skip to content

tomu28/tca-swiftui-template

Repository files navigation

TCA-SwiftUI-Template

Version

Xcode: 12.5
Swift: 5.4
iOS: 14.5

Get Started

開発の準備

ツール・サブモジュールの準備は↓を叩いてください。

$ make setup

TCASwiftUITemplateApp.xcworkspace名の変更

$ mv TCASwiftUITemplateApp.xcworkspace/ XXXApp.xcworkspace/
$ rm -rf TCASwiftUITemplateApp.xcworkspace

MakefileのWORKSPACE名を変更

  • Before
    • WORKSPACE=TCASwiftUITemplateApp.xcworkspace
  • After
    • WORKSPACE=XXXApp.xcworkspace

Bundle Identifier名の変更

App TARGETS

App TARGETSSigning & CapabilitiesBundle Identifierより
template.Appとなっているので任意の名前に変更してください。

UICatalog TARGETS

UICatalog TARGETSSigning & CapabilitiesBundle Identifierより
template.UICatalogとなっているので任意の名前に変更してください。

開発の仕方

開発環境の開き方

↓のコマンドを叩くことで Xcode プロジェクトを開くことができます。 swift package generate-xcodeproj を叩く必要はありません。

$ make open

依存関係の追加の仕方

Swift Package Manager

新しくライブラリを追加したくなった場合は、 Xcode プロジェクトを開いた際サイドバーに AppPackage/Package.swift のファイルが見えるかと思いますのでそちらを開き、 packages に追加してください。 それ以降は各ライブラリで紹介されている方法に従ってください。

Carthage

プロジェクトルートにある Cartfile に依存関係を追加し、 carthage update ... コマンドを --use-xcframeworks オプション付きで実行してください。 追加した後、AppPackage/Package.swift の中の targets.binaryTarget(...) を使用して作成した xcframework をターゲットに追加します。

CocoaPods

CocoaPods については未検証のため、検証した際は追記します。

開発ルール

ソースコードのフォーマット

$ make run-format

swiftformatswift-modに従いフォーマットが適用されます。 PR作成前に実行してください。

import文はアルファベット順に並べる

ブランチ間で依存関係の変更があった際、conflictを減らすことが目的

Do:

import AppFeature
import Combine
import Foundation
import SwiftUI

Don't:

import SwiftUI
import Combine
import Foundation

import AppFeature

使用技術

アプリアーキテクチャ

pointfreeco/isowords を参考に作成しています。  architecture


Special Thanks! ry-itto

About

「The Composable Architecture + Feature単位でのモジュール分割」プロジェクトテンプレート

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published