diff --git a/GoogleService-Info.plist b/GoogleService-Info.plist new file mode 100644 index 0000000..c4793cc --- /dev/null +++ b/GoogleService-Info.plist @@ -0,0 +1,34 @@ + + + + + CLIENT_ID + 77785854711-kedg65qete3dhcmtbda2nn0n4e2sa9h9.apps.googleusercontent.com + REVERSED_CLIENT_ID + com.googleusercontent.apps.77785854711-kedg65qete3dhcmtbda2nn0n4e2sa9h9 + API_KEY + AIzaSyBXhDkQ_dGzAchKiBCsEJL78fAKd77EBHg + GCM_SENDER_ID + 77785854711 + PLIST_VERSION + 1 + BUNDLE_ID + com.tunpok.ios.dudu-tweet + PROJECT_ID + twitter-22a99 + STORAGE_BUCKET + twitter-22a99.appspot.com + IS_ADS_ENABLED + + IS_ANALYTICS_ENABLED + + IS_APPINVITE_ENABLED + + IS_GCM_ENABLED + + IS_SIGNIN_ENABLED + + GOOGLE_APP_ID + 1:77785854711:ios:00f7d7cd05ce7e37a719f2 + + \ No newline at end of file diff --git a/dudu-tweet/dudu-tweet.xcodeproj/project.pbxproj b/dudu-tweet/dudu-tweet.xcodeproj/project.pbxproj index d073cc2..24521f9 100644 --- a/dudu-tweet/dudu-tweet.xcodeproj/project.pbxproj +++ b/dudu-tweet/dudu-tweet.xcodeproj/project.pbxproj @@ -31,6 +31,11 @@ 24A59AE82A00F106009C9E3E /* RoundedShape.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24A59AE72A00F106009C9E3E /* RoundedShape.swift */; }; 24A59AEA2A00F672009C9E3E /* CustomInputField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24A59AE92A00F672009C9E3E /* CustomInputField.swift */; }; 24A59AED2A00F942009C9E3E /* AuthHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24A59AEC2A00F942009C9E3E /* AuthHeaderView.swift */; }; + 24A59AEF2A010142009C9E3E /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 24A59AEE2A010142009C9E3E /* GoogleService-Info.plist */; }; + 24A59AF22A010411009C9E3E /* FirebaseAuth in Frameworks */ = {isa = PBXBuildFile; productRef = 24A59AF12A010411009C9E3E /* FirebaseAuth */; }; + 24A59AF42A010411009C9E3E /* FirebaseFirestore in Frameworks */ = {isa = PBXBuildFile; productRef = 24A59AF32A010411009C9E3E /* FirebaseFirestore */; }; + 24A59AF62A010411009C9E3E /* FirebaseFirestoreSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 24A59AF52A010411009C9E3E /* FirebaseFirestoreSwift */; }; + 24A59AF82A010411009C9E3E /* FirebaseStorage in Frameworks */ = {isa = PBXBuildFile; productRef = 24A59AF72A010411009C9E3E /* FirebaseStorage */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -60,6 +65,7 @@ 24A59AE72A00F106009C9E3E /* RoundedShape.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoundedShape.swift; sourceTree = ""; }; 24A59AE92A00F672009C9E3E /* CustomInputField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomInputField.swift; sourceTree = ""; }; 24A59AEC2A00F942009C9E3E /* AuthHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthHeaderView.swift; sourceTree = ""; }; + 24A59AEE2A010142009C9E3E /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "../../GoogleService-Info.plist"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -67,6 +73,10 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 24A59AF22A010411009C9E3E /* FirebaseAuth in Frameworks */, + 24A59AF82A010411009C9E3E /* FirebaseStorage in Frameworks */, + 24A59AF42A010411009C9E3E /* FirebaseFirestore in Frameworks */, + 24A59AF62A010411009C9E3E /* FirebaseFirestoreSwift in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -99,6 +109,7 @@ 2492CC0C2A000EB00086C525 /* dudu_tweetApp.swift */, 2492CC0E2A000EB00086C525 /* ContentView.swift */, 2492CC102A000EB10086C525 /* Assets.xcassets */, + 24A59AEE2A010142009C9E3E /* GoogleService-Info.plist */, 2492CC122A000EB10086C525 /* dudu_tweet.entitlements */, 2492CC132A000EB10086C525 /* Preview Content */, ); @@ -377,6 +388,12 @@ dependencies = ( ); name = "dudu-tweet"; + packageProductDependencies = ( + 24A59AF12A010411009C9E3E /* FirebaseAuth */, + 24A59AF32A010411009C9E3E /* FirebaseFirestore */, + 24A59AF52A010411009C9E3E /* FirebaseFirestoreSwift */, + 24A59AF72A010411009C9E3E /* FirebaseStorage */, + ); productName = "dudu-tweet"; productReference = 2492CC092A000EB00086C525 /* dudu-tweet.app */; productType = "com.apple.product-type.application"; @@ -405,6 +422,9 @@ Base, ); mainGroup = 2492CC002A000EB00086C525; + packageReferences = ( + 24A59AF02A010411009C9E3E /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */, + ); productRefGroup = 2492CC0A2A000EB00086C525 /* Products */; projectDirPath = ""; projectRoot = ""; @@ -421,6 +441,7 @@ files = ( 2492CC152A000EB10086C525 /* Preview Assets.xcassets in Resources */, 2492CC112A000EB10086C525 /* Assets.xcassets in Resources */, + 24A59AEF2A010142009C9E3E /* GoogleService-Info.plist in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -666,6 +687,40 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ + +/* Begin XCRemoteSwiftPackageReference section */ + 24A59AF02A010411009C9E3E /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/firebase/firebase-ios-sdk"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 9.0.0; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 24A59AF12A010411009C9E3E /* FirebaseAuth */ = { + isa = XCSwiftPackageProductDependency; + package = 24A59AF02A010411009C9E3E /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAuth; + }; + 24A59AF32A010411009C9E3E /* FirebaseFirestore */ = { + isa = XCSwiftPackageProductDependency; + package = 24A59AF02A010411009C9E3E /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseFirestore; + }; + 24A59AF52A010411009C9E3E /* FirebaseFirestoreSwift */ = { + isa = XCSwiftPackageProductDependency; + package = 24A59AF02A010411009C9E3E /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseFirestoreSwift; + }; + 24A59AF72A010411009C9E3E /* FirebaseStorage */ = { + isa = XCSwiftPackageProductDependency; + package = 24A59AF02A010411009C9E3E /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseStorage; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = 2492CC012A000EB00086C525 /* Project object */; } diff --git a/dudu-tweet/dudu-tweet.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/dudu-tweet/dudu-tweet.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved new file mode 100644 index 0000000..fb6c96a --- /dev/null +++ b/dudu-tweet/dudu-tweet.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -0,0 +1,113 @@ +{ + "pins" : [ + { + "identity" : "abseil-cpp-swiftpm", + "kind" : "remoteSourceControl", + "location" : "https://github.com/firebase/abseil-cpp-SwiftPM.git", + "state" : { + "revision" : "583de9bd60f66b40e78d08599cc92036c2e7e4e1", + "version" : "0.20220203.2" + } + }, + { + "identity" : "boringssl-swiftpm", + "kind" : "remoteSourceControl", + "location" : "https://github.com/firebase/boringssl-SwiftPM.git", + "state" : { + "revision" : "dd3eda2b05a3f459fc3073695ad1b28659066eab", + "version" : "0.9.1" + } + }, + { + "identity" : "firebase-ios-sdk", + "kind" : "remoteSourceControl", + "location" : "https://github.com/firebase/firebase-ios-sdk", + "state" : { + "revision" : "7e80c25b51c2ffa238879b07fbfc5baa54bb3050", + "version" : "9.6.0" + } + }, + { + "identity" : "googleappmeasurement", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/GoogleAppMeasurement.git", + "state" : { + "revision" : "c1cfde8067668027b23a42c29d11c246152fe046", + "version" : "9.6.0" + } + }, + { + "identity" : "googledatatransport", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/GoogleDataTransport.git", + "state" : { + "revision" : "cc7265b8e3906304e6e81f32c1662a94bbae2357", + "version" : "9.2.2" + } + }, + { + "identity" : "googleutilities", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/GoogleUtilities.git", + "state" : { + "revision" : "871d43135925cde39ef7421d8723ce47edfdcc39", + "version" : "7.11.1" + } + }, + { + "identity" : "grpc-ios", + "kind" : "remoteSourceControl", + "location" : "https://github.com/grpc/grpc-ios.git", + "state" : { + "revision" : "8440b914756e0d26d4f4d054a1c1581daedfc5b6", + "version" : "1.44.3-grpc" + } + }, + { + "identity" : "gtm-session-fetcher", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/gtm-session-fetcher.git", + "state" : { + "revision" : "5ccda3981422a84186387dbb763ba739178b529c", + "version" : "2.3.0" + } + }, + { + "identity" : "leveldb", + "kind" : "remoteSourceControl", + "location" : "https://github.com/firebase/leveldb.git", + "state" : { + "revision" : "0706abcc6b0bd9cedfbb015ba840e4a780b5159b", + "version" : "1.22.2" + } + }, + { + "identity" : "nanopb", + "kind" : "remoteSourceControl", + "location" : "https://github.com/firebase/nanopb.git", + "state" : { + "revision" : "819d0a2173aff699fb8c364b6fb906f7cdb1a692", + "version" : "2.30909.0" + } + }, + { + "identity" : "promises", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/promises.git", + "state" : { + "revision" : "ec957ccddbcc710ccc64c9dcbd4c7006fcf8b73a", + "version" : "2.2.0" + } + }, + { + "identity" : "swift-protobuf", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-protobuf.git", + "state" : { + "revision" : "0af9125c4eae12a4973fb66574c53a54962a9e1e", + "version" : "1.21.0" + } + } + ], + "version" : 2 +} diff --git a/dudu-tweet/dudu-tweet.xcodeproj/project.xcworkspace/xcuserdata/ching.xcuserdatad/UserInterfaceState.xcuserstate b/dudu-tweet/dudu-tweet.xcodeproj/project.xcworkspace/xcuserdata/ching.xcuserdatad/UserInterfaceState.xcuserstate index ee7529e..50d2aa3 100644 Binary files a/dudu-tweet/dudu-tweet.xcodeproj/project.xcworkspace/xcuserdata/ching.xcuserdatad/UserInterfaceState.xcuserstate and b/dudu-tweet/dudu-tweet.xcodeproj/project.xcworkspace/xcuserdata/ching.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/dudu-tweet/dudu-tweet.xcodeproj/xcuserdata/ching.xcuserdatad/xcschemes/xcschememanagement.plist b/dudu-tweet/dudu-tweet.xcodeproj/xcuserdata/ching.xcuserdatad/xcschemes/xcschememanagement.plist index 202ac12..353001c 100644 --- a/dudu-tweet/dudu-tweet.xcodeproj/xcuserdata/ching.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/dudu-tweet/dudu-tweet.xcodeproj/xcuserdata/ching.xcuserdatad/xcschemes/xcschememanagement.plist @@ -4,10 +4,31 @@ SchemeUserState + Promises (Playground) 1.xcscheme + + isShown + + orderHint + 2 + + Promises (Playground) 2.xcscheme + + isShown + + orderHint + 3 + + Promises (Playground).xcscheme + + isShown + + orderHint + 0 + dudu-tweet.xcscheme_^#shared#^_ orderHint - 0 + 1 SuppressBuildableAutocreation diff --git a/dudu-tweet/dudu-tweet/dudu_tweetApp.swift b/dudu-tweet/dudu-tweet/dudu_tweetApp.swift index 7899623..3b2e96d 100644 --- a/dudu-tweet/dudu-tweet/dudu_tweetApp.swift +++ b/dudu-tweet/dudu-tweet/dudu_tweetApp.swift @@ -6,9 +6,15 @@ // import SwiftUI +import Firebase @main struct dudu_tweetApp: App { + + init() { + FirebaseApp.configure() + } + var body: some Scene { WindowGroup { NavigationView {