Skip to content

Commit 2230e63

Browse files
authored
Merge pull request #647 from Team-WSS/Develop
[Release] v.1.4.0 업데이트
2 parents b8edb59 + 177ed54 commit 2230e63

File tree

31 files changed

+741
-314
lines changed

31 files changed

+741
-314
lines changed

.github/CODEOWNERS

Lines changed: 0 additions & 1 deletion
This file was deleted.

WSSiOS/WSSiOS.xcodeproj/project.pbxproj

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -330,18 +330,19 @@
330330
baseConfigurationReferenceAnchor = B9C8AAA52DDF646800F2076A /* WSSiOS */;
331331
baseConfigurationReferenceRelativePath = Debug.xcconfig;
332332
buildSettings = {
333-
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
333+
ASSETCATALOG_COMPILER_APPICON_NAME = AppIconDebug;
334334
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
335335
CODE_SIGN_ENTITLEMENTS = WSSiOS/WSSiOS.entitlements;
336336
CODE_SIGN_IDENTITY = "Apple Development";
337337
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
338338
CODE_SIGN_STYLE = Manual;
339-
CURRENT_PROJECT_VERSION = 2025080901;
339+
CURRENT_PROJECT_VERSION = 2026010601;
340340
DEVELOPMENT_TEAM = "";
341-
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = L4327HMP3S;
341+
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 9SVDHQS4M3;
342342
GENERATE_INFOPLIST_FILE = YES;
343343
INFOPLIST_FILE = WSSiOS/Info.plist;
344-
INFOPLIST_KEY_CFBundleDisplayName = "웹소소_Debug";
344+
INFOPLIST_KEY_CFBundleDisplayName = "$(WSS_Bundle_Name)";
345+
INFOPLIST_KEY_ITSAppUsesNonExemptEncryption = NO;
345346
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.books";
346347
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
347348
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
@@ -353,18 +354,19 @@
353354
"$(inherited)",
354355
"@executable_path/Frameworks",
355356
);
356-
MARKETING_VERSION = 1.3.0;
357-
PRODUCT_BUNDLE_IDENTIFIER = kr.websoso.debug;
357+
MARKETING_VERSION = 1.4.0;
358+
PRODUCT_BUNDLE_IDENTIFIER = kr.websoso.debug2;
358359
PRODUCT_NAME = "$(TARGET_NAME)";
359360
PROVISIONING_PROFILE_SPECIFIER = "";
360-
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "match Development kr.websoso.debug";
361+
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = websosoDebugProvisioning;
361362
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
362363
SUPPORTS_MACCATALYST = NO;
363364
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
364365
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
365366
SWIFT_EMIT_LOC_STRINGS = YES;
366367
SWIFT_VERSION = 5.0;
367368
TARGETED_DEVICE_FAMILY = 1;
369+
WSS_Bundle_Name = "웹소소_DEBUG";
368370
};
369371
name = Debug;
370372
};
@@ -379,12 +381,13 @@
379381
CODE_SIGN_IDENTITY = "Apple Development";
380382
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
381383
CODE_SIGN_STYLE = Manual;
382-
CURRENT_PROJECT_VERSION = 2025080901;
384+
CURRENT_PROJECT_VERSION = 2026010601;
383385
DEVELOPMENT_TEAM = "";
384-
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = L4327HMP3S;
386+
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 9SVDHQS4M3;
385387
GENERATE_INFOPLIST_FILE = YES;
386388
INFOPLIST_FILE = WSSiOS/Info.plist;
387-
INFOPLIST_KEY_CFBundleDisplayName = "웹소소";
389+
INFOPLIST_KEY_CFBundleDisplayName = "$(WSS_Bundle_Name)";
390+
INFOPLIST_KEY_ITSAppUsesNonExemptEncryption = NO;
388391
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.books";
389392
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
390393
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
@@ -396,18 +399,19 @@
396399
"$(inherited)",
397400
"@executable_path/Frameworks",
398401
);
399-
MARKETING_VERSION = 1.3.0;
402+
MARKETING_VERSION = 1.4.0;
400403
PRODUCT_BUNDLE_IDENTIFIER = kr.websoso;
401404
PRODUCT_NAME = "$(TARGET_NAME)";
402405
PROVISIONING_PROFILE_SPECIFIER = "";
403-
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = websosoReleaseProvisioning;
406+
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = websosoProvisioningFile;
404407
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
405408
SUPPORTS_MACCATALYST = NO;
406409
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
407410
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
408411
SWIFT_EMIT_LOC_STRINGS = YES;
409412
SWIFT_VERSION = 5.0;
410413
TARGETED_DEVICE_FAMILY = 1;
414+
WSS_Bundle_Name = "웹소소";
411415
};
412416
name = Release;
413417
};
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Scheme
3+
LastUpgradeVersion = "2620"
4+
version = "1.7">
5+
<BuildAction
6+
parallelizeBuildables = "YES"
7+
buildImplicitDependencies = "YES"
8+
buildArchitectures = "Automatic">
9+
<BuildActionEntries>
10+
<BuildActionEntry
11+
buildForTesting = "YES"
12+
buildForRunning = "YES"
13+
buildForProfiling = "YES"
14+
buildForArchiving = "YES"
15+
buildForAnalyzing = "YES">
16+
<BuildableReference
17+
BuildableIdentifier = "primary"
18+
BlueprintIdentifier = "2CD229172B42E685005400BE"
19+
BuildableName = "WSSiOS.app"
20+
BlueprintName = "WSSiOS"
21+
ReferencedContainer = "container:WSSiOS.xcodeproj">
22+
</BuildableReference>
23+
</BuildActionEntry>
24+
</BuildActionEntries>
25+
</BuildAction>
26+
<TestAction
27+
buildConfiguration = "Debug"
28+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
29+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
30+
shouldUseLaunchSchemeArgsEnv = "YES"
31+
shouldAutocreateTestPlan = "YES">
32+
</TestAction>
33+
<LaunchAction
34+
buildConfiguration = "Debug"
35+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
36+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
37+
launchStyle = "0"
38+
useCustomWorkingDirectory = "NO"
39+
ignoresPersistentStateOnLaunch = "NO"
40+
debugDocumentVersioning = "YES"
41+
debugServiceExtension = "internal"
42+
allowLocationSimulation = "YES">
43+
<BuildableProductRunnable
44+
runnableDebuggingMode = "0">
45+
<BuildableReference
46+
BuildableIdentifier = "primary"
47+
BlueprintIdentifier = "2CD229172B42E685005400BE"
48+
BuildableName = "WSSiOS.app"
49+
BlueprintName = "WSSiOS"
50+
ReferencedContainer = "container:WSSiOS.xcodeproj">
51+
</BuildableReference>
52+
</BuildableProductRunnable>
53+
</LaunchAction>
54+
<ProfileAction
55+
buildConfiguration = "Debug"
56+
shouldUseLaunchSchemeArgsEnv = "YES"
57+
savedToolIdentifier = ""
58+
useCustomWorkingDirectory = "NO"
59+
debugDocumentVersioning = "YES">
60+
<BuildableProductRunnable
61+
runnableDebuggingMode = "0">
62+
<BuildableReference
63+
BuildableIdentifier = "primary"
64+
BlueprintIdentifier = "2CD229172B42E685005400BE"
65+
BuildableName = "WSSiOS.app"
66+
BlueprintName = "WSSiOS"
67+
ReferencedContainer = "container:WSSiOS.xcodeproj">
68+
</BuildableReference>
69+
</BuildableProductRunnable>
70+
</ProfileAction>
71+
<AnalyzeAction
72+
buildConfiguration = "Debug">
73+
</AnalyzeAction>
74+
<ArchiveAction
75+
buildConfiguration = "Debug"
76+
revealArchiveInOrganizer = "YES">
77+
</ArchiveAction>
78+
</Scheme>

WSSiOS/WSSiOS.xcodeproj/xcshareddata/xcschemes/WSSiOS.xcscheme

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,14 @@
2424
</BuildActionEntries>
2525
</BuildAction>
2626
<TestAction
27-
buildConfiguration = "Debug"
27+
buildConfiguration = "Release"
2828
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
2929
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
3030
shouldUseLaunchSchemeArgsEnv = "YES"
3131
shouldAutocreateTestPlan = "YES">
3232
</TestAction>
3333
<LaunchAction
34-
buildConfiguration = "Debug"
34+
buildConfiguration = "Release"
3535
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
3636
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
3737
launchStyle = "0"
@@ -76,11 +76,11 @@
7676
</BuildableProductRunnable>
7777
</ProfileAction>
7878
<AnalyzeAction
79-
buildConfiguration = "Debug">
79+
buildConfiguration = "Release">
8080
</AnalyzeAction>
8181
<ArchiveAction
82-
buildConfiguration = "Debug"
83-
customArchiveName = "WSSiOS_DEV"
82+
buildConfiguration = "Release"
83+
customArchiveName = "WSSiOS"
8484
revealArchiveInOrganizer = "YES">
8585
</ArchiveAction>
8686
</Scheme>

WSSiOS/WSSiOS/App/SceneDelegate.swift

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,14 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate {
3535
DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) {
3636
self.checkIsRegistered()
3737

38+
// v.1.4.0 로그인 확인을 위한 로그인 화면 이동
39+
// 앱 업데이트 이후 첫 앱 진입시에만 반영되도록 함
40+
let didLoginV140 = UserDefaults.standard.bool(forKey: StringLiterals.UserDefault.didEnterLoginV140)
41+
if !didLoginV140 {
42+
self.setRootToLoginViewController()
43+
return
44+
}
45+
3846
if APIConstants.isLogined {
3947
self.setRootToWSSTabBarController()
4048
} else {

WSSiOS/WSSiOS/Info.plist

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
33
<plist version="1.0">
44
<dict>
5-
<key>ITSAppUsesNonExemptEncryption</key>
6-
<false/>
75
<key>AMPLITUDE_API_KEY</key>
86
<string>$(AMPLITUDE_API_KEY)</string>
97
<key>APPSTORE_ID</key>
@@ -23,6 +21,8 @@
2321
</array>
2422
</dict>
2523
</array>
24+
<key>FirebaseAppDelegateProxyEnabled</key>
25+
<false/>
2626
<key>KAKAO_APP_KEY</key>
2727
<string>$(KAKAO_APP_KEY)</string>
2828
<key>LSApplicationQueriesSchemes</key>
@@ -66,7 +66,5 @@
6666
<array>
6767
<string>remote-notification</string>
6868
</array>
69-
<key>FirebaseAppDelegateProxyEnabled</key>
70-
<false/>
7169
</dict>
7270
</plist>

WSSiOS/WSSiOS/Network/Auth/AuthService.swift

Lines changed: 37 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ protocol AuthService {
1717
func postWithdrawId(withdrawData: WithdrawRequest) -> Single<Void>
1818
func postLogout(logoutRequest: LogoutRequest) -> Single<Void>
1919
func checkUserisValid() -> Single<Void>
20+
func syncAppleLoginState(authorizationCode: String,
21+
idToken: String) -> Single<Void>
2022
}
2123

2224

@@ -25,20 +27,20 @@ final class DefaultAuthService: NSObject, Networking, AuthService {
2527
guard let appleLoginBody = try? JSONEncoder().encode(AppleLoginBody(authorizationCode: authorizationCode, idToken: idToken)) else {
2628
return Single.error(NetworkServiceError.invalidRequestError)
2729
}
28-
30+
2931
do {
3032
let request = try makeHTTPRequest(method: .post,
3133
path: URLs.Auth.loginWithApple,
3234
headers: APIConstants.noTokenHeader,
3335
body: appleLoginBody)
34-
36+
3537
NetworkLogger.log(request: request)
36-
38+
3739
return basicURLSession.rx.data(request: request)
3840
.map { try self.decode(data: $0,
3941
to: LoginResponse.self) }
4042
.asSingle()
41-
43+
4244
} catch {
4345
return Single.error(error)
4446
}
@@ -50,9 +52,9 @@ final class DefaultAuthService: NSObject, Networking, AuthService {
5052
path: URLs.Auth.loginWithKakao,
5153
headers: APIConstants.kakaoLoginHeader(kakaoAccessToken),
5254
body: nil)
53-
55+
5456
NetworkLogger.log(request: request)
55-
57+
5658
return basicURLSession.rx.data(request: request)
5759
.map { try self.decode(data: $0,
5860
to: LoginResponse.self) }
@@ -71,20 +73,20 @@ final class DefaultAuthService: NSObject, Networking, AuthService {
7173
guard let reissueBody = try? JSONEncoder().encode(ReissueRequest(refreshToken: refreshToken)) else {
7274
return Single.error(NetworkServiceError.invalidRequestError)
7375
}
74-
76+
7577
do {
7678
let request = try makeHTTPRequest(method: .post,
7779
path: URLs.Auth.reissue,
7880
headers: APIConstants.noTokenHeader,
7981
body: reissueBody)
80-
82+
8183
NetworkLogger.log(request: request)
82-
84+
8385
return basicURLSession.rx.data(request: request)
8486
.map { try self.decode(data: $0,
8587
to: ReissueResponse.self) }
8688
.asSingle()
87-
89+
8890
} catch {
8991
return Single.error(error)
9092
}
@@ -101,7 +103,7 @@ final class DefaultAuthService: NSObject, Networking, AuthService {
101103
body: data)
102104

103105
NetworkLogger.log(request: request)
104-
106+
105107
return tokenCheckURLSession.rx.data(request: request)
106108
.map { _ in }
107109
.asSingle()
@@ -121,7 +123,7 @@ final class DefaultAuthService: NSObject, Networking, AuthService {
121123
body: data)
122124

123125
NetworkLogger.log(request: request)
124-
126+
125127
return tokenCheckURLSession.rx.data(request: request)
126128
.map { _ in }
127129
.asSingle()
@@ -148,6 +150,28 @@ final class DefaultAuthService: NSObject, Networking, AuthService {
148150
return Single.error(error)
149151
}
150152
}
151-
}
152153

154+
func syncAppleLoginState(authorizationCode: String,
155+
idToken: String) -> Single<Void> {
156+
do {
157+
guard let appleLoginBody = try? JSONEncoder().encode(AppleLoginBody(authorizationCode: authorizationCode, idToken: idToken)) else {
158+
return Single.error(NetworkServiceError.invalidRequestError)
159+
}
160+
161+
let request = try makeHTTPRequest(method: .patch,
162+
path: URLs.Auth.authAppleSync,
163+
headers: APIConstants.accessTokenHeader,
164+
body: appleLoginBody)
165+
166+
NetworkLogger.log(request: request)
167+
168+
return basicURLSession.rx.data(request: request)
169+
.map { _ in }
170+
.asSingle()
171+
} catch {
172+
return Single.error(error)
173+
}
174+
}
175+
}
176+
153177

21 KB
Loading
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"images" : [
3+
{
4+
"filename" : "AppIconDebug.png",
5+
"idiom" : "universal",
6+
"platform" : "ios",
7+
"size" : "1024x1024"
8+
}
9+
],
10+
"info" : {
11+
"author" : "xcode",
12+
"version" : 1
13+
}
14+
}

WSSiOS/WSSiOS/Resource/Constants/Strings/StringLiterals+MyPage.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ import Foundation
1010
extension StringLiterals {
1111
enum MyPage {
1212
enum Modal {
13-
static let keepOriginally = "원래대로 유지하기"
14-
static let changeCharacter = "대표 캐릭터 설정하기"
13+
static let keepOriginally = "취소"
14+
static let changeCharacter = "확인"
1515
}
1616

1717
enum Profile {

0 commit comments

Comments
 (0)