Skip to content

Commit 7f90674

Browse files
authored
Merge pull request #254 from thingineeer/#253---업데이트-전-확인-브랜치
[Setting] #253 - Remote Config 세팅 작업을 완료 하였습니다.
2 parents 964fd99 + 6159f57 commit 7f90674

File tree

8 files changed

+127
-133
lines changed

8 files changed

+127
-133
lines changed

Runnect-iOS/Podfile.lock

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -637,6 +637,13 @@ PODS:
637637
- BoringSSL-GRPC/Interface (0.0.24)
638638
- CombineCocoa (0.4.1)
639639
- DropDown (2.3.13)
640+
- Firebase/CoreOnly (10.19.0):
641+
- FirebaseCore (= 10.19.0)
642+
- Firebase/RemoteConfig (10.19.0):
643+
- Firebase/CoreOnly
644+
- FirebaseRemoteConfig (~> 10.19.0)
645+
- FirebaseABTesting (10.20.0):
646+
- FirebaseCore (~> 10.0)
640647
- FirebaseAnalytics (10.19.0):
641648
- FirebaseAnalytics/AdIdSupport (= 10.19.0)
642649
- FirebaseCore (~> 10.0)
@@ -697,6 +704,13 @@ PODS:
697704
- GoogleUtilities/Environment (~> 7.8)
698705
- GoogleUtilities/UserDefaults (~> 7.8)
699706
- PromisesObjC (~> 2.1)
707+
- FirebaseRemoteConfig (10.19.0):
708+
- FirebaseABTesting (~> 10.0)
709+
- FirebaseCore (~> 10.0)
710+
- FirebaseInstallations (~> 10.0)
711+
- FirebaseSharedSwift (~> 10.0)
712+
- GoogleUtilities/Environment (~> 7.8)
713+
- "GoogleUtilities/NSData+zlib (~> 7.8)"
700714
- FirebaseSharedSwift (10.19.0)
701715
- GoogleAppMeasurement (10.19.0):
702716
- GoogleAppMeasurement/AdIdSupport (= 10.19.0)
@@ -840,6 +854,7 @@ PODS:
840854
DEPENDENCIES:
841855
- CombineCocoa
842856
- DropDown (from `https://github.com/thingineeer/DropDown.git`, commit `95ee36f7bd925d466033c2c169979f1c574bf3b9`)
857+
- Firebase/RemoteConfig
843858
- FirebaseAnalytics
844859
- FirebaseAuth
845860
- FirebaseDynamicLinks
@@ -862,6 +877,8 @@ SPEC REPOS:
862877
- Alamofire
863878
- BoringSSL-GRPC
864879
- CombineCocoa
880+
- Firebase
881+
- FirebaseABTesting
865882
- FirebaseAnalytics
866883
- FirebaseAppCheckInterop
867884
- FirebaseAuth
@@ -872,6 +889,7 @@ SPEC REPOS:
872889
- FirebaseFirestore
873890
- FirebaseFirestoreInternal
874891
- FirebaseInstallations
892+
- FirebaseRemoteConfig
875893
- FirebaseSharedSwift
876894
- GoogleAppMeasurement
877895
- GoogleUtilities
@@ -911,6 +929,8 @@ SPEC CHECKSUMS:
911929
BoringSSL-GRPC: 3175b25143e648463a56daeaaa499c6cb86dad33
912930
CombineCocoa: e5210dbfb480ff251078929459ac17e750e7af1d
913931
DropDown: bf260fd688978138019ad7d94f63a2362dad85ba
932+
Firebase: 63ce8ece0d43743dc28eacac0c6867a2d7fd5a9d
933+
FirebaseABTesting: 1d5d49804bcfc5fa782bc2491a8c1364e2cf7241
914934
FirebaseAnalytics: 87513010b13b7c8610164d3602ea10571f76afc1
915935
FirebaseAppCheckInterop: 37884781f3e16a1ba47e7ec80a1e805f987788e3
916936
FirebaseAuth: 2492acdcd1245d841fabdf58a050d6aa07dfce3f
@@ -921,6 +941,7 @@ SPEC CHECKSUMS:
921941
FirebaseFirestore: 9b9b21120c1a0cb4f2789ffb7fbb9138f94c47eb
922942
FirebaseFirestoreInternal: a15405fb607dfd14edd568bba77028f4c7a69688
923943
FirebaseInstallations: 033d199474164db20c8350736842a94fe717b960
944+
FirebaseRemoteConfig: a7fcc7a5941faa7e09248e91c8797340aa4c85f6
924945
FirebaseSharedSwift: f34eeb7d3ea87a34497629b6ca41657beadef76a
925946
GoogleAppMeasurement: 68afe759316673c6554dac35a0c7ae8f5d6cb4ed
926947
GoogleUtilities: 0759d1a57ebb953965c2dfe0ba4c82e95ccc2e34
@@ -944,6 +965,6 @@ SPEC CHECKSUMS:
944965
SnapKit: e01d52ebb8ddbc333eefe2132acf85c8227d9c25
945966
Then: 844265ae87834bbe1147d91d5d41a404da2ec27d
946967

947-
PODFILE CHECKSUM: 74de7f641476f143613e7b2bfe2c3275248503e4
968+
PODFILE CHECKSUM: f0cd212e642c1e168379427f2687ba88d51ce3cf
948969

949-
COCOAPODS: 1.14.3
970+
COCOAPODS: 1.15.0

Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88

99
/* Begin PBXBuildFile section */
1010
232686362B03AF4400675A17 /* NetworkProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 232686352B03AF4400675A17 /* NetworkProvider.swift */; };
11-
23628DDE2B6BCB9C00894B18 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 23628DDD2B6BCB9C00894B18 /* GoogleService-Info.plist */; };
1211
23EE06C12AC1AD5200CB3FF8 /* LocationSelectView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23EE06C02AC1AD5200CB3FF8 /* LocationSelectView.swift */; };
1312
23EE06C52AC1AE1900CB3FF8 /* BaseView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23EE06C42AC1AE1900CB3FF8 /* BaseView.swift */; };
1413
23EE06C92AC1DED100CB3FF8 /* GesturePublisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23EE06C82AC1DED100CB3FF8 /* GesturePublisher.swift */; };
@@ -85,8 +84,6 @@
8584
CE3A53C5296C6017003D518C /* KeychainManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE3A53C4296C6017003D518C /* KeychainManager.swift */; };
8685
CE40BB1C2967E4910030ABCA /* RunningWaitingVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE40BB1B2967E4910030ABCA /* RunningWaitingVC.swift */; };
8786
CE40BB1E2968054F0030ABCA /* BaseResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE40BB1D2968054F0030ABCA /* BaseResponse.swift */; };
88-
CE40BB20296805F70030ABCA /* NetworkResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE40BB1F296805F70030ABCA /* NetworkResult.swift */; };
89-
CE40BB22296806140030ABCA /* NetworkHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE40BB21296806140030ABCA /* NetworkHelper.swift */; };
9087
CE40BB2D296808B00030ABCA /* DepartureSearchingRouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE40BB2C296808B00030ABCA /* DepartureSearchingRouter.swift */; };
9188
CE4545C9295D7AF4003201E1 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE4545C8295D7AF4003201E1 /* AppDelegate.swift */; };
9289
CE4545CB295D7AF4003201E1 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE4545CA295D7AF4003201E1 /* SceneDelegate.swift */; };
@@ -181,7 +178,6 @@
181178

182179
/* Begin PBXFileReference section */
183180
232686352B03AF4400675A17 /* NetworkProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkProvider.swift; sourceTree = "<group>"; };
184-
23628DDD2B6BCB9C00894B18 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; };
185181
23EE06C02AC1AD5200CB3FF8 /* LocationSelectView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocationSelectView.swift; sourceTree = "<group>"; };
186182
23EE06C42AC1AE1900CB3FF8 /* BaseView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BaseView.swift; sourceTree = "<group>"; };
187183
23EE06C82AC1DED100CB3FF8 /* GesturePublisher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GesturePublisher.swift; sourceTree = "<group>"; };
@@ -266,8 +262,6 @@
266262
CE3A53C4296C6017003D518C /* KeychainManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeychainManager.swift; sourceTree = "<group>"; };
267263
CE40BB1B2967E4910030ABCA /* RunningWaitingVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunningWaitingVC.swift; sourceTree = "<group>"; };
268264
CE40BB1D2968054F0030ABCA /* BaseResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BaseResponse.swift; sourceTree = "<group>"; };
269-
CE40BB1F296805F70030ABCA /* NetworkResult.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkResult.swift; sourceTree = "<group>"; };
270-
CE40BB21296806140030ABCA /* NetworkHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkHelper.swift; sourceTree = "<group>"; };
271265
CE40BB2C296808B00030ABCA /* DepartureSearchingRouter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DepartureSearchingRouter.swift; sourceTree = "<group>"; };
272266
CE4545C5295D7AF4003201E1 /* Runnect-iOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Runnect-iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
273267
CE4545C8295D7AF4003201E1 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
@@ -1023,8 +1017,6 @@
10231017
children = (
10241018
CE40BB1D2968054F0030ABCA /* BaseResponse.swift */,
10251019
CE5875A1296015A2005D967E /* NetworkLoggerPlugin.swift */,
1026-
CE40BB1F296805F70030ABCA /* NetworkResult.swift */,
1027-
CE40BB21296806140030ABCA /* NetworkHelper.swift */,
10281020
712F661C2A7B7BAB00D9539B /* Config.swift */,
10291021
);
10301022
path = Foundation;
@@ -1413,7 +1405,6 @@
14131405
isa = PBXSourcesBuildPhase;
14141406
buildActionMask = 2147483647;
14151407
files = (
1416-
CE40BB20296805F70030ABCA /* NetworkResult.swift in Sources */,
14171408
715D36E82B2CC64000CAA9D6 /* MyUploadedCourseResponseDto.swift in Sources */,
14181409
CE55BC11296D4EA600E8CD69 /* RunningRecordRequestDto.swift in Sources */,
14191410
CE665604295D91B100C64E12 /* makeAlert.swift in Sources */,
@@ -1432,7 +1423,6 @@
14321423
CE14677829658C7200DCEA1B /* Stopwatch.swift in Sources */,
14331424
CE21C026299E5FF300F62AF5 /* CourseRouter.swift in Sources */,
14341425
23EE06C52AC1AE1900CB3FF8 /* BaseView.swift in Sources */,
1435-
CE40BB22296806140030ABCA /* NetworkHelper.swift in Sources */,
14361426
CE5645162961B72E000A2856 /* ImageLiterals.swift in Sources */,
14371427
CE4942AD296FCD2300736701 /* UploadedCourseDetailResponseDto.swift in Sources */,
14381428
CE6655CD295D856300C64E12 /* KeyPathFindable.swift in Sources */,
@@ -1711,9 +1701,11 @@
17111701
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
17121702
CODE_SIGN_ENTITLEMENTS = "Runnect-iOS/Runnect-iOSDebug.entitlements";
17131703
CODE_SIGN_IDENTITY = "Apple Development";
1714-
CODE_SIGN_STYLE = Automatic;
1704+
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
1705+
CODE_SIGN_STYLE = Manual;
17151706
CURRENT_PROJECT_VERSION = 2024.0122.2217;
1716-
DEVELOPMENT_TEAM = 8Q4H7X3Q58;
1707+
DEVELOPMENT_TEAM = "";
1708+
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 8Q4H7X3Q58;
17171709
GENERATE_INFOPLIST_FILE = NO;
17181710
INFOPLIST_FILE = "Runnect-iOS/Info.plist";
17191711
INFOPLIST_KEY_CFBundleDisplayName = Runnect;
@@ -1734,6 +1726,7 @@
17341726
PRODUCT_BUNDLE_IDENTIFIER = "com.runnect.Runnect-iOS";
17351727
PRODUCT_NAME = "$(TARGET_NAME)";
17361728
PROVISIONING_PROFILE_SPECIFIER = "";
1729+
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "match Development com.runnect.Runnect-iOS";
17371730
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
17381731
SUPPORTS_MACCATALYST = NO;
17391732
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
@@ -1752,9 +1745,11 @@
17521745
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
17531746
CODE_SIGN_ENTITLEMENTS = "Runnect-iOS/Runnect-iOS.entitlements";
17541747
CODE_SIGN_IDENTITY = "Apple Development";
1755-
CODE_SIGN_STYLE = Automatic;
1748+
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
1749+
CODE_SIGN_STYLE = Manual;
17561750
CURRENT_PROJECT_VERSION = 2024.0122.2217;
1757-
DEVELOPMENT_TEAM = 8Q4H7X3Q58;
1751+
DEVELOPMENT_TEAM = "";
1752+
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 8Q4H7X3Q58;
17581753
GENERATE_INFOPLIST_FILE = NO;
17591754
INFOPLIST_FILE = "Runnect-iOS/Info.plist";
17601755
INFOPLIST_KEY_CFBundleDisplayName = Runnect;
@@ -1775,6 +1770,7 @@
17751770
PRODUCT_BUNDLE_IDENTIFIER = "com.runnect.Runnect-iOS";
17761771
PRODUCT_NAME = "$(TARGET_NAME)";
17771772
PROVISIONING_PROFILE_SPECIFIER = "";
1773+
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "match Development com.runnect.Runnect-iOS";
17781774
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
17791775
SUPPORTS_MACCATALYST = NO;
17801776
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;

Runnect-iOS/Runnect-iOS.xcodeproj/xcshareddata/xcschemes/Runnect-iOS.xcscheme

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,6 @@
5151
ReferencedContainer = "container:Runnect-iOS.xcodeproj">
5252
</BuildableReference>
5353
</BuildableProductRunnable>
54-
<CommandLineArguments>
55-
<CommandLineArgument
56-
argument = "-FIRAnalyticsDebugEnabled"
57-
isEnabled = "NO">
58-
</CommandLineArgument>
59-
</CommandLineArguments>
6054
</LaunchAction>
6155
<ProfileAction
6256
buildConfiguration = "Release"

Runnect-iOS/Runnect-iOS/Global/Supports/AppDelegate.swift

Lines changed: 5 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import KakaoSDKCommon
1313
import FirebaseCore
1414
import FirebaseFirestore
1515
import FirebaseAuth
16-
import FirebaseRemoteConfig
1716

1817
@main
1918
class AppDelegate: UIResponder, UIApplicationDelegate {
@@ -27,92 +26,35 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
2726
_ = AuthController.handleOpenUrl(url: url)
2827
}
2928

30-
3129
}
3230
}
33-
31+
3432
func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
3533
// 세로방향 고정
3634
return UIInterfaceOrientationMask.portrait
3735
}
38-
36+
3937
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
4038

4139
FirebaseApp.configure()
42-
setRemoteConfig()
4340

4441
NMFAuthManager.shared().clientId = Config.naverMapClientId
4542
KakaoSDK.initSDK(appKey: Config.kakaoNativeAppKey)
4643

4744
return true
4845
}
49-
46+
5047
// MARK: UISceneSession Lifecycle
51-
48+
5249
func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
5350
// Called when a new scene session is being created.
5451
// Use this method to select a configuration to create the new scene with.
5552
return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role)
5653
}
57-
54+
5855
func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set<UISceneSession>) {
5956
// Called when the user discards a scene session.
6057
// If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions.
6158
// Use this method to release any resources that were specific to the discarded scenes, as they will not return.
6259
}
6360
}
64-
65-
extension AppDelegate {
66-
func setRemoteConfig() {
67-
let remoteConfig = RemoteConfig.remoteConfig()
68-
let settings = RemoteConfigSettings()
69-
70-
/// 개발 중에는 0으로 설정
71-
settings.minimumFetchInterval = 86400 // 24hour
72-
remoteConfig.configSettings = settings
73-
74-
remoteConfig.fetch() { (status, error) -> Void in
75-
if status == .success {
76-
remoteConfig.activate() { (changed, error) in
77-
guard let info = Bundle.main.infoDictionary,
78-
let currentVersion = info["CFBundleShortVersionString"] as? String,
79-
let identifier = info["CFBundleIdentifier"] as? String,
80-
let storeVersion = remoteConfig["iOS_current_market_version"].stringValue
81-
else { return }
82-
83-
if currentVersion.compare(storeVersion, options: .numeric) == .orderedAscending {
84-
self.showUpdateAlert()
85-
}
86-
}
87-
} else {
88-
print("Error: \(error?.localizedDescription ?? "No error available.")")
89-
}
90-
}
91-
}
92-
93-
func showUpdateAlert() {
94-
DispatchQueue.main.sync {
95-
let alert = UIAlertController(
96-
title: "업데이트 알림",
97-
message: "새로운 기능이 추가된 'Runnect'의 최신 버전을 만나보세요!\n지금 바로 업데이트하고 개선된 사용자 경험을 즐겨보세요.",
98-
preferredStyle: .alert
99-
)
100-
101-
let updateAction = UIAlertAction(title: "업데이트 링크", style: .default) { _ in
102-
let url = "itms-apps://itunes.apple.com/app/1663884202"
103-
if let url = URL(string: url), UIApplication.shared.canOpenURL(url) {
104-
if #available(iOS 13.0, *) {
105-
UIApplication.shared.open(url, options: [:], completionHandler: nil)
106-
} else {
107-
UIApplication.shared.openURL(url)
108-
}
109-
}
110-
}
111-
112-
alert.addAction(updateAction)
113-
if let vc = UIApplication.shared.keyWindow?.rootViewController {
114-
vc.present(alert, animated: true, completion: nil)
115-
}
116-
}
117-
}
118-
}

Runnect-iOS/Runnect-iOS/Network/Foundation/NetworkHelper.swift

Lines changed: 0 additions & 28 deletions
This file was deleted.

Runnect-iOS/Runnect-iOS/Network/Foundation/NetworkResult.swift

Lines changed: 0 additions & 16 deletions
This file was deleted.

0 commit comments

Comments
 (0)