diff --git a/Spon-Us.xcodeproj/project.pbxproj b/Spon-Us.xcodeproj/project.pbxproj index c292ac5..c381223 100644 --- a/Spon-Us.xcodeproj/project.pbxproj +++ b/Spon-Us.xcodeproj/project.pbxproj @@ -26,6 +26,34 @@ 3B82D8B22C32538D008E0138 /* WriteCompanyProfileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B82D8B12C32538D008E0138 /* WriteCompanyProfileView.swift */; }; 3B82D8B52C3253CE008E0138 /* MyPageModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B82D8B42C3253CE008E0138 /* MyPageModel.swift */; }; 3B82D8B72C3253E3008E0138 /* MypageViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B82D8B62C3253E3008E0138 /* MypageViewModel.swift */; }; + 804F99832C80CA48005D286F /* FirebaseAnalytics in Frameworks */ = {isa = PBXBuildFile; productRef = 804F99822C80CA48005D286F /* FirebaseAnalytics */; }; + 804F99852C80CA48005D286F /* FirebaseAnalyticsOnDeviceConversion in Frameworks */ = {isa = PBXBuildFile; productRef = 804F99842C80CA48005D286F /* FirebaseAnalyticsOnDeviceConversion */; }; + 804F99872C80CA48005D286F /* FirebaseAnalyticsSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 804F99862C80CA48005D286F /* FirebaseAnalyticsSwift */; }; + 804F99892C80CA48005D286F /* FirebaseAnalyticsWithoutAdIdSupport in Frameworks */ = {isa = PBXBuildFile; productRef = 804F99882C80CA48005D286F /* FirebaseAnalyticsWithoutAdIdSupport */; }; + 804F998B2C80CA48005D286F /* FirebaseAppCheck in Frameworks */ = {isa = PBXBuildFile; productRef = 804F998A2C80CA48005D286F /* FirebaseAppCheck */; }; + 804F998D2C80CA48005D286F /* FirebaseAppDistribution-Beta in Frameworks */ = {isa = PBXBuildFile; productRef = 804F998C2C80CA48005D286F /* FirebaseAppDistribution-Beta */; }; + 804F998F2C80CA48005D286F /* FirebaseAuth in Frameworks */ = {isa = PBXBuildFile; productRef = 804F998E2C80CA48005D286F /* FirebaseAuth */; }; + 804F99912C80CA48005D286F /* FirebaseAuthCombine-Community in Frameworks */ = {isa = PBXBuildFile; productRef = 804F99902C80CA48005D286F /* FirebaseAuthCombine-Community */; }; + 804F99932C80CA48005D286F /* FirebaseCrashlytics in Frameworks */ = {isa = PBXBuildFile; productRef = 804F99922C80CA48005D286F /* FirebaseCrashlytics */; }; + 804F99952C80CA48005D286F /* FirebaseDatabase in Frameworks */ = {isa = PBXBuildFile; productRef = 804F99942C80CA48005D286F /* FirebaseDatabase */; }; + 804F99972C80CA48005D286F /* FirebaseDatabaseSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 804F99962C80CA48005D286F /* FirebaseDatabaseSwift */; }; + 804F99992C80CA48005D286F /* FirebaseDynamicLinks in Frameworks */ = {isa = PBXBuildFile; productRef = 804F99982C80CA48005D286F /* FirebaseDynamicLinks */; }; + 804F999B2C80CA48005D286F /* FirebaseFirestore in Frameworks */ = {isa = PBXBuildFile; productRef = 804F999A2C80CA48005D286F /* FirebaseFirestore */; }; + 804F999D2C80CA48005D286F /* FirebaseFirestoreCombine-Community in Frameworks */ = {isa = PBXBuildFile; productRef = 804F999C2C80CA48005D286F /* FirebaseFirestoreCombine-Community */; }; + 804F999F2C80CA48005D286F /* FirebaseFirestoreSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 804F999E2C80CA48005D286F /* FirebaseFirestoreSwift */; }; + 804F99A12C80CA48005D286F /* FirebaseFunctions in Frameworks */ = {isa = PBXBuildFile; productRef = 804F99A02C80CA48005D286F /* FirebaseFunctions */; }; + 804F99A32C80CA48005D286F /* FirebaseFunctionsCombine-Community in Frameworks */ = {isa = PBXBuildFile; productRef = 804F99A22C80CA48005D286F /* FirebaseFunctionsCombine-Community */; }; + 804F99A52C80CA48005D286F /* FirebaseInAppMessaging-Beta in Frameworks */ = {isa = PBXBuildFile; productRef = 804F99A42C80CA48005D286F /* FirebaseInAppMessaging-Beta */; }; + 804F99A72C80CA48005D286F /* FirebaseInAppMessagingSwift-Beta in Frameworks */ = {isa = PBXBuildFile; productRef = 804F99A62C80CA48005D286F /* FirebaseInAppMessagingSwift-Beta */; }; + 804F99A92C80CA48005D286F /* FirebaseInstallations in Frameworks */ = {isa = PBXBuildFile; productRef = 804F99A82C80CA48005D286F /* FirebaseInstallations */; }; + 804F99AB2C80CA48005D286F /* FirebaseMLModelDownloader in Frameworks */ = {isa = PBXBuildFile; productRef = 804F99AA2C80CA48005D286F /* FirebaseMLModelDownloader */; }; + 804F99AD2C80CA48005D286F /* FirebaseMessaging in Frameworks */ = {isa = PBXBuildFile; productRef = 804F99AC2C80CA48005D286F /* FirebaseMessaging */; }; + 804F99AF2C80CA48005D286F /* FirebasePerformance in Frameworks */ = {isa = PBXBuildFile; productRef = 804F99AE2C80CA48005D286F /* FirebasePerformance */; }; + 804F99B12C80CA48005D286F /* FirebaseRemoteConfig in Frameworks */ = {isa = PBXBuildFile; productRef = 804F99B02C80CA48005D286F /* FirebaseRemoteConfig */; }; + 804F99B32C80CA48005D286F /* FirebaseRemoteConfigSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 804F99B22C80CA48005D286F /* FirebaseRemoteConfigSwift */; }; + 804F99B52C80CA48005D286F /* FirebaseStorage in Frameworks */ = {isa = PBXBuildFile; productRef = 804F99B42C80CA48005D286F /* FirebaseStorage */; }; + 804F99B72C80CA48005D286F /* FirebaseStorageCombine-Community in Frameworks */ = {isa = PBXBuildFile; productRef = 804F99B62C80CA48005D286F /* FirebaseStorageCombine-Community */; }; + 804F99B92C80D45A005D286F /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 804F99B82C80D45A005D286F /* GoogleService-Info.plist */; }; 8065E24D2C332A63001B35DD /* NavigationBackBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8065E24C2C332A63001B35DD /* NavigationBackBar.swift */; }; 8065E24F2C333070001B35DD /* SignUpIdView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8065E24E2C333070001B35DD /* SignUpIdView.swift */; }; 8065E2512C3427AB001B35DD /* SignUpPWView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8065E2502C3427AB001B35DD /* SignUpPWView.swift */; }; @@ -102,6 +130,8 @@ 3B82D8B12C32538D008E0138 /* WriteCompanyProfileView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WriteCompanyProfileView.swift; sourceTree = ""; }; 3B82D8B42C3253CE008E0138 /* MyPageModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyPageModel.swift; sourceTree = ""; }; 3B82D8B62C3253E3008E0138 /* MypageViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MypageViewModel.swift; sourceTree = ""; }; + 804F99B82C80D45A005D286F /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "../../김수민대학교/프로젝트/스포너스 Security/GoogleService-Info.plist"; sourceTree = ""; }; + 804F99BA2C80DE2C005D286F /* Spon-UsDebug.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "Spon-UsDebug.entitlements"; sourceTree = ""; }; 8065E24C2C332A63001B35DD /* NavigationBackBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationBackBar.swift; sourceTree = ""; }; 8065E24E2C333070001B35DD /* SignUpIdView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignUpIdView.swift; sourceTree = ""; }; 8065E2502C3427AB001B35DD /* SignUpPWView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignUpPWView.swift; sourceTree = ""; }; @@ -156,15 +186,42 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 804F99B12C80CA48005D286F /* FirebaseRemoteConfig in Frameworks */, + 804F99AD2C80CA48005D286F /* FirebaseMessaging in Frameworks */, + 804F99972C80CA48005D286F /* FirebaseDatabaseSwift in Frameworks */, + 804F99892C80CA48005D286F /* FirebaseAnalyticsWithoutAdIdSupport in Frameworks */, + 804F99A72C80CA48005D286F /* FirebaseInAppMessagingSwift-Beta in Frameworks */, + 804F99A52C80CA48005D286F /* FirebaseInAppMessaging-Beta in Frameworks */, + 804F99872C80CA48005D286F /* FirebaseAnalyticsSwift in Frameworks */, + 804F99AF2C80CA48005D286F /* FirebasePerformance in Frameworks */, + 804F998D2C80CA48005D286F /* FirebaseAppDistribution-Beta in Frameworks */, + 804F99B32C80CA48005D286F /* FirebaseRemoteConfigSwift in Frameworks */, + 804F99912C80CA48005D286F /* FirebaseAuthCombine-Community in Frameworks */, + 804F99992C80CA48005D286F /* FirebaseDynamicLinks in Frameworks */, 80CF29FC2C29CBC900CACA53 /* ReactiveMoya in Frameworks */, DF40749A2C286FCC00321E05 /* Moya in Frameworks */, + 804F998B2C80CA48005D286F /* FirebaseAppCheck in Frameworks */, + 804F99A92C80CA48005D286F /* FirebaseInstallations in Frameworks */, + 804F999B2C80CA48005D286F /* FirebaseFirestore in Frameworks */, + 804F99852C80CA48005D286F /* FirebaseAnalyticsOnDeviceConversion in Frameworks */, + 804F99B52C80CA48005D286F /* FirebaseStorage in Frameworks */, DF4074982C286FCC00321E05 /* CombineMoya in Frameworks */, 8065E2542C342D78001B35DD /* PopupView in Frameworks */, 80CF29FA2C29CBC900CACA53 /* Moya in Frameworks */, + 804F999D2C80CA48005D286F /* FirebaseFirestoreCombine-Community in Frameworks */, DF40749E2C286FCC00321E05 /* RxMoya in Frameworks */, 80CF29F82C29CBC900CACA53 /* CombineMoya in Frameworks */, + 804F99A12C80CA48005D286F /* FirebaseFunctions in Frameworks */, 80CF29FE2C29CBC900CACA53 /* RxMoya in Frameworks */, + 804F99832C80CA48005D286F /* FirebaseAnalytics in Frameworks */, + 804F99932C80CA48005D286F /* FirebaseCrashlytics in Frameworks */, + 804F99A32C80CA48005D286F /* FirebaseFunctionsCombine-Community in Frameworks */, + 804F99952C80CA48005D286F /* FirebaseDatabase in Frameworks */, DF40749C2C286FCC00321E05 /* ReactiveMoya in Frameworks */, + 804F99AB2C80CA48005D286F /* FirebaseMLModelDownloader in Frameworks */, + 804F998F2C80CA48005D286F /* FirebaseAuth in Frameworks */, + 804F99B72C80CA48005D286F /* FirebaseStorageCombine-Community in Frameworks */, + 804F999F2C80CA48005D286F /* FirebaseFirestoreSwift in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -323,6 +380,8 @@ DFBE0B742BE601C400246814 /* Spon-Us */ = { isa = PBXGroup; children = ( + 804F99BA2C80DE2C005D286F /* Spon-UsDebug.entitlements */, + 804F99B82C80D45A005D286F /* GoogleService-Info.plist */, 8065E24B2C332A1F001B35DD /* Componenet */, 80CF29E82C29AB6200CACA53 /* Auth */, DF4074932C286FA100321E05 /* Network */, @@ -485,6 +544,33 @@ 80CF29FB2C29CBC900CACA53 /* ReactiveMoya */, 80CF29FD2C29CBC900CACA53 /* RxMoya */, 8065E2532C342D78001B35DD /* PopupView */, + 804F99822C80CA48005D286F /* FirebaseAnalytics */, + 804F99842C80CA48005D286F /* FirebaseAnalyticsOnDeviceConversion */, + 804F99862C80CA48005D286F /* FirebaseAnalyticsSwift */, + 804F99882C80CA48005D286F /* FirebaseAnalyticsWithoutAdIdSupport */, + 804F998A2C80CA48005D286F /* FirebaseAppCheck */, + 804F998C2C80CA48005D286F /* FirebaseAppDistribution-Beta */, + 804F998E2C80CA48005D286F /* FirebaseAuth */, + 804F99902C80CA48005D286F /* FirebaseAuthCombine-Community */, + 804F99922C80CA48005D286F /* FirebaseCrashlytics */, + 804F99942C80CA48005D286F /* FirebaseDatabase */, + 804F99962C80CA48005D286F /* FirebaseDatabaseSwift */, + 804F99982C80CA48005D286F /* FirebaseDynamicLinks */, + 804F999A2C80CA48005D286F /* FirebaseFirestore */, + 804F999C2C80CA48005D286F /* FirebaseFirestoreCombine-Community */, + 804F999E2C80CA48005D286F /* FirebaseFirestoreSwift */, + 804F99A02C80CA48005D286F /* FirebaseFunctions */, + 804F99A22C80CA48005D286F /* FirebaseFunctionsCombine-Community */, + 804F99A42C80CA48005D286F /* FirebaseInAppMessaging-Beta */, + 804F99A62C80CA48005D286F /* FirebaseInAppMessagingSwift-Beta */, + 804F99A82C80CA48005D286F /* FirebaseInstallations */, + 804F99AA2C80CA48005D286F /* FirebaseMLModelDownloader */, + 804F99AC2C80CA48005D286F /* FirebaseMessaging */, + 804F99AE2C80CA48005D286F /* FirebasePerformance */, + 804F99B02C80CA48005D286F /* FirebaseRemoteConfig */, + 804F99B22C80CA48005D286F /* FirebaseRemoteConfigSwift */, + 804F99B42C80CA48005D286F /* FirebaseStorage */, + 804F99B62C80CA48005D286F /* FirebaseStorageCombine-Community */, ); productName = "Spon-Us"; productReference = DFBE0B722BE601C400246814 /* Spon-Us.app */; @@ -517,6 +603,7 @@ packageReferences = ( 80CF29F62C29CBC900CACA53 /* XCRemoteSwiftPackageReference "Moya" */, 8065E2522C342D78001B35DD /* XCRemoteSwiftPackageReference "PopupView" */, + 804F99812C80CA48005D286F /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */, ); productRefGroup = DFBE0B732BE601C400246814 /* Products */; projectDirPath = ""; @@ -537,6 +624,7 @@ DFBE0B7A2BE601C500246814 /* Assets.xcassets in Resources */, DFBE0BA02BEB570B00246814 /* SUIT-Bold.otf in Resources */, DFBE0B912BE61A4800246814 /* SUIT-Regular.otf in Resources */, + 804F99B92C80D45A005D286F /* GoogleService-Info.plist in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -736,10 +824,11 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = "Spon-Us/Spon-UsDebug.entitlements"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_ASSET_PATHS = "\"Spon-Us/Preview Content\""; - DEVELOPMENT_TEAM = R62RZ89ZRU; + DEVELOPMENT_TEAM = QRPAUP59QL; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = "Spon-Us/Info.plist"; @@ -754,7 +843,7 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.spon-us.Spon-Us"; + PRODUCT_BUNDLE_IDENTIFIER = "com.spon-us.Spon-UsV2"; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; @@ -774,7 +863,7 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_ASSET_PATHS = "\"Spon-Us/Preview Content\""; - DEVELOPMENT_TEAM = R62RZ89ZRU; + DEVELOPMENT_TEAM = QRPAUP59QL; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = "Spon-Us/Info.plist"; @@ -789,7 +878,7 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = "com.spon-us.Spon-Us"; + PRODUCT_BUNDLE_IDENTIFIER = "com.spon-us.Spon-UsV2"; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; @@ -825,6 +914,14 @@ /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ + 804F99812C80CA48005D286F /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; + requirement = { + kind = exactVersion; + version = 10.21.0; + }; + }; 8065E2522C342D78001B35DD /* XCRemoteSwiftPackageReference "PopupView" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/exyte/PopupView.git"; @@ -852,6 +949,141 @@ /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ + 804F99822C80CA48005D286F /* FirebaseAnalytics */ = { + isa = XCSwiftPackageProductDependency; + package = 804F99812C80CA48005D286F /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAnalytics; + }; + 804F99842C80CA48005D286F /* FirebaseAnalyticsOnDeviceConversion */ = { + isa = XCSwiftPackageProductDependency; + package = 804F99812C80CA48005D286F /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAnalyticsOnDeviceConversion; + }; + 804F99862C80CA48005D286F /* FirebaseAnalyticsSwift */ = { + isa = XCSwiftPackageProductDependency; + package = 804F99812C80CA48005D286F /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAnalyticsSwift; + }; + 804F99882C80CA48005D286F /* FirebaseAnalyticsWithoutAdIdSupport */ = { + isa = XCSwiftPackageProductDependency; + package = 804F99812C80CA48005D286F /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAnalyticsWithoutAdIdSupport; + }; + 804F998A2C80CA48005D286F /* FirebaseAppCheck */ = { + isa = XCSwiftPackageProductDependency; + package = 804F99812C80CA48005D286F /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAppCheck; + }; + 804F998C2C80CA48005D286F /* FirebaseAppDistribution-Beta */ = { + isa = XCSwiftPackageProductDependency; + package = 804F99812C80CA48005D286F /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = "FirebaseAppDistribution-Beta"; + }; + 804F998E2C80CA48005D286F /* FirebaseAuth */ = { + isa = XCSwiftPackageProductDependency; + package = 804F99812C80CA48005D286F /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAuth; + }; + 804F99902C80CA48005D286F /* FirebaseAuthCombine-Community */ = { + isa = XCSwiftPackageProductDependency; + package = 804F99812C80CA48005D286F /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = "FirebaseAuthCombine-Community"; + }; + 804F99922C80CA48005D286F /* FirebaseCrashlytics */ = { + isa = XCSwiftPackageProductDependency; + package = 804F99812C80CA48005D286F /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseCrashlytics; + }; + 804F99942C80CA48005D286F /* FirebaseDatabase */ = { + isa = XCSwiftPackageProductDependency; + package = 804F99812C80CA48005D286F /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseDatabase; + }; + 804F99962C80CA48005D286F /* FirebaseDatabaseSwift */ = { + isa = XCSwiftPackageProductDependency; + package = 804F99812C80CA48005D286F /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseDatabaseSwift; + }; + 804F99982C80CA48005D286F /* FirebaseDynamicLinks */ = { + isa = XCSwiftPackageProductDependency; + package = 804F99812C80CA48005D286F /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseDynamicLinks; + }; + 804F999A2C80CA48005D286F /* FirebaseFirestore */ = { + isa = XCSwiftPackageProductDependency; + package = 804F99812C80CA48005D286F /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseFirestore; + }; + 804F999C2C80CA48005D286F /* FirebaseFirestoreCombine-Community */ = { + isa = XCSwiftPackageProductDependency; + package = 804F99812C80CA48005D286F /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = "FirebaseFirestoreCombine-Community"; + }; + 804F999E2C80CA48005D286F /* FirebaseFirestoreSwift */ = { + isa = XCSwiftPackageProductDependency; + package = 804F99812C80CA48005D286F /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseFirestoreSwift; + }; + 804F99A02C80CA48005D286F /* FirebaseFunctions */ = { + isa = XCSwiftPackageProductDependency; + package = 804F99812C80CA48005D286F /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseFunctions; + }; + 804F99A22C80CA48005D286F /* FirebaseFunctionsCombine-Community */ = { + isa = XCSwiftPackageProductDependency; + package = 804F99812C80CA48005D286F /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = "FirebaseFunctionsCombine-Community"; + }; + 804F99A42C80CA48005D286F /* FirebaseInAppMessaging-Beta */ = { + isa = XCSwiftPackageProductDependency; + package = 804F99812C80CA48005D286F /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = "FirebaseInAppMessaging-Beta"; + }; + 804F99A62C80CA48005D286F /* FirebaseInAppMessagingSwift-Beta */ = { + isa = XCSwiftPackageProductDependency; + package = 804F99812C80CA48005D286F /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = "FirebaseInAppMessagingSwift-Beta"; + }; + 804F99A82C80CA48005D286F /* FirebaseInstallations */ = { + isa = XCSwiftPackageProductDependency; + package = 804F99812C80CA48005D286F /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseInstallations; + }; + 804F99AA2C80CA48005D286F /* FirebaseMLModelDownloader */ = { + isa = XCSwiftPackageProductDependency; + package = 804F99812C80CA48005D286F /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseMLModelDownloader; + }; + 804F99AC2C80CA48005D286F /* FirebaseMessaging */ = { + isa = XCSwiftPackageProductDependency; + package = 804F99812C80CA48005D286F /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseMessaging; + }; + 804F99AE2C80CA48005D286F /* FirebasePerformance */ = { + isa = XCSwiftPackageProductDependency; + package = 804F99812C80CA48005D286F /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebasePerformance; + }; + 804F99B02C80CA48005D286F /* FirebaseRemoteConfig */ = { + isa = XCSwiftPackageProductDependency; + package = 804F99812C80CA48005D286F /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseRemoteConfig; + }; + 804F99B22C80CA48005D286F /* FirebaseRemoteConfigSwift */ = { + isa = XCSwiftPackageProductDependency; + package = 804F99812C80CA48005D286F /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseRemoteConfigSwift; + }; + 804F99B42C80CA48005D286F /* FirebaseStorage */ = { + isa = XCSwiftPackageProductDependency; + package = 804F99812C80CA48005D286F /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseStorage; + }; + 804F99B62C80CA48005D286F /* FirebaseStorageCombine-Community */ = { + isa = XCSwiftPackageProductDependency; + package = 804F99812C80CA48005D286F /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = "FirebaseStorageCombine-Community"; + }; 8065E2532C342D78001B35DD /* PopupView */ = { isa = XCSwiftPackageProductDependency; package = 8065E2522C342D78001B35DD /* XCRemoteSwiftPackageReference "PopupView" */; diff --git a/Spon-Us.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Spon-Us.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 35833d8..a8fc5c3 100644 --- a/Spon-Us.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Spon-Us.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,5 +1,14 @@ { "pins" : [ + { + "identity" : "abseil-cpp-binary", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/abseil-cpp-binary.git", + "state" : { + "revision" : "df308b8b46607675f2b9ec8e569109008f9155ce", + "version" : "1.2022062300.1" + } + }, { "identity" : "alamofire", "kind" : "remoteSourceControl", @@ -9,6 +18,87 @@ "version" : "5.9.1" } }, + { + "identity" : "app-check", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/app-check.git", + "state" : { + "revision" : "3b62f154d00019ae29a71e9738800bb6f18b236d", + "version" : "10.19.2" + } + }, + { + "identity" : "firebase-ios-sdk", + "kind" : "remoteSourceControl", + "location" : "https://github.com/firebase/firebase-ios-sdk.git", + "state" : { + "revision" : "f91c8167141d0279726c6f6d9d4a47c026785cbc", + "version" : "10.21.0" + } + }, + { + "identity" : "googleappmeasurement", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/GoogleAppMeasurement.git", + "state" : { + "revision" : "cb8617fab75d181270a1d8f763f26b15c73e2e1e", + "version" : "10.21.0" + } + }, + { + "identity" : "googledatatransport", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/GoogleDataTransport.git", + "state" : { + "revision" : "a637d318ae7ae246b02d7305121275bc75ed5565", + "version" : "9.4.0" + } + }, + { + "identity" : "googleutilities", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/GoogleUtilities.git", + "state" : { + "revision" : "57a1d307f42df690fdef2637f3e5b776da02aad6", + "version" : "7.13.3" + } + }, + { + "identity" : "grpc-binary", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/grpc-binary.git", + "state" : { + "revision" : "ea4cb5cc0c39c732b85386263116d2e2fdbbdc61", + "version" : "1.49.2" + } + }, + { + "identity" : "gtm-session-fetcher", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/gtm-session-fetcher.git", + "state" : { + "revision" : "a2ab612cb980066ee56d90d60d8462992c07f24b", + "version" : "3.5.0" + } + }, + { + "identity" : "interop-ios-for-google-sdks", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/interop-ios-for-google-sdks.git", + "state" : { + "revision" : "2d12673670417654f08f5f90fdd62926dc3a2648", + "version" : "100.0.0" + } + }, + { + "identity" : "leveldb", + "kind" : "remoteSourceControl", + "location" : "https://github.com/firebase/leveldb.git", + "state" : { + "revision" : "a0bc79961d7be727d258d33d5a6b2f1023270ba1", + "version" : "1.22.5" + } + }, { "identity" : "moya", "kind" : "remoteSourceControl", @@ -18,6 +108,15 @@ "version" : "15.0.3" } }, + { + "identity" : "nanopb", + "kind" : "remoteSourceControl", + "location" : "https://github.com/firebase/nanopb.git", + "state" : { + "revision" : "819d0a2173aff699fb8c364b6fb906f7cdb1a692", + "version" : "2.30909.0" + } + }, { "identity" : "popupview", "kind" : "remoteSourceControl", @@ -27,6 +126,15 @@ "version" : "3.0.1" } }, + { + "identity" : "promises", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/promises.git", + "state" : { + "revision" : "540318ecedd63d883069ae7f1ed811a2df00b6ac", + "version" : "2.4.0" + } + }, { "identity" : "reactiveswift", "kind" : "remoteSourceControl", @@ -45,6 +153,15 @@ "version" : "6.7.1" } }, + { + "identity" : "swift-protobuf", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-protobuf.git", + "state" : { + "revision" : "564597ad2fe2513a94dd8f3ba27ea2ff4be3cb37", + "version" : "1.28.0" + } + }, { "identity" : "swiftui-introspect", "kind" : "remoteSourceControl", diff --git a/Spon-Us/Info.plist b/Spon-Us/Info.plist index 704ed00..a42900d 100644 --- a/Spon-Us/Info.plist +++ b/Spon-Us/Info.plist @@ -8,5 +8,9 @@ SUIT-Medium.otf SUIT-Bold.otf + UIBackgroundModes + + remote-notification + diff --git a/Spon-Us/Spon-UsDebug.entitlements b/Spon-Us/Spon-UsDebug.entitlements new file mode 100644 index 0000000..903def2 --- /dev/null +++ b/Spon-Us/Spon-UsDebug.entitlements @@ -0,0 +1,8 @@ + + + + + aps-environment + development + + diff --git a/Spon-Us/Spon_UsApp.swift b/Spon-Us/Spon_UsApp.swift index fd15f9b..4a00263 100644 --- a/Spon-Us/Spon_UsApp.swift +++ b/Spon-Us/Spon_UsApp.swift @@ -8,9 +8,82 @@ import SwiftUI import UIKit +import FirebaseCore +import UserNotifications +import FirebaseMessaging +class AppDelegate: NSObject, UIApplicationDelegate { + // App이 실행될때 실행되는 매서드 + func application(_ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { + + FirebaseApp.configure() + + //원격 알림 등록 + if #available(iOS 10.0, *) { + // For iOS 10 display notification (sent via APNS) + UNUserNotificationCenter.current().delegate = self + + let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound] + UNUserNotificationCenter.current().requestAuthorization( + options: authOptions, + completionHandler: { _, _ in } + ) + } else { + let settings: UIUserNotificationSettings = + UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil) + application.registerUserNotificationSettings(settings) + } + + application.registerForRemoteNotifications() + + // Messaging + Messaging.messaging().delegate = self + + // PUSH foreground + UNUserNotificationCenter.current().delegate = self + + return true + } + + // Firebase Messaging 과 APNs 토큰과 연결 + func application(_ application: UIApplication, + didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { + Messaging.messaging().apnsToken = deviceToken + } +} + +extension AppDelegate: MessagingDelegate { + + func messaging(_ messaging: Messaging, + didReceiveRegistrationToken fcmToken: String?) { + print("FCM Token from the Server ") + print("Registration Token Info: \(String(describing: fcmToken))") + } +} + +extension AppDelegate: UNUserNotificationCenterDelegate { + func userNotificationCenter(_ center: UNUserNotificationCenter, + willPresent notification: UNNotification, + withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) { + let userInfo = notification.request.content.userInfo + print("Will Present User INFO : \(userInfo)") + completionHandler([.banner, .sound, .badge]) + } + + // 푸시 메시지를 받았을때 + func userNotificationCenter(_ center: UNUserNotificationCenter, + didReceive response: UNNotificationResponse, + withCompletionHandler completionHandler: @escaping () -> Void) { + let userInfo = response.notification.request.content.userInfo + print("Did Receieve User INFO : \(userInfo)") + completionHandler() + } +} + @main struct Spon_UsApp: App { + @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate @StateObject var vm = LoginViewModel() var body: some Scene { @@ -29,4 +102,3 @@ struct Spon_UsApp: App { .environmentObject(MypageNavigationPathFinder.shared) } } -