diff --git a/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj b/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj index 45dcb4ee..a39a9a79 100644 --- a/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj +++ b/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj @@ -23,6 +23,7 @@ 712F661D2A7B7BAB00D9539B /* Config.swift in Sources */ = {isa = PBXBuildFile; fileRef = 712F661C2A7B7BAB00D9539B /* Config.swift */; }; 7136BF8A2AF921A900679364 /* CustomBottomSheetVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7136BF892AF921A900679364 /* CustomBottomSheetVC.swift */; }; 715D36E82B2CC64000CAA9D6 /* MyUploadedCourseResponseDto.swift in Sources */ = {isa = PBXBuildFile; fileRef = 715D36E72B2CC64000CAA9D6 /* MyUploadedCourseResponseDto.swift */; }; + 71773C8E2B6BDF3B0041605E /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 71773C8D2B6BDF3B0041605E /* GoogleService-Info.plist */; }; 717916DA2B13613B009CEF97 /* MarathonListResponseDto.swift in Sources */ = {isa = PBXBuildFile; fileRef = 717916D92B13613B009CEF97 /* MarathonListResponseDto.swift */; }; 71802C5C2B3364C2008DBCEE /* CourseDetailScrapCountDto.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71802C5B2B3364C2008DBCEE /* CourseDetailScrapCountDto.swift */; }; 71BAD06A2B24CECC0061E31D /* UserProfileDto.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71BAD0692B24CECC0061E31D /* UserProfileDto.swift */; }; @@ -196,6 +197,7 @@ 712F661C2A7B7BAB00D9539B /* Config.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Config.swift; sourceTree = ""; }; 7136BF892AF921A900679364 /* CustomBottomSheetVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomBottomSheetVC.swift; sourceTree = ""; }; 715D36E72B2CC64000CAA9D6 /* MyUploadedCourseResponseDto.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyUploadedCourseResponseDto.swift; sourceTree = ""; }; + 71773C8D2B6BDF3B0041605E /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; 717916D92B13613B009CEF97 /* MarathonListResponseDto.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarathonListResponseDto.swift; sourceTree = ""; }; 71802C5B2B3364C2008DBCEE /* CourseDetailScrapCountDto.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseDetailScrapCountDto.swift; sourceTree = ""; }; 71BAD0692B24CECC0061E31D /* UserProfileDto.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserProfileDto.swift; sourceTree = ""; }; @@ -869,7 +871,7 @@ CE6655A9295D7FAA00C64E12 /* Network */, CE6655A8295D7F7D00C64E12 /* Presentation */, CE4545D6295D7AF5003201E1 /* Info.plist */, - 23628DDD2B6BCB9C00894B18 /* GoogleService-Info.plist */, + 71773C8D2B6BDF3B0041605E /* GoogleService-Info.plist */, ); path = "Runnect-iOS"; sourceTree = ""; @@ -1334,7 +1336,7 @@ files = ( CE665615295D989A00C64E12 /* .swiftlint.yml in Resources */, CE17F0342961BEF800E1DED0 /* Pretendard-Bold.otf in Resources */, - 23628DDE2B6BCB9C00894B18 /* GoogleService-Info.plist in Resources */, + 71773C8E2B6BDF3B0041605E /* GoogleService-Info.plist in Resources */, CE17F0352961BEF800E1DED0 /* Pretendard-SemiBold.otf in Resources */, CE17F0332961BEF800E1DED0 /* Pretendard-Medium.otf in Resources */, CE6655BF295D82E200C64E12 /* .gitkeep in Resources */, @@ -1709,11 +1711,9 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_ENTITLEMENTS = "Runnect-iOS/Runnect-iOSDebug.entitlements"; CODE_SIGN_IDENTITY = "Apple Development"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Manual; + CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 2024.0122.2217; - DEVELOPMENT_TEAM = ""; - "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 8Q4H7X3Q58; + DEVELOPMENT_TEAM = 8Q4H7X3Q58; GENERATE_INFOPLIST_FILE = NO; INFOPLIST_FILE = "Runnect-iOS/Info.plist"; INFOPLIST_KEY_CFBundleDisplayName = Runnect; @@ -1734,7 +1734,6 @@ PRODUCT_BUNDLE_IDENTIFIER = "com.runnect.Runnect-iOS"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; - "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "match Development com.runnect.Runnect-iOS"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; @@ -1753,11 +1752,9 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_ENTITLEMENTS = "Runnect-iOS/Runnect-iOS.entitlements"; CODE_SIGN_IDENTITY = "Apple Development"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Manual; + CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 2024.0122.2217; - DEVELOPMENT_TEAM = ""; - "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 8Q4H7X3Q58; + DEVELOPMENT_TEAM = 8Q4H7X3Q58; GENERATE_INFOPLIST_FILE = NO; INFOPLIST_FILE = "Runnect-iOS/Info.plist"; INFOPLIST_KEY_CFBundleDisplayName = Runnect; @@ -1778,7 +1775,6 @@ PRODUCT_BUNDLE_IDENTIFIER = "com.runnect.Runnect-iOS"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; - "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "match Development com.runnect.Runnect-iOS"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; diff --git a/Runnect-iOS/Runnect-iOS/Network/Dto/CourseDrawingDto/ResponseDto/KakaoAddressSearchingResponseDto.swift b/Runnect-iOS/Runnect-iOS/Network/Dto/CourseDrawingDto/ResponseDto/KakaoAddressSearchingResponseDto.swift index af288f89..6e953f2e 100644 --- a/Runnect-iOS/Runnect-iOS/Network/Dto/CourseDrawingDto/ResponseDto/KakaoAddressSearchingResponseDto.swift +++ b/Runnect-iOS/Runnect-iOS/Network/Dto/CourseDrawingDto/ResponseDto/KakaoAddressSearchingResponseDto.swift @@ -8,14 +8,19 @@ import Foundation // MARK: - DepartureAddressSearchingResponseDto -struct KakaoAddressSearchingResponseDto: Codable { +struct KakaoAddressSearchingResponseDto: Codable { /// 사용 안함 let meta: Meta let documents: [Document] func toDepartureLocationModel(latitude: Double, longitude: Double) -> DepartureLocationModel { - let roadName = self.documents[0].roadAddress.buildingName ?? "내가 설정한 출발지" + let roadName = self.documents[0].roadAddress.buildingName - return DepartureLocationModel(departureName: roadName, departureAddress: self.documents[0].address.addressName, latitude: String(latitude), longitude: String(longitude)) + return DepartureLocationModel( + departureName: roadName, + departureAddress: self.documents[0].address.addressName, + latitude: String(latitude), + longitude: String(longitude) + ) } } diff --git a/Runnect-iOS/Runnect-iOS/Presentation/CourseDetail/VC/CourseDetailVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/CourseDetail/VC/CourseDetailVC.swift index 856d7150..51669f23 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/CourseDetail/VC/CourseDetailVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/CourseDetail/VC/CourseDetailVC.swift @@ -185,11 +185,13 @@ extension CourseDetailVC { let description = publicCourse.description let courseImage = publicCourse.image - let dynamicLinksDomainURIPrefix = "https://runnect.page.link" + let dynamicLinksDomainURIPrefix = "https://rnnt.page.link" guard let link = URL(string: "\(dynamicLinksDomainURIPrefix)/?courseId=\(courseId)") else { return } + print("‼️link= \(link)") + guard let linkBuilder = DynamicLinkComponents(link: link, domainURIPrefix: dynamicLinksDomainURIPrefix) else { return } @@ -198,6 +200,8 @@ extension CourseDetailVC { linkBuilder.iOSParameters?.appStoreID = "1663884202" linkBuilder.iOSParameters?.minimumAppVersion = "1.0.4" + linkBuilder.androidParameters = DynamicLinkAndroidParameters(packageName: "com.runnect.runnect") + linkBuilder.socialMetaTagParameters = DynamicLinkSocialMetaTagParameters() linkBuilder.socialMetaTagParameters?.imageURL = URL(string: courseImage) linkBuilder.socialMetaTagParameters?.title = title @@ -210,7 +214,7 @@ extension CourseDetailVC { /// 짧은 Dynamic Link로 변환하는 부분 입니다. linkBuilder.shorten { [weak self] url, _, error in // warning 파라미터 와일드 카드 - guard let shortDynamicLink = url else { + guard let shortDynamicLink = url?.absoluteString else { if let error = error { print("❌Error shortening dynamic link: \(error)") } @@ -220,7 +224,7 @@ extension CourseDetailVC { print("🔥The short URL is: \(shortDynamicLink)") DispatchQueue.main.async { - let activityVC = UIActivityViewController(activityItems: [shortDynamicLink.absoluteString], applicationActivities: nil) + let activityVC = UIActivityViewController(activityItems: [shortDynamicLink], applicationActivities: nil) activityVC.popoverPresentationController?.sourceView = self?.view self?.present(activityVC, animated: true, completion: nil) } @@ -318,8 +322,8 @@ extension CourseDetailVC { model.publicCourse.departure.town, model.publicCourse.departure.name ] - .compactMap { $0 } - .joined(separator: " ") + .compactMap { $0 } + .joined(separator: " ") self.courseDepartureInfoView.setDescriptionText(description: locate) self.courseExplanationTextView.text = model.publicCourse.description diff --git a/Runnect-iOS/Runnect-iOS/Presentation/CourseDiscovery/Views/MarathonMapCollectionViewCell.swift b/Runnect-iOS/Runnect-iOS/Presentation/CourseDiscovery/Views/MarathonMapCollectionViewCell.swift index d371faa9..40f9f1b3 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/CourseDiscovery/Views/MarathonMapCollectionViewCell.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/CourseDiscovery/Views/MarathonMapCollectionViewCell.swift @@ -211,7 +211,7 @@ extension MarathonMapCollectionViewCell { LoadingIndicator.hideLoading() } - guard let self = self else { return } + guard self != nil else { return } switch response { case .success(let result): diff --git a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/SettingVC/PersoanlInfoVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/SettingVC/PersoanlInfoVC.swift deleted file mode 100644 index e857696e..00000000 --- a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/SettingVC/PersoanlInfoVC.swift +++ /dev/null @@ -1,28 +0,0 @@ -// -// PersoanlInfoVC.swift -// Runnect-iOS -// -// Created by 몽이 누나 on 2023/04/11. -// - -import UIKit - -class PersoanlInfoVC: UIViewController { - - override func viewDidLoad() { - super.viewDidLoad() - - // Do any additional setup after loading the view. - } - - /* - // MARK: - Navigation - - // In a storyboard-based application, you will often want to do a little preparation before navigation - override func prepare(for segue: UIStoryboardSegue, sender: Any?) { - // Get the new view controller using segue.destination. - // Pass the selected object to the new view controller. - } - */ - -} diff --git a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/SettingVC/TermsOfServiceVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/SettingVC/TermsOfServiceVC.swift deleted file mode 100644 index 64d66520..00000000 --- a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/SettingVC/TermsOfServiceVC.swift +++ /dev/null @@ -1,28 +0,0 @@ -// -// TermsOfServiceVC.swift -// Runnect-iOS -// -// Created by 몽이 누나 on 2023/04/11. -// - -import UIKit - -class TermsOfServiceVC: UIViewController { - - override func viewDidLoad() { - super.viewDidLoad() - - // Do any additional setup after loading the view. - } - - /* - // MARK: - Navigation - - // In a storyboard-based application, you will often want to do a little preparation before navigation - override func prepare(for segue: UIStoryboardSegue, sender: Any?) { - // Get the new view controller using segue.destination. - // Pass the selected object to the new view controller. - } - */ - -} diff --git a/Runnect-iOS/Runnect-iOS/Runnect-iOS.entitlements b/Runnect-iOS/Runnect-iOS/Runnect-iOS.entitlements index 043f0eb4..dd7c1027 100644 --- a/Runnect-iOS/Runnect-iOS/Runnect-iOS.entitlements +++ b/Runnect-iOS/Runnect-iOS/Runnect-iOS.entitlements @@ -8,7 +8,7 @@ com.apple.developer.associated-domains - applinks:runnect.page.link + applinks:rnnt.page.link diff --git a/Runnect-iOS/Runnect-iOS/Runnect-iOSDebug.entitlements b/Runnect-iOS/Runnect-iOS/Runnect-iOSDebug.entitlements index 043f0eb4..dd7c1027 100644 --- a/Runnect-iOS/Runnect-iOS/Runnect-iOSDebug.entitlements +++ b/Runnect-iOS/Runnect-iOS/Runnect-iOSDebug.entitlements @@ -8,7 +8,7 @@ com.apple.developer.associated-domains - applinks:runnect.page.link + applinks:rnnt.page.link diff --git a/Runnect-iOS/fastlane/Matchfile b/Runnect-iOS/fastlane/Matchfile index 778caf1d..34e6e9f3 100644 --- a/Runnect-iOS/fastlane/Matchfile +++ b/Runnect-iOS/fastlane/Matchfile @@ -1,14 +1,13 @@ git_url("https://github.com/thingineeer/fastlane-match") -git_branch("master") - +git_branch("Runnect") # 'Runnect' 앱을 위한 인증서 관리를 할 브랜치 storage_mode("git") -type("appstore") # The default type, can be: appstore, adhoc, enterprise or development +type("development") # The default type, can be: appstore, adhoc, enterprise or development -app_identifier(ENV["APP_IDENTIFIER"]) +# app_identifier(["tools.fastlane.app", "tools.fastlane.app2"]) # username("user@fastlane.tools") # Your Apple Developer Portal username # For all available options run `fastlane match --help` # Remove the # in the beginning of the line to enable the other options -# The docs are available on https://docs.fastlane.tools/actions/match +# The docs are available on https://docs.fastlane.tools/actions/match \ No newline at end of file