Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
13 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .ruby-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.3.9
2 changes: 2 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
source "https://rubygems.org"

ruby "3.3.9"

gem "fastlane"
3 changes: 3 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -234,5 +234,8 @@ PLATFORMS
DEPENDENCIES
fastlane

RUBY VERSION
ruby 3.3.9p170

BUNDLED WITH
2.7.2
14 changes: 7 additions & 7 deletions Projects/Presentation/Hifi/Sources/Reducer/HifiFeature.swift
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ public struct HifiFeature {
}

public enum AsyncAction: Equatable {
case search(reset: Bool)
case searchRequested(reset: Bool)
}

public enum InnerAction: Equatable {
Expand Down Expand Up @@ -91,29 +91,29 @@ extension HifiFeature {
) -> Effect<Action> {
switch action {
case .onAppear:
return .send(.async(.search(reset: true)))
return .send(.async(.searchRequested(reset: true)))

case let .categoryTapped(category):
state.selectedCategory = category
return .send(.async(.search(reset: true)))
return .send(.async(.searchRequested(reset: true)))

case let .swipedCategory(forward):
// 좌우 스와이프 → 인접 카테고리로 전환 (범위 벗어나면 무시)
guard let next = adjacentCategory(in: state, forward: forward) else { return .none }
state.selectedCategory = next
return .send(.async(.search(reset: true)))
return .send(.async(.searchRequested(reset: true)))

case let .sortTapped(sort):
state.selectedSort = sort
return .send(.async(.search(reset: true)))
return .send(.async(.searchRequested(reset: true)))

case let .itemTapped(id):
return .send(.delegate(.openBattle(battleId: id)))

case .reachedBottom:
// 무한 스크롤: 다음 페이지가 있고 로딩 중이 아니면 추가 로드.
guard state.hasNext, !state.isLoading else { return .none }
return .send(.async(.search(reset: false)))
return .send(.async(.searchRequested(reset: false)))
}
}

Expand All @@ -131,7 +131,7 @@ extension HifiFeature {
action: AsyncAction
) -> Effect<Action> {
switch action {
case let .search(reset):
case let .searchRequested(reset):
state.isLoading = true
if reset { state.items = [] }
let category = state.selectedCategory.queryValue
Expand Down
30 changes: 18 additions & 12 deletions fastlane/Fastfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
# Fastlane 기본 설정
update_fastlane
default_platform(:ios)

ENV["FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT"] = "600"
Expand Down Expand Up @@ -101,16 +100,21 @@ platform :ios do
scheme: "Picke-Stage",
configuration: "Release",
export_method: "app-store",
output_directory: File.expand_path("../#{OUTPUT_DIR}"),
output_directory: File.expand_path(OUTPUT_DIR),
output_name: IPA_FILENAME,
clean: false,
silent: true,
silent: false,
build_timing_summary: true,
disable_package_automatic_updates: true,
skip_package_dependencies_resolution: true,
skip_package_repository_fetches: true,
use_system_scm: true,
xcargs: "CODE_SIGN_IDENTITY='Apple Distribution' CODE_SIGN_STYLE=Manual DEVELOPMENT_TEAM=#{TEAM_ID} " +
"COMPILER_INDEX_STORE_ENABLE=NO ENABLE_BITCODE=NO " +
"SWIFT_COMPILATION_MODE=wholemodule -parallelizeTargets " +
"SWIFT_COMPILATION_MODE=incremental -parallelizeTargets " +
"ENABLE_PARALLEL_SIGNING=YES DISABLE_MANUAL_TARGET_ORDER_BUILD_WARNING=YES " +
"FRAMEWORK_SEARCH_PATHS='$(inherited)' LIBRARY_SEARCH_PATHS='$(inherited)' " +
"-allowProvisioningUpdates -quiet",
"-allowProvisioningUpdates",
export_options: {
signingStyle: "manual",
uploadBitcode: false,
Expand Down Expand Up @@ -258,16 +262,21 @@ platform :ios do
scheme: "Picke-Prod",
configuration: "Release",
export_method: "app-store",
output_directory: File.expand_path("../#{OUTPUT_DIR}"),
output_directory: File.expand_path(OUTPUT_DIR),
output_name: IPA_FILENAME,
clean: false,
silent: true,
silent: false,
build_timing_summary: true,
disable_package_automatic_updates: true,
skip_package_dependencies_resolution: true,
skip_package_repository_fetches: true,
use_system_scm: true,
xcargs: "CODE_SIGN_IDENTITY='Apple Distribution: Wonji Suh (N94CS4N6VR)' CODE_SIGN_STYLE=Manual DEVELOPMENT_TEAM=#{TEAM_ID} " +
"COMPILER_INDEX_STORE_ENABLE=NO ENABLE_BITCODE=NO " +
"SWIFT_COMPILATION_MODE=wholemodule -parallelizeTargets " +
"SWIFT_COMPILATION_MODE=incremental -parallelizeTargets " +
"ENABLE_PARALLEL_SIGNING=YES DISABLE_MANUAL_TARGET_ORDER_BUILD_WARNING=YES " +
"FRAMEWORK_SEARCH_PATHS='$(inherited)' LIBRARY_SEARCH_PATHS='$(inherited)' " +
"-allowProvisioningUpdates -quiet",
"-allowProvisioningUpdates",
export_options: {
signingStyle: "manual",
uploadBitcode: false,
Expand Down Expand Up @@ -356,6 +365,3 @@ platform :ios do
end
end
end



48 changes: 48 additions & 0 deletions fastlane/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
fastlane documentation
----

# Installation

Make sure you have the latest version of the Xcode command line tools installed:

```sh
xcode-select --install
```

For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane)

# Available Actions

## iOS

### ios QA

```sh
[bundle exec] fastlane ios QA
```

Upload to TestFlight (Debug)

### ios release

```sh
[bundle exec] fastlane ios release
```

Submit to App Store

### ios submit_for_review

```sh
[bundle exec] fastlane ios submit_for_review
```

Submit already uploaded version for review

----

This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run.

More information about _fastlane_ can be found on [fastlane.tools](https://fastlane.tools).

The documentation of _fastlane_ can be found on [docs.fastlane.tools](https://docs.fastlane.tools).
Loading