Xcode: 12.5
Swift: 5.4
iOS: 14.5
ツール・サブモジュールの準備は↓を叩いてください。
$ make setup
$ mv TCASwiftUITemplateApp.xcworkspace/ XXXApp.xcworkspace/
$ rm -rf TCASwiftUITemplateApp.xcworkspace
Makefile
のWORKSPACE名を変更
- Before
WORKSPACE=TCASwiftUITemplateApp.xcworkspace
- After
WORKSPACE=XXXApp.xcworkspace
App TARGETS
→ Signing & Capabilities
→ Bundle Identifier
より
template.App
となっているので任意の名前に変更してください。
UICatalog TARGETS
→ Signing & Capabilities
→ Bundle Identifier
より
template.UICatalog
となっているので任意の名前に変更してください。
↓のコマンドを叩くことで Xcode プロジェクトを開くことができます。
swift package generate-xcodeproj
を叩く必要はありません。
$ make open
新しくライブラリを追加したくなった場合は、 Xcode プロジェクトを開いた際サイドバーに AppPackage/Package.swift
のファイルが見えるかと思いますのでそちらを開き、 packages
に追加してください。
それ以降は各ライブラリで紹介されている方法に従ってください。
プロジェクトルートにある Cartfile
に依存関係を追加し、 carthage update ...
コマンドを --use-xcframeworks
オプション付きで実行してください。
追加した後、AppPackage/Package.swift
の中の targets
に .binaryTarget(...)
を使用して作成した xcframework をターゲットに追加します。
CocoaPods については未検証のため、検証した際は追記します。
$ make run-format
swiftformatとswift-modに従いフォーマットが適用されます。 PR作成前に実行してください。
ブランチ間で依存関係の変更があった際、conflictを減らすことが目的
Do:
import AppFeature
import Combine
import Foundation
import SwiftUI
Don't:
import SwiftUI
import Combine
import Foundation
import AppFeature
- kean/Nuke
- firebase/firebase-ios-sdk
- pointfreeco/swift-composable-architecture
- grpc/grpc-swift
- airbnb/lottie-ios
- realm/SwiftLint
- nicklockwood/SwiftFormat
- ra1028/swift-mod
pointfreeco/isowords を参考に作成しています。
Special Thanks! ry-itto