From: liangzhenying <867174124@qq.com> Date: Fri, 30 Jan 2026 08:17:27 +0000 (+0800) Subject: 加了运动设置页 X-Git-Tag: 北科AI按钮打断~3 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=afb50dd38c1848274a95940a0ff13c7370e9a0f3;p=mirrors%2FShenYin.git 加了运动设置页 --- diff --git a/ShenYin/Podfile.lock b/ShenYin/Podfile.lock index b49030b..871b96f 100644 --- a/ShenYin/Podfile.lock +++ b/ShenYin/Podfile.lock @@ -1,4 +1,11 @@ PODS: + - AMap3DMap-NO-IDFA (10.0.700): + - AMapFoundation-NO-IDFA (>= 1.8.0) + - AMapFoundation-NO-IDFA (1.8.2) + - AMapLocation-NO-IDFA (2.10.0): + - AMapFoundation-NO-IDFA (>= 1.8.0) + - AMapSearch-NO-IDFA (9.7.0): + - AMapFoundation-NO-IDFA (>= 1.8.0) - CryptoSwift (1.8.4) - DeviceKit (5.4.0) - DGActivityIndicatorView (2.1.1) @@ -70,6 +77,9 @@ PODS: - ZipArchive (1.4.0) DEPENDENCIES: + - AMap3DMap-NO-IDFA (= 10.0.700) + - AMapLocation-NO-IDFA + - AMapSearch-NO-IDFA (= 9.7.0) - CryptoSwift - DeviceKit (~> 5.4.0) - DGActivityIndicatorView @@ -97,6 +107,10 @@ DEPENDENCIES: SPEC REPOS: https://gitee.com/mirrors/CocoaPods-Specs.git: + - AMap3DMap-NO-IDFA + - AMapFoundation-NO-IDFA + - AMapLocation-NO-IDFA + - AMapSearch-NO-IDFA - CryptoSwift - DeviceKit - DGActivityIndicatorView @@ -130,6 +144,10 @@ SPEC REPOS: - ZipArchive SPEC CHECKSUMS: + AMap3DMap-NO-IDFA: e029d65ea35d3e4c0a948e1dab9e77109bf0e86a + AMapFoundation-NO-IDFA: 6ce0ef596d4eb8d934ff498e56747b6de1247b05 + AMapLocation-NO-IDFA: 735791aeb1ba52dff666e4158b86caf4b68b5be7 + AMapSearch-NO-IDFA: 749f73d5a773758f01a24eb8872f8798c8b47cb4 CryptoSwift: e64e11850ede528a02a0f3e768cec8e9d92ecb90 DeviceKit: bd34bb1766d926c3cc5a5f6e3e9a6dd10148b805 DGActivityIndicatorView: ff2c76073d79692f724863c8dd38685866a03cb6 @@ -162,6 +180,6 @@ SPEC CHECKSUMS: YYText: 5c461d709e24d55a182d1441c41dc639a18a4849 ZipArchive: e25a4373192673e3229ac8d6e9f64a3e5713c966 -PODFILE CHECKSUM: 8be0cb581e3b6cc73fee508087fb68b46cbcd963 +PODFILE CHECKSUM: 72f4eaacbe6e66655fb7c7aef1807fd74a1fd9b2 COCOAPODS: 1.16.2 diff --git a/ShenYin/Pods/Kingfisher/PrivacyInfo.xcprivacy b/ShenYin/Pods/Kingfisher/PrivacyInfo.xcprivacy deleted file mode 100644 index 6af1641..0000000 --- a/ShenYin/Pods/Kingfisher/PrivacyInfo.xcprivacy +++ /dev/null @@ -1,14 +0,0 @@ - - - - - NSPrivacyTracking - - NSPrivacyCollectedDataTypes - - NSPrivacyTrackingDomains - - NSPrivacyAccessedAPITypes - - - diff --git a/ShenYin/Pods/MBProgressHUD/PrivacyInfo.xcprivacy b/ShenYin/Pods/MBProgressHUD/PrivacyInfo.xcprivacy deleted file mode 100644 index 6af1641..0000000 --- a/ShenYin/Pods/MBProgressHUD/PrivacyInfo.xcprivacy +++ /dev/null @@ -1,14 +0,0 @@ - - - - - NSPrivacyTracking - - NSPrivacyCollectedDataTypes - - NSPrivacyTrackingDomains - - NSPrivacyAccessedAPITypes - - - diff --git a/ShenYin/ShenYin.xcodeproj/project.pbxproj b/ShenYin/ShenYin.xcodeproj/project.pbxproj index 7604f7b..39f6992 100644 --- a/ShenYin/ShenYin.xcodeproj/project.pbxproj +++ b/ShenYin/ShenYin.xcodeproj/project.pbxproj @@ -8,6 +8,11 @@ /* Begin PBXBuildFile section */ 30B13DEF1AA0E4C54D873276 /* Pods_playboy.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A4F1BB919D567C3B6B0EBAA7 /* Pods_playboy.framework */; }; + 3F0369602F2B604800F3CB95 /* DeepChordsSdk.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0D54E0EF2F0A61E600A80EE7 /* DeepChordsSdk.framework */; }; + 3F0369612F2B604800F3CB95 /* (null) in Frameworks */ = {isa = PBXBuildFile; }; + 3F0369622F2B604800F3CB95 /* Pods_playboy.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A4F1BB919D567C3B6B0EBAA7 /* Pods_playboy.framework */; }; + 3F0369642F2B604800F3CB95 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 3F8F58282EBCA2B800FFC00B /* PrivacyInfo.xcprivacy */; }; + 3F0369672F2B604800F3CB95 /* DeepChordsSdk.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 0D54E0EF2F0A61E600A80EE7 /* DeepChordsSdk.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 3F8F58292EBCA2B800FFC00B /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 3F8F58282EBCA2B800FFC00B /* PrivacyInfo.xcprivacy */; }; 3FD1DFED2F0E00BF00A62733 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 3F8F58282EBCA2B800FFC00B /* PrivacyInfo.xcprivacy */; }; 3FFB77C12F179F3100EF9A60 /* DeepChordsSdk.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0D54E0EF2F0A61E600A80EE7 /* DeepChordsSdk.framework */; }; @@ -19,6 +24,13 @@ /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ + 3F03695C2F2B604800F3CB95 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 3F887B942E38D8DC00C98658 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 0D54E0EE2F0A61E600A80EE7; + remoteInfo = DeepChordsSdk; + }; 3FD1DFE52F0E00BF00A62733 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 3F887B942E38D8DC00C98658 /* Project object */; @@ -29,6 +41,17 @@ /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ + 3F0369662F2B604800F3CB95 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 3F0369672F2B604800F3CB95 /* DeepChordsSdk.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; 3FD1DFEF2F0E00BF00A62733 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; @@ -69,6 +92,8 @@ 16E2FB8C843A2136E114E451 /* Pods-demo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-demo.debug.xcconfig"; path = "Target Support Files/Pods-demo/Pods-demo.debug.xcconfig"; sourceTree = ""; }; 248D8B53B5A178ACA5867275 /* Pods_DeepChordsSdk.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_DeepChordsSdk.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 34AD41433DCDC288CFB8C5DA /* Pods-playboy.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-playboy.release.xcconfig"; path = "Target Support Files/Pods-playboy/Pods-playboy.release.xcconfig"; sourceTree = ""; }; + 3F03696B2F2B604900F3CB95 /* playboy copy.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "playboy copy.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 3F03696D2F2B604900F3CB95 /* playboy copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "playboy copy-Info.plist"; path = "/Users/yaozuopan/Documents/code/ShenYin/ShenYin/playboy copy-Info.plist"; sourceTree = ""; }; 3F7602EA2EFA891200588C18 /* DeepChordsSdk.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = DeepChordsSdk.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 3F887B9C2E38D8DC00C98658 /* ShenYin.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ShenYin.app; sourceTree = BUILT_PRODUCTS_DIR; }; 3F8F58282EBCA2B800FFC00B /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; @@ -85,12 +110,60 @@ /* End PBXFileReference section */ /* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */ - 3F887BAE2E38D8DD00C98658 /* Exceptions for "ShenYin" folder in "ShenYin" target */ = { + 3F03696C2F2B604900F3CB95 /* Exceptions for "ShenYin" folder in "playboy copy" target */ = { isa = PBXFileSystemSynchronizedBuildFileExceptionSet; membershipExceptions = ( + "/Localized: LaunchScreen.storyboard", + "/Localized: Main.storyboard", + Api/HttpClient.swift, + Api/ResponseBaseModel.swift, + Assets.xcassets, + Cache/AiLanguageCache.swift, + Cache/BannerCache.swift, + Cache/CacheManager.swift, + Cache/ChatCache.swift, + Cache/CountryCache.swift, + Cache/DCFolder.swift, + Cache/DeviceCache.swift, + Cache/FileSaver.swift, + Cache/LanuageCache.swift, + Cache/RecordCache.swift, + Cache/RecordDetailModel.swift, + Cache/TipsCache.swift, + Cache/UserCache.swift, + Cache/UserInfo.swift, + Cache/UserModel.swift, Info.plist, + lan/Arabic.swift, + lan/CCAiSupportLanguage.swift, + lan/chinese.swift, + lan/english.swift, + lan/Filipino.swift, + lan/french.swift, + lan/German.swift, + lan/indonesian.swift, + lan/japanese.swift, + lan/korean.swift, + lan/LanConfig.swift, + lan/malay.swift, + lan/russian.swift, + lan/spanish.swift, + lan/thai.swift, + lan/TraditionalChinese.swift, + lan/Vietnam.swift, + Launch/AppDelegate.swift, + Launch/AppLaunch.swift, + Launch/AppManager.swift, + Launch/SceneDelegate.swift, playboy.storyboard, playboy.xcassets, + Resource/colors/Colors.swift, + "Resource/colors/Colors+YL.swift", + Resource/dialog_record.gif, + "Resource/fonts/UIFont+ZKYS.swift", + Resource/record_start_joy.gif, + Resource/record_start.gif, + Sdk/CCAiManager.swift, Sdk/CCBleManager.swift, Sdk/CCDevice.swift, Sdk/CCPage.swift, @@ -118,7 +191,293 @@ Sdk/DcSdk/VC/DcXclyVC.swift, Sdk/DcSdk/VC/HomeDeviceVC.swift, Sdk/DcSdk/VC/ModeVC.swift, + Sdk/JoySdk/tool/CCBleManager.swift, + Sdk/JoySdk/tool/CCConfig.swift, + Sdk/JoySdk/tool/CCDevice.swift, + Sdk/JoySdk/tool/CCPage.swift, + Sdk/JoySdk/tool/JoyCallRecord.swift, + Sdk/JoySdk/tool/JoyChat.swift, + Sdk/JoySdk/tool/JoyChinse2English.swift, + Sdk/JoySdk/tool/JoyDialog.swift, + Sdk/JoySdk/tool/JoyGemAI.framework, + Sdk/JoySdk/tool/JoyRecord.swift, + Sdk/JoySdk/tool/JoySdkManager.swift, + Sdk/JoySdk/tool/JoyTcty.swift, + Sdk/JoySdk/VC/AiFunctionVC.swift, + Sdk/JoySdk/VC/HomeDeviceVC.swift, + Sdk/JoySdk/VC/JoyCallingRecordVC.swift, + Sdk/JoySdk/VC/JoyChatVC.swift, + Sdk/JoySdk/VC/JoyChinese2EnglishVC.swift, + Sdk/JoySdk/VC/JoyDialogTranlateVC.swift, + Sdk/JoySdk/VC/JoyStereoCallVC.swift, + Sdk/JoySdk/VC/JoyTctyVC.swift, + Sdk/JoySdk/VC/JoyXclyVC.swift, + Sdk/JoySdk/VC/ModeVC.swift, + Sdk/LogManager.swift, + Sdk/Ota/JL_AdvParse.framework, + Sdk/Ota/JL_BLEKit.framework, + Sdk/Ota/JL_HashPair.framework, + Sdk/Ota/JL_OTALib.framework, + Sdk/Ota/JLBleAssistManager.m, + Sdk/Ota/JLLogHelper.framework, + Sdk/Ota/OtaManager.swift, "ShenYin copy-Info.plist", + Tools/AESEncryption.swift, + Tools/BaseSizeMacro.swift, + "Tools/Category/Data+YL.swift", + "Tools/Category/Open+map.swift", + Tools/Date.swift, + "Tools/Extensions/Array+Develop.swift", + "Tools/Extensions/Array+Spec.swift", + "Tools/Extensions/CAGradientLayer+Develop.swift", + "Tools/Extensions/CALayer+Develop.swift", + "Tools/Extensions/CGRect+HTDevelop.swift", + "Tools/Extensions/CGSize+Fit.swift", + "Tools/Extensions/Codable+Spec.swift", + Tools/Extensions/CollectionExtensions.swift, + Tools/Extensions/ConstraintArrayDSL.swift, + "Tools/Extensions/Dictionary+Develop.swift", + "Tools/Extensions/DispatchQueue+Develop.swift", + "Tools/Extensions/FileManager+Develop.swift", + "Tools/Extensions/KeyPath+Develop.swift", + "Tools/Extensions/Number+Develop.swift", + Tools/Extensions/QueryParameters.swift, + "Tools/Extensions/Sequence+Develop.swift", + Tools/Extensions/SignedNumericExtensions.swift, + Tools/Extensions/SnapKit_Extension.swift, + "Tools/Extensions/String+Attribute.swift", + "Tools/Extensions/String+Develop.swift", + "Tools/Extensions/String+Encryption.swift", + "Tools/Extensions/String+RegExp.swift", + "Tools/Extensions/String+SubString.swift", + "Tools/Extensions/String+Week.swift", + "Tools/Extensions/String+YL.swift", + "Tools/Extensions/StringURL+Develop.swift", + "Tools/Extensions/Time+Develop.swift", + "Tools/Extensions/UIApplication+Develop.swift", + "Tools/Extensions/UIButton+Develop.swift", + "Tools/Extensions/UIDevice+Landscape.swift", + "Tools/Extensions/UIImage+Develop.swift", + "Tools/Extensions/UIImage+Gif.swift", + "Tools/Extensions/UIImage+ImageEffects.m", + "Tools/Extensions/UIImageView+Develop.swift", + "Tools/Extensions/UILabel+line.swift", + "Tools/Extensions/UINavigationBar+Develop.swift", + Tools/Extensions/UITableView_Extension.swift, + "Tools/Extensions/UITableView+Header.swift", + "Tools/Extensions/UITextField+Extension.swift", + "Tools/Extensions/UITextView+Scroll.swift", + "Tools/Extensions/UIView+Develop.swift", + "Tools/Extensions/UIView+Loading.swift", + "Tools/Extensions/UIView+Rect.swift", + "Tools/Extensions/UIView+Round.swift", + Tools/Extensions/UIViewExtension.swift, + Tools/Extensions/YCDevelop.swift, + Tools/Extensions/zhString.swift, + Tools/NumberToTime.swift, + Tools/PcmSound.m, + Tools/SizeFit.swift, + Tools/Then.swift, + Tools/TimerButton/YLTimerButton.m, + Tools/YLTools.swift, + UI/Base/BaseNavigation.swift, + UI/Base/BaseNC.swift, + UI/Base/BasePickerView.swift, + UI/Base/BasePresentView.swift, + UI/Base/BaseTableViewCell.swift, + UI/Base/BaseTableViewSetionHeader.swift, + UI/Base/BaseTC.swift, + UI/Base/BaseTextField.swift, + UI/Base/BaseVC.swift, + UI/Base/BaseView.swift, + UI/Base/BaseVM.swift, + UI/Base/ReusabelViewsInitProtocol.swift, + UI/Base/WebView/BaseWebView.swift, + UI/Base/WebView/BaseWebViewController.swift, + UI/common/BrokenLineView.swift, + UI/common/CommonCell.swift, + UI/common/CustomAlert.swift, + UI/common/CustomButton.swift, + UI/common/ImagePickerManager.swift, + UI/common/LoadingButton.swift, + UI/common/LogVC.swift, + UI/common/NotificationManager.swift, + UI/common/PlaceHolderTextView.swift, + UI/common/pop/ConnectPopView.swift, + UI/common/pop/CustomPicker.swift, + UI/common/pop/CustomPicker2.swift, + UI/common/pop/CustomPicker3.swift, + UI/common/pop/CustomPicker4.swift, + UI/common/pop/LanguagePicker/LanguagePickerTitle.swift, + UI/common/pop/LanguagePicker/LanguagePickerView.swift, + UI/common/pop/LanguagePicker/LanguageSelectItem.swift, + UI/common/pop/PopCloudView.swift, + UI/common/pop/PopMenu.swift, + UI/common/pop/PopPlayView.swift, + UI/common/pop/PopTextField.swift, + UI/common/pop/RecordPopView.swift, + UI/common/pop/RecordTipsView.swift, + "UI/common/ScrollView+Bottom.swift", + UI/common/SendToolBar.swift, + UI/common/YLprogressHUD.swift, + UI/common/YLProgressMB.swift, + UI/Customer/CustomerHeaderView.swift, + UI/Customer/CustomerVC.swift, + UI/Customer/QaHeaderView.swift, + UI/Home/Chat/CCRole.swift, + UI/Home/Chat/ChatCell.swift, + UI/Home/Chat/ChatHeaderView.swift, + UI/Home/Chat/ChatNavigationBarItem.swift, + UI/Home/Chat/ChatRecordBar.swift, + UI/Home/Chat/IntelligentVC.swift, + UI/Home/Chat/RecordButton.swift, + UI/Home/Chat/RoleListVC.swift, + UI/Home/Chinese2English/Chinese2EnglishCell.swift, + UI/Home/Device/BackgroundModel.swift, + UI/Home/Device/BackgroundVC.swift, + UI/Home/Device/DeviceModel.swift, + UI/Home/Device/HomeAddDeviceView.swift, + UI/Home/Device/HomeDeviceCell.swift, + UI/Home/Device/HomeHeadInfoView.swift, + UI/Home/Dialog/DialogRecordBar.swift, + UI/Home/Dialog/DialogSplitView.swift, + UI/Home/Dialog/DialogTranslateCell.swift, + UI/Home/FieldRecording/FieldRecordBar.swift, + UI/Home/FieldRecording/RecordBar.swift, + UI/Home/FieldRecording/RhythView.swift, + UI/Home/HistoryRecord/HistoryRecordCell.swift, + UI/Home/HistoryRecord/HistoryRecordVM.swift, + UI/Home/HistoryRecord/RecordHistoryBottomView.swift, + UI/Home/HistoryRecord/RecordHistoryModel.swift, + UI/Home/HistoryRecord/RecordSearchBar.swift, + UI/Home/HistoryRecord/search/CloudSelectedCell.swift, + UI/Home/HistoryRecord/search/CloudSelectedVC.swift, + UI/Home/HistoryRecord/search/HistorySearchBottomView.swift, + UI/Home/HistoryRecord/search/HistorySearchCell.swift, + UI/Home/HistoryRecord/search/HistorySelectedVC.swift, + UI/Home/HistoryRecord/SelecteCell.swift, + UI/Home/HistoryRecord/VC/CalendarPickerVC.swift, + UI/Home/HistoryRecord/VC/CloudRecordVC.swift, + UI/Home/HistoryRecord/VC/CloudSearchVC.swift, + UI/Home/HistoryRecord/VC/HistoryRecordVC.swift, + UI/Home/HistoryRecord/VC/HistorySearchVC.swift, + UI/Home/HistoryRecord/VC/RecordFontVC.swift, + UI/Home/HistoryRecord/VC/RecordShareVC.swift, + UI/Home/RecordDetail/RecordDetaiContent.swift, + UI/Home/RecordDetail/RecordDetailBar.swift, + UI/Home/RecordDetail/RecordDetailTopBar.swift, + UI/Home/RecordDetail/RecordDetailVC.swift, + UI/Home/Root/CurrentDeviceView.swift, + UI/Home/Root/HomeBottomView.swift, + UI/Home/Root/HomeFunctionView.swift, + UI/Home/Root/HomeHeadView.swift, + UI/Home/Scan/AddDeviceVC.swift, + UI/Home/Scan/BleScanVC.swift, + UI/Home/Scan/DeviceVM.swift, + UI/Home/Scan/ProductInfoModel.swift, + UI/Home/Scan/QrVC.swift, + UI/Home/TextTranslate/TextTranslateVC.swift, + UI/Home/TextTranslate/TranslateCell.swift, + UI/Login/Controller/Binding/BindingPhoneVC.swift, + UI/Login/Controller/Binding/VarifyBindingVC.swift, + UI/Login/Controller/ContryListVC.swift, + UI/Login/Controller/ForgetVC.swift, + UI/Login/Controller/LoginVC.swift, + UI/Login/Controller/RegisterVC.swift, + UI/Login/Controller/SetEmailVC.swift, + UI/Login/Controller/SetPhoneVC.swift, + UI/Login/Controller/SmsLoginVC.swift, + UI/Login/Controller/VerifyCodeVC.swift, + UI/Login/Controller/VerifyEmailVC.swift, + UI/Login/Controller/VerifyPhoneVC.swift, + UI/Login/View/AgreeView.swift, + UI/Login/View/CodeView.swift, + UI/Login/View/CustomInputView.swift, + UI/Login/View/LoginBgView.swift, + UI/Login/View/LoginHeaderView.swift, + UI/Login/View/OthersLoginView.swift, + UI/Login/View/PasswordView.swift, + UI/Login/View/RegionView.swift, + UI/Login/ViewModel/AppleLoginManager.swift, + UI/Login/ViewModel/IASignWithWeChat.swift, + UI/Login/ViewModel/LoginVM.swift, + UI/Mine/AboutVC.swift, + UI/Mine/AccountSetVC.swift, + UI/Mine/Device/DeviceInfoVC.swift, + UI/Mine/Device/MyDeviceListVC.swift, + UI/Mine/Feedback/Commit/FeedbackCommitVC.swift, + UI/Mine/Feedback/Commit/FeedbackContactView.swift, + UI/Mine/Feedback/Commit/FeedbackImageView.swift, + UI/Mine/Feedback/Commit/FeedbackInputView.swift, + UI/Mine/Feedback/Commit/FeedbackTypeView.swift, + UI/Mine/Feedback/FeedbackBottomView.swift, + UI/Mine/Feedback/FeedbackContentView.swift, + UI/Mine/Feedback/FeedbackHistoryVC.swift, + UI/Mine/Feedback/FeedbackQaListView.swift, + UI/Mine/Feedback/FeedbackVM.swift, + UI/Mine/Feedback/FeekbackVC.swift, + UI/Mine/Feedback/QaModel.swift, + UI/Mine/Instructions/InstructionsDetailVC.swift, + UI/Mine/Instructions/InstructionsModel.swift, + UI/Mine/Instructions/InstructionsVC.swift, + UI/Mine/Instructions/SearchBar.swift, + UI/Mine/LanguageVC.swift, + UI/Mine/LoginManager/DeviceLoginDetailVC.swift, + UI/Mine/LoginManager/DeviceLoginRecordModel.swift, + UI/Mine/LoginManager/DeviceLoginVC.swift, + UI/Mine/LoginManager/DeviceLoginVM.swift, + UI/Mine/MoreSetVC.swift, + UI/Mine/ProtocolVC.swift, + UI/Mine/RevokeCodeVC.swift, + UI/Mine/RevokeVC.swift, + UI/Mine/Root/BannerModel.swift, + UI/Mine/Root/MineBannerView.swift, + UI/Mine/Root/MineCell.swift, + UI/Mine/Root/MineHeaderView.swift, + UI/Mine/Root/MineNavBar.swift, + UI/Mine/Root/MineVC.swift, + UI/Mine/Update/AppUpdateModel.swift, + UI/Mine/Update/AppUpdateVM.swift, + UI/Mine/Update/BleUpdateVM.swift, + UI/Mine/Update/UpdateVC.swift, + UI/Mine/UserInfo/AreaVC.swift, + UI/Mine/UserInfo/CustomCell.swift, + UI/Mine/UserInfo/CustomSectionHeader.swift, + UI/Mine/UserInfo/GenderVC.swift, + UI/Mine/UserInfo/NickNameVC.swift, + UI/Mine/UserInfo/UserInfoCell.swift, + UI/Mine/UserInfo/UserInfoVC.swift, + UI/Mine/UserManagerVC.swift, + UI/Mode/CustomEqVC.swift, + UI/Mode/File.swift, + UI/Mode/FindVC.swift, + UI/Mode/GlassesFindVC.swift, + UI/Mode/ModeControView.swift, + UI/Mode/ModeEffectsType.swift, + UI/Mode/ModeEffectsView.swift, + UI/Mode/ModeFindView.swift, + UI/Raisound/AesEncrypt.swift, + UI/Raisound/MSVoiceChat.swift, + UI/Raisound/MSVoiceChatModel.swift, + UI/Raisound/record/AiMouseAudioRecord.m, + UI/Raisound/record/AiMouseRecordManager.m, + UI/Raisound/RSApi.swift, + UI/Raisound/RSAuth.swift, + UI/Raisound/RSChatCell.swift, + UI/Raisound/RSChatVC.swift, + UI/Raisound/RSManager.swift, + UI/Raisound/RSRecordBar.swift, + UI/Raisound/SwiftWebSocket.swift, + UI/Sleep/AudioPlayerManager.swift, + UI/Sleep/AudioPlayerVC.swift, + UI/Sleep/AudioPlayView.swift, + UI/Sleep/CircleProgressView.swift, + UI/Sleep/MusicCategory.swift, + UI/Sleep/MusicModel.swift, + UI/Sleep/SleepCell.swift, + UI/Sleep/SleepListView.swift, + UI/Sleep/SleepVC.swift, + UI/Sleep/SleepVM.swift, UI/Sport/MusicRootView.swift, UI/Sport/RecordRootView.swift, UI/Sport/Sport/Ready/CountdownView.swift, @@ -131,9 +490,50 @@ UI/Sport/Sport/root/RouteView.swift, UI/Sport/Sport/root/SportRootView.swift, UI/Sport/Sport/root/SportTypeView.swift, + UI/Sport/Sport/Set/SportSetCell.swift, + UI/Sport/Sport/Set/SportSetModel.swift, + UI/Sport/Sport/Set/SportSetVC.swift, UI/Sport/Sport/Tools/MapManager.swift, UI/Sport/SportHomeVC.swift, UI/Sport/TranslateRootView.swift, + ViewController.swift, + ); + target = 3F03695A2F2B604800F3CB95 /* playboy copy */; + }; + 3F887BAE2E38D8DD00C98658 /* Exceptions for "ShenYin" folder in "ShenYin" target */ = { + isa = PBXFileSystemSynchronizedBuildFileExceptionSet; + membershipExceptions = ( + Info.plist, + playboy.storyboard, + playboy.xcassets, + Sdk/CCBleManager.swift, + Sdk/CCDevice.swift, + Sdk/CCPage.swift, + Sdk/DcSdk/tool/CCBleManager.swift, + Sdk/DcSdk/tool/CCConfig.swift, + Sdk/DcSdk/tool/CCDevice.swift, + Sdk/DcSdk/tool/CCPage.swift, + Sdk/DcSdk/tool/DcCall.swift, + Sdk/DcSdk/tool/DcChatManager.swift, + Sdk/DcSdk/tool/DcChinese2Enligsh.swift, + Sdk/DcSdk/tool/DcSdkManager.swift, + Sdk/DcSdk/tool/DcStereo.swift, + Sdk/DcSdk/tool/DcTcty.swift, + Sdk/DcSdk/tool/DcThly.swift, + Sdk/DcSdk/tool/DcXcly.swift, + Sdk/DcSdk/tool/JLAudioUnitKit.xcframework, + Sdk/DcSdk/tool/OpusTools.swift, + Sdk/DcSdk/VC/AiFunctionVC.swift, + Sdk/DcSdk/VC/DcCallingRecordVC.swift, + Sdk/DcSdk/VC/DcChatVC.swift, + Sdk/DcSdk/VC/DcChinese2EnglishVC.swift, + Sdk/DcSdk/VC/DcDialogTranslateVC.swift, + Sdk/DcSdk/VC/DcStereoCallVC.swift, + Sdk/DcSdk/VC/DcTctyVC.swift, + Sdk/DcSdk/VC/DcXclyVC.swift, + Sdk/DcSdk/VC/HomeDeviceVC.swift, + Sdk/DcSdk/VC/ModeVC.swift, + "ShenYin copy-Info.plist", ); target = 3F887B9B2E38D8DC00C98658 /* ShenYin */; }; @@ -180,6 +580,9 @@ UI/Sport/Sport/root/RouteView.swift, UI/Sport/Sport/root/SportRootView.swift, UI/Sport/Sport/root/SportTypeView.swift, + UI/Sport/Sport/Set/SportSetCell.swift, + UI/Sport/Sport/Set/SportSetModel.swift, + UI/Sport/Sport/Set/SportSetVC.swift, UI/Sport/Sport/Tools/MapManager.swift, UI/Sport/SportHomeVC.swift, UI/Sport/TranslateRootView.swift, @@ -245,6 +648,7 @@ 3FCC8B152F1E0280004C2A13 /* Exceptions for "ShenYin" folder in "Embed Frameworks" phase from "ShenYin" target */, 3FD1DFF52F0E00BF00A62733 /* Exceptions for "ShenYin" folder in "playboy" target */, 3FCC8B1A2F1E030E004C2A13 /* Exceptions for "ShenYin" folder in "Embed Frameworks" phase from "playboy" target */, + 3F03696C2F2B604900F3CB95 /* Exceptions for "ShenYin" folder in "playboy copy" target */, ); path = ShenYin; sourceTree = ""; @@ -260,6 +664,16 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 3F03695F2F2B604800F3CB95 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 3F0369602F2B604800F3CB95 /* DeepChordsSdk.framework in Frameworks */, + 3F0369612F2B604800F3CB95 /* (null) in Frameworks */, + 3F0369622F2B604800F3CB95 /* Pods_playboy.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 3F887B992E38D8DC00C98658 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -308,6 +722,7 @@ 3F887B9D2E38D8DC00C98658 /* Products */, 34A14A83ECF09370871C891F /* Pods */, 676B86A4BA2639E8694D56B4 /* Frameworks */, + 3F03696D2F2B604900F3CB95 /* playboy copy-Info.plist */, ); sourceTree = ""; }; @@ -317,6 +732,7 @@ 3F887B9C2E38D8DC00C98658 /* ShenYin.app */, 0D54E0EF2F0A61E600A80EE7 /* DeepChordsSdk.framework */, 3FD1DFF42F0E00BF00A62733 /* playboy.app */, + 3F03696B2F2B604900F3CB95 /* playboy copy.app */, ); name = Products; sourceTree = ""; @@ -369,6 +785,30 @@ productReference = 0D54E0EF2F0A61E600A80EE7 /* DeepChordsSdk.framework */; productType = "com.apple.product-type.framework"; }; + 3F03695A2F2B604800F3CB95 /* playboy copy */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3F0369682F2B604800F3CB95 /* Build configuration list for PBXNativeTarget "playboy copy" */; + buildPhases = ( + 3F03695D2F2B604800F3CB95 /* [CP] Check Pods Manifest.lock */, + 3F03695E2F2B604800F3CB95 /* Sources */, + 3F03695F2F2B604800F3CB95 /* Frameworks */, + 3F0369632F2B604800F3CB95 /* Resources */, + 3F0369652F2B604800F3CB95 /* [CP] Embed Pods Frameworks */, + 3F0369662F2B604800F3CB95 /* Embed Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 3F03695B2F2B604800F3CB95 /* PBXTargetDependency */, + ); + fileSystemSynchronizedGroups = ( + 3F887B9E2E38D8DC00C98658 /* ShenYin */, + ); + name = "playboy copy"; + productName = LingQi; + productReference = 3F03696B2F2B604900F3CB95 /* playboy copy.app */; + productType = "com.apple.product-type.application"; + }; 3F887B9B2E38D8DC00C98658 /* ShenYin */ = { isa = PBXNativeTarget; buildConfigurationList = 3F887BAF2E38D8DD00C98658 /* Build configuration list for PBXNativeTarget "ShenYin" */; @@ -379,6 +819,7 @@ 3F887B9A2E38D8DC00C98658 /* Resources */, 5A934A35F54A5620CFD3C08A /* [CP] Embed Pods Frameworks */, 3FEFE9092F1B252000D82F17 /* Embed Frameworks */, + B5B3AFE4385DEF6B27A9A30F /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -451,6 +892,7 @@ 3F887B9B2E38D8DC00C98658 /* ShenYin */, 0D54E0EE2F0A61E600A80EE7 /* DeepChordsSdk */, 3FD1DFE32F0E00BF00A62733 /* playboy */, + 3F03695A2F2B604800F3CB95 /* playboy copy */, ); }; /* End PBXProject section */ @@ -463,6 +905,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 3F0369632F2B604800F3CB95 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3F0369642F2B604800F3CB95 /* PrivacyInfo.xcprivacy in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 3F887B9A2E38D8DC00C98658 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -482,6 +932,49 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 3F03695D2F2B604800F3CB95 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-playboy-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 3F0369652F2B604800F3CB95 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-playboy/Pods-playboy-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + inputPaths = ( + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-playboy/Pods-playboy-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-playboy/Pods-playboy-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; 3FD1DFE62F0E00BF00A62733 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -568,6 +1061,27 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ShenYin/Pods-ShenYin-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; + B5B3AFE4385DEF6B27A9A30F /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-ShenYin/Pods-ShenYin-resources-${CONFIGURATION}-input-files.xcfilelist", + ); + inputPaths = ( + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-ShenYin/Pods-ShenYin-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ShenYin/Pods-ShenYin-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; FEE3A20D8A2FA81E622C488B /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -600,6 +1114,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 3F03695E2F2B604800F3CB95 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 3F887B982E38D8DC00C98658 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -617,6 +1138,11 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ + 3F03695B2F2B604800F3CB95 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 0D54E0EE2F0A61E600A80EE7 /* DeepChordsSdk */; + targetProxy = 3F03695C2F2B604800F3CB95 /* PBXContainerItemProxy */; + }; 3FD1DFE42F0E00BF00A62733 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 0D54E0EE2F0A61E600A80EE7 /* DeepChordsSdk */; @@ -737,6 +1263,117 @@ }; name = Release; }; + 3F0369692F2B604800F3CB95 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 0BF087E24C77C8FC87DA7D4C /* Pods-playboy.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = ShenYin/ShenYin.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1000; + DEVELOPMENT_TEAM = G23X75CJ67; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)", + "$(PROJECT_DIR)/ShenYin/Ota", + "$(PROJECT_DIR)/DeepChordsSdk", + "$(PROJECT_DIR)/ShenYin/Sdk/Ota", + "$(PROJECT_DIR)/ShenYin/Sdk/JoySdk", + "$(PROJECT_DIR)/ShenYin/Sdk/JoySdk/tool", + ); + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = "playboy copy-Info.plist"; + INFOPLIST_KEY_CFBundleDisplayName = PLAYBOY; + INFOPLIST_KEY_ITSAppUsesNonExemptEncryption = NO; + INFOPLIST_KEY_NSBluetoothAlwaysUsageDescription = "扫描附近蓝牙设备需要获得权限"; + INFOPLIST_KEY_NSCameraUsageDescription = "修改用户头像、提交意见反馈需要访问相册使用摄像头"; + INFOPLIST_KEY_NSLocationWhenInUseUsageDescription = "允许APP使用定位方便查找耳机"; + INFOPLIST_KEY_NSMicrophoneUsageDescription = "录音需要使用麦克风"; + INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "修改用户头像、提交意见反馈需要访问相册"; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = playboy.storyboard; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = UIInterfaceOrientationPortrait; + INFOPLIST_KEY_UIUserInterfaceStyle = Light; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + LIBRARY_SEARCH_PATHS = "$(inherited)"; + MARKETING_VERSION = 1.0.0; + PRODUCT_BUNDLE_IDENTIFIER = com.deepchords.playboy; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OBJC_BRIDGING_HEADER = "ShenYin/ShenYin-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + }; + name = Debug; + }; + 3F03696A2F2B604800F3CB95 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 34AD41433DCDC288CFB8C5DA /* Pods-playboy.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = ShenYin/ShenYin.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1000; + DEVELOPMENT_TEAM = G23X75CJ67; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)", + "$(PROJECT_DIR)/ShenYin/Ota", + "$(PROJECT_DIR)/ShenYin/Sdk/Ota", + "$(PROJECT_DIR)/ShenYin/Sdk/JoySdk", + "$(PROJECT_DIR)/ShenYin/Sdk/JoySdk/tool", + "$(PROJECT_DIR)/DeepChordsSdk", + ); + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = "playboy copy-Info.plist"; + INFOPLIST_KEY_CFBundleDisplayName = PLAYBOY; + INFOPLIST_KEY_ITSAppUsesNonExemptEncryption = NO; + INFOPLIST_KEY_NSBluetoothAlwaysUsageDescription = "扫描附近蓝牙设备需要获得权限"; + INFOPLIST_KEY_NSCameraUsageDescription = "修改用户头像、提交意见反馈需要访问相册使用摄像头"; + INFOPLIST_KEY_NSLocationWhenInUseUsageDescription = "允许APP使用定位方便查找耳机"; + INFOPLIST_KEY_NSMicrophoneUsageDescription = "录音需要使用麦克风"; + INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "修改用户头像、提交意见反馈需要访问相册"; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = playboy.storyboard; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = UIInterfaceOrientationPortrait; + INFOPLIST_KEY_UIUserInterfaceStyle = Light; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + LIBRARY_SEARCH_PATHS = "$(inherited)"; + MARKETING_VERSION = 1.0.0; + PRODUCT_BUNDLE_IDENTIFIER = com.deepchords.playboy; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OBJC_BRIDGING_HEADER = "ShenYin/ShenYin-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + }; + name = Release; + }; 3F887BB02E38D8DD00C98658 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 5F5DE5910965D53C2B3405B0 /* Pods-ShenYin.debug.xcconfig */; @@ -1094,6 +1731,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 3F0369682F2B604800F3CB95 /* Build configuration list for PBXNativeTarget "playboy copy" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3F0369692F2B604800F3CB95 /* Debug */, + 3F03696A2F2B604800F3CB95 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 3F887B972E38D8DC00C98658 /* Build configuration list for PBXProject "ShenYin" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/ShenYin/ShenYin/Launch/SceneDelegate.swift b/ShenYin/ShenYin/Launch/SceneDelegate.swift index 0e753dc..3332c6d 100644 --- a/ShenYin/ShenYin/Launch/SceneDelegate.swift +++ b/ShenYin/ShenYin/Launch/SceneDelegate.swift @@ -17,9 +17,9 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { guard let _ = (scene as? UIWindowScene) else { return } App.shared.window = window - AppLaunch.start() -// MapManager.shared.setupSdk() -// window?.rootViewController = UINavigationController(rootViewController: RSChatVC()) +// AppLaunch.start() + MapManager.shared.setupSdk() + window?.rootViewController = UINavigationController(rootViewController: SportSetVC()) } func sceneDidDisconnect(_ scene: UIScene) { diff --git a/ShenYin/ShenYin/Sdk/DcSdk/tool/CCBleManager.swift b/ShenYin/ShenYin/Sdk/DcSdk/tool/CCBleManager.swift index b388c31..a89ee81 100644 --- a/ShenYin/ShenYin/Sdk/DcSdk/tool/CCBleManager.swift +++ b/ShenYin/ShenYin/Sdk/DcSdk/tool/CCBleManager.swift @@ -217,12 +217,12 @@ extension CCBleManager{ func connectPeripheral(_ peripheral: DCPeripheral) { connectPeripheral = peripheral - if let name = peripheral.device.name,name.hasPrefix("AI") { - CCDevice.isJoy = false - } - else{ - CCDevice.isJoy = true - } +// if let name = peripheral.device.name,name.hasPrefix("AI") { +// CCDevice.isJoy = false +// } +// else{ +// CCDevice.isJoy = true +// } CCDevice.initSdk() Logger.debug(peripheral.device.name ?? "","连接中...") centralManager.connect(peripheral.device, options: [CBConnectPeripheralOptionEnableTransportBridgingKey:true]) diff --git a/ShenYin/ShenYin/Sdk/DcSdk/tool/CCConfig.swift b/ShenYin/ShenYin/Sdk/DcSdk/tool/CCConfig.swift index 18e73f6..535fc20 100644 --- a/ShenYin/ShenYin/Sdk/DcSdk/tool/CCConfig.swift +++ b/ShenYin/ShenYin/Sdk/DcSdk/tool/CCConfig.swift @@ -5,44 +5,44 @@ // Created by liangshi on 2026/1/28. // -//class CCConfig{ -// static var appLanguage = AppSupportLanguage.english -// -// static let wxAppID = "wxd9d677e0024caa90" -// static let wxUniversalLink = "https://dc-cloud-pub.tos-cn-guangzhou.volces.com/app/" -// static let appStoreLink = "https://itunes.apple.com/cn/app/6752551504?mt=8" -// /// 版本检测 -// static let appStoreVersionURL = "https://itunes.apple.com/cn/lookup?id=6752551504" -// -// /// 服务器地址 -// // static let baseURL = "http://118.145.178.188:32000" -// static let baseURL = "https://app-api.deepchords.com" -// //海外版 -// // static let baseURL = "https://app-api.deepchords-ai.com" -// -// /// 用户隐私协议地址 -// static let yonghuBaseURL = "https://pub-tos.deepchords.com" -//} -// -// - - class CCConfig{ static var appLanguage = AppSupportLanguage.english - + static let wxAppID = "wxd9d677e0024caa90" - static let wxUniversalLink = "https://www.playboykq.com/app/" - /// 通用链接 - // https://dc-cloud-pub.tos-cn-guangzhou.volces.com/apple-app-site-association + static let wxUniversalLink = "https://dc-cloud-pub.tos-cn-guangzhou.volces.com/app/" static let appStoreLink = "https://itunes.apple.com/cn/app/6752551504?mt=8" /// 版本检测 static let appStoreVersionURL = "https://itunes.apple.com/cn/lookup?id=6752551504" - + /// 服务器地址 - static let baseURL = "https://app-api.playboykq.com" - -// https://pub-cdn.playboykq.com/protocol/cn/yonghuxieyi.html + // static let baseURL = "http://118.145.178.188:32000" + static let baseURL = "https://app-api.deepchords.com" + //海外版 + // static let baseURL = "https://app-api.deepchords-ai.com" + /// 用户隐私协议地址 - static let yonghuBaseURL = "https://pub-cdn.playboykq.com" - + static let yonghuBaseURL = "https://pub-tos.deepchords.com" } + + + + +//class CCConfig{ +// static var appLanguage = AppSupportLanguage.english +// +// static let wxAppID = "wxd9d677e0024caa90" +// static let wxUniversalLink = "https://www.playboykq.com/app/" +// /// 通用链接 +// // https://dc-cloud-pub.tos-cn-guangzhou.volces.com/apple-app-site-association +// static let appStoreLink = "https://itunes.apple.com/cn/app/6752551504?mt=8" +// /// 版本检测 +// static let appStoreVersionURL = "https://itunes.apple.com/cn/lookup?id=6752551504" +// +// /// 服务器地址 +// static let baseURL = "https://app-api.playboykq.com" +// +//// https://pub-cdn.playboykq.com/protocol/cn/yonghuxieyi.html +// /// 用户隐私协议地址 +// static let yonghuBaseURL = "https://pub-cdn.playboykq.com" +// +//} diff --git a/ShenYin/ShenYin/Sdk/DcSdk/tool/DcSdkManager.swift b/ShenYin/ShenYin/Sdk/DcSdk/tool/DcSdkManager.swift index a2dee20..a9b6ec1 100644 --- a/ShenYin/ShenYin/Sdk/DcSdk/tool/DcSdkManager.swift +++ b/ShenYin/ShenYin/Sdk/DcSdk/tool/DcSdkManager.swift @@ -14,7 +14,7 @@ class DcSdkManager{ func initSdk(){ DcCall.shared.start() DCSdk.shared.initSDK() - DCLogger.isDebug = true + DCLogger.isDebug = false DCSdk.shared.authCallback = {[weak self] (code,msg)in DCLogger.debug(code,msg) guard let self = self else{return} diff --git a/ShenYin/ShenYin/UI/Mine/AboutVC.swift b/ShenYin/ShenYin/UI/Mine/AboutVC.swift index 1db3c4e..49edccd 100644 --- a/ShenYin/ShenYin/UI/Mine/AboutVC.swift +++ b/ShenYin/ShenYin/UI/Mine/AboutVC.swift @@ -49,7 +49,7 @@ extension AboutVC:UITableViewDelegate,UITableViewDataSource { func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = CustomCell.cell(withTableView: tableView, indexPath: indexPath) - cell.type = list[indexPath.section][indexPath.row] + cell.titleLabel.text = list[indexPath.section][indexPath.row].title let rect = CGRect(x: 0, y: 0, width: kScreenWid - 36, height: 52) if indexPath.row == 0 { cell.bgView.yc.setCorners(withRoundedRect: rect, roundingCorners: [.topLeft,.topRight], cornerRadii: CGSize(width: 12, height: 12)) @@ -60,7 +60,7 @@ extension AboutVC:UITableViewDelegate,UITableViewDataSource { else{ cell.bgView.yc.setCorners(withRoundedRect: rect, roundingCorners: [.allCorners], cornerRadii: CGSize(width: 0, height: 0)) } - if cell.type == .revoke { + if list[indexPath.section][indexPath.row] == .revoke { cell.bgView.yc.setCorners(withRoundedRect: rect, roundingCorners: [.allCorners], cornerRadii: CGSize(width: 12, height: 12)) } diff --git a/ShenYin/ShenYin/UI/Mine/AccountSetVC.swift b/ShenYin/ShenYin/UI/Mine/AccountSetVC.swift index 1809ed8..8116b4b 100644 --- a/ShenYin/ShenYin/UI/Mine/AccountSetVC.swift +++ b/ShenYin/ShenYin/UI/Mine/AccountSetVC.swift @@ -61,7 +61,7 @@ extension AccountSetVC:UITableViewDelegate,UITableViewDataSource { func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = CustomCell.cell(withTableView: tableView, indexPath: indexPath) let list = list[indexPath.section].list - cell.type = list[indexPath.row] + cell.titleLabel.text = list[indexPath.row].title let rect = CGRect(x: 0, y: 0, width: kScreenWid - 36, height: 52) if indexPath.row == 0 { cell.bgView.yc.setCorners(withRoundedRect: rect, roundingCorners: [.topLeft,.topRight], cornerRadii: CGSize(width: 12, height: 12)) diff --git a/ShenYin/ShenYin/UI/Mine/MoreSetVC.swift b/ShenYin/ShenYin/UI/Mine/MoreSetVC.swift index d74f9c9..ac61392 100644 --- a/ShenYin/ShenYin/UI/Mine/MoreSetVC.swift +++ b/ShenYin/ShenYin/UI/Mine/MoreSetVC.swift @@ -8,7 +8,6 @@ import UIKit class MoreSetVC: BaseVC{ let tableView = UITableView(frame: .zero, style: .plain) -// let list:[CustomCellType] = [.notice,.system] let list:[CustomCellType] = [.system] let switchBtn = CustomButton() @@ -107,7 +106,7 @@ extension MoreSetVC:UITableViewDelegate,UITableViewDataSource { } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = CustomCell.cell(withTableView: tableView, indexPath: indexPath) - cell.type = list[indexPath.row] + cell.titleLabel.text = list[indexPath.row].title let rect = CGRect(x: 0, y: 0, width: kScreenWid - 36, height: 52) if indexPath.row == 0 { cell.bgView.yc.setCorners(withRoundedRect: rect, roundingCorners: [.topLeft,.topRight], cornerRadii: CGSize(width: 12, height: 12)) diff --git a/ShenYin/ShenYin/UI/Mine/UserInfo/CustomCell.swift b/ShenYin/ShenYin/UI/Mine/UserInfo/CustomCell.swift index 092b53c..3798dd2 100644 --- a/ShenYin/ShenYin/UI/Mine/UserInfo/CustomCell.swift +++ b/ShenYin/ShenYin/UI/Mine/UserInfo/CustomCell.swift @@ -5,15 +5,6 @@ // Created by liangshi on 2025/8/25. // public enum CustomCellType: Int { - case avatar - case nickName - case gender - case birthday - case height - case weight - case hobbies - case area - case account case phone case email @@ -47,23 +38,7 @@ public enum CustomCellType: Int { var title:String{ switch self { - case .avatar: - return "头像".l10n - case .nickName: - return "昵称".l10n - case .gender: - return "性别".l10n - case .birthday: - return "生日".l10n - case .height: - return "身高".l10n - case .weight: - return "体重".l10n - case .hobbies: - return "运动偏好".l10n - case .area: - return "国家与地区".l10n - + case .account: return "账号密码".l10n case .phone: @@ -130,36 +105,6 @@ class CustomCell: BaseTableViewCell { let valueIcon = UIImageView() let valueLabel = UILabel() - var type:CustomCellType = .area{ - didSet{ - titleLabel.text = type.title - valueIcon.isHidden = type != .avatar - - if type == .nickName || type == .gender || type == .area { - valueLabel.isHidden = false - } - else{ - valueLabel.isHidden = true - } - let info = CacheManager.shared.user.info - if type == .nickName { - valueLabel.text = info.userName - } - else if type == .gender { - //1表示男,0表示女,2表示保密 - valueLabel.text = info.gender.title - } - else if type == .area { -// valueLabel.text = info.countryName - valueLabel.text = info.cacheCountryName - } - else if type == .avatar{ - valueIcon.kf.setImage(with:CacheManager.shared.user.info.avatar.yc.asUrl ) - } - } - } - - override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { super.init(style: style, reuseIdentifier: reuseIdentifier) } @@ -229,79 +174,4 @@ class CustomCell: BaseTableViewCell { -class SwitchCell: BaseTableViewCell { - let bgView = UIView() - let titleLabel = UILabel() - let detailLabel = UILabel() - let iSwitch = UISwitch() - var hasDetail:Bool = true{ - didSet{ - detailLabel.isHidden = !hasDetail - if hasDetail { - titleLabel.snp.makeConstraints { (m) in - m.top.equalToSuperview().inset(16) - m.left.equalToSuperview().offset(16) - } - } - else{ - titleLabel.snp.makeConstraints { (m) in - m.centerY.equalToSuperview() - m.left.equalToSuperview().offset(16) - } - - } - } - } - - override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { - super.init(style: style, reuseIdentifier: reuseIdentifier) - } - - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - override func setupViews() { - contentView.addSubview(bgView) - bgView.addSubviews([titleLabel,detailLabel,iSwitch]) - - backgroundColor = .color(.bgColor) - contentView.backgroundColor = .clear - selectionStyle = .none - bgView.do { v in - v.backgroundColor = .color(.cellBg) - } - titleLabel.do { (v) in - v.textColor = .color(.first) - v.font = .bold(14) - v.textAlignment = .left - } - detailLabel.do { (v) in - v.textColor = .color(.secondary) - v.font = .regular(10) - v.textAlignment = .left - v.isHidden = !hasDetail - } - } - - override func setupLayout() { - bgView.snp.makeConstraints { (m) in - m.left.right.equalToSuperview().inset(18) - m.top.equalToSuperview() - m.bottom.equalToSuperview() - } - titleLabel.snp.makeConstraints { (m) in - m.top.equalToSuperview().inset(16) - m.left.equalToSuperview().offset(16) - } - detailLabel.snp.makeConstraints { (m) in - m.bottom.equalToSuperview().inset(16) - m.left.equalToSuperview().offset(16) - } - iSwitch.snp.makeConstraints { (m) in - m.width.equalTo(50) - m.height.equalToSuperview() - m.right.equalToSuperview().inset(15) - m.centerY.equalToSuperview() - } - } -} + diff --git a/ShenYin/ShenYin/UI/Mine/UserInfo/UserInfoCell.swift b/ShenYin/ShenYin/UI/Mine/UserInfo/UserInfoCell.swift index 00f4f51..4f5b527 100644 --- a/ShenYin/ShenYin/UI/Mine/UserInfo/UserInfoCell.swift +++ b/ShenYin/ShenYin/UI/Mine/UserInfo/UserInfoCell.swift @@ -5,206 +5,139 @@ //// Created by liangshi on 2025/7/30. //// // -//import UIKit -// -//public enum UserInfoCellType: Int { -// case avatar -// case nickName -// case gender -// case area -// -// -// case account -// case phone -// case email -// case thirdLogin -// -// case deregister -// -// var title:String{ -// switch self { -// case .avatar: -// return "头像" -// case .nickName: -// return "昵称" -// case .gender: -// return "性别" -// case .area: -// return "国家与地区" -// -// case .account: -// return "账号密码" -// case .phone: -// return "安全手机" -// case .email: -// return "安全邮箱" -// case .thirdLogin: -// return "第三方账号" -// -// -// case .deregister: -// return "注销账号" -// } -// } -// -//} -// -// -//class UserInfoCell: BaseTableViewCell { -// let bgView = UIView() -// let icon = UIImageView() -// let titleLabel = UILabel() -// let valueLabel = UILabel() -// let nextIcon = UIImageView() -// -// var type:UserInfoCellType = .avatar{ -// didSet{ -// titleLabel.text = type.title -// valueLabel.text = "1111" -// } -// } -// -// override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { -// super.init(style: style, reuseIdentifier: reuseIdentifier) -// } -// -// required init?(coder: NSCoder) { -// fatalError("init(coder:) has not been implemented") -// } -// override func setupViews() { -// contentView.addSubview(bgView) -// bgView.addSubviews([titleLabel,icon,valueLabel,nextIcon]) -// -// backgroundColor = .clear -// contentView.backgroundColor = .clear -// selectionStyle = .none -// bgView.do { v in -// v.backgroundColor = UIColor.black.withAlphaComponent(0.04) -// v.layer.borderColor = UIColor.black.withAlphaComponent(0.1).cgColor -// v.layer.borderWidth = 0.5 -// v.layer.cornerRadius = 12 -// v.layer.masksToBounds = true -// } -// titleLabel.do { (v) in -// v.textColor = .white -// v.font = .medium(16) -// v.textAlignment = .left -// } -// valueLabel.do { (v) in -// v.textColor = .black.withAlphaComponent(0.8) -// v.font = .medium(14) -// v.textAlignment = .right -// } -// nextIcon.image = UIImage(named: "arrow_next") -// } -// -// override func setupLayout() { -// bgView.snp.makeConstraints { (m) in -// m.left.right.equalToSuperview().inset(15) -// m.top.equalToSuperview().inset(6) -// m.bottom.equalToSuperview().inset(6) -// m.height.equalTo(52) -// } -// nextIcon.snp.makeConstraints { (m) in -// m.width.equalTo(20) -// m.height.equalTo(20) -// m.right.equalToSuperview().inset(15) -// m.centerY.equalToSuperview() -// } -// icon.snp.makeConstraints { (m) in -// m.width.equalTo(46) -// m.height.equalTo(46) -// m.right.equalToSuperview().inset(40) -// m.centerY.equalToSuperview() -// } -// titleLabel.snp.makeConstraints { (m) in -// m.centerY.equalTo(icon) -// m.left.equalToSuperview().inset(15) -// m.height.equalToSuperview() -// } -// valueLabel.snp.makeConstraints { (m) in -// m.centerY.equalTo(icon) -// m.right.equalToSuperview().inset(40) -// m.height.equalToSuperview() -// } -// -// } -//} -// -//class UserInfoImageCell: BaseTableViewCell { -// let bgView = UIView() -// let icon = UIImageView() -// let titleLabel = UILabel() -// let nextIcon = UIImageView() -// let imgPicker = ImagePickerManager() -// -// override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { -// super.init(style: style, reuseIdentifier: reuseIdentifier) -// } -// -// required init?(coder: NSCoder) { -// fatalError("init(coder:) has not been implemented") -// } -// override func setupViews() { -// contentView.addSubview(bgView) -// bgView.addSubviews([titleLabel,icon,nextIcon]) -// -// backgroundColor = .clear -// contentView.backgroundColor = .clear -// selectionStyle = .none -// bgView.do { v in -// v.backgroundColor = UIColor.black.withAlphaComponent(0.04) -// v.layer.borderColor = UIColor.black.withAlphaComponent(0.1).cgColor -// v.layer.borderWidth = 0.5 -// v.layer.cornerRadius = 12 -// v.layer.masksToBounds = true -// v.yc.addTap(target: self, action:#selector(pickImageAction )) -// } -// titleLabel.do { (v) in -// v.textColor = .white -// v.font = .medium(16) -// v.textAlignment = .left -// v.text = "头像" -// } -// icon.do { v in -// v.yc.setCornerRadius(23) -// v.backgroundColor = .black.withAlphaComponent(0.5) -// } -// nextIcon.image = UIImage(named: "arrow_next") -// } -// -// override func setupLayout() { -// bgView.snp.makeConstraints { (m) in -// m.left.right.equalToSuperview().inset(15) -// m.top.equalToSuperview().inset(6) -// m.bottom.equalToSuperview().inset(6) -// m.height.equalTo(72) -// } -// nextIcon.snp.makeConstraints { (m) in -// m.width.equalTo(20) -// m.height.equalTo(20) -// m.right.equalToSuperview().inset(15) -// m.centerY.equalToSuperview() -// } -// icon.snp.makeConstraints { (m) in -// m.width.equalTo(46) -// m.height.equalTo(46) -// m.right.equalToSuperview().inset(40) -// m.centerY.equalToSuperview() -// } -// titleLabel.snp.makeConstraints { (m) in -// m.centerY.equalTo(icon) -// m.left.equalToSuperview().inset(15) -// m.height.equalToSuperview() -// } -// -// } -// -// @objc func pickImageAction() -> Void { -// imgPicker.showImagePicker(from: App.shared.topVC()) {[weak self] image in -// guard let self = self else { return } -// icon.image = image -// } -// } -//} -// +public enum UserInfoCellType: Int { + case avatar + case nickName + case gender + case birthday + case height + case weight + case hobbies + case area + + var title:String{ + switch self { + case .avatar: + return "头像".l10n + case .nickName: + return "昵称".l10n + case .gender: + return "性别".l10n + case .birthday: + return "生日".l10n + case .height: + return "身高".l10n + case .weight: + return "体重".l10n + case .hobbies: + return "运动偏好".l10n + case .area: + return "国家与地区".l10n + } + } +} + + +class UserInfoCell: BaseTableViewCell { + let bgView = UIView() + let titleLabel = UILabel() + let nextIcon = UIImageView() + let valueIcon = UIImageView() + let valueLabel = UILabel() + + var type:UserInfoCellType = .area{ + didSet{ + titleLabel.text = type.title + valueIcon.isHidden = type != .avatar + + if type == .nickName || type == .gender || type == .area { + valueLabel.isHidden = false + } + else{ + valueLabel.isHidden = true + } + let info = CacheManager.shared.user.info + if type == .nickName { + valueLabel.text = info.userName + } + else if type == .gender { + //1表示男,0表示女,2表示保密 + valueLabel.text = info.gender.title + } + else if type == .area { + // valueLabel.text = info.countryName + valueLabel.text = info.cacheCountryName + } + else if type == .avatar{ + valueIcon.kf.setImage(with:CacheManager.shared.user.info.avatar.yc.asUrl ) + } + } + } + + + override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { + super.init(style: style, reuseIdentifier: reuseIdentifier) + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + override func setupViews() { + contentView.addSubview(bgView) + bgView.addSubviews([titleLabel,nextIcon,valueIcon,valueLabel]) + + backgroundColor = .color(.bgColor) + contentView.backgroundColor = .clear + selectionStyle = .none + bgView.do { v in + v.backgroundColor = .color(.cellBg) + } + titleLabel.do { (v) in + + v.textColor = .color(.first) + v.font = .bold(14) + v.textAlignment = .left + } + valueLabel.do { v in + v.textColor = .color(.secondary) + v.font = .regular(14) + v.textAlignment = .right + } + valueIcon.do { v in + v.yc.setCornerRadius(12) + v.image = UIImage(named: "logo_2") + v.isHidden = true + } + nextIcon.image = UIImage(named: "arrow_next") + } + + override func setupLayout() { + bgView.snp.makeConstraints { (m) in + m.left.right.equalToSuperview().inset(18) + m.top.equalToSuperview() + m.bottom.equalToSuperview() + } + titleLabel.snp.makeConstraints { (m) in + m.centerY.equalToSuperview() + m.left.equalToSuperview().offset(16) + m.height.equalToSuperview() + } + nextIcon.snp.makeConstraints { (m) in + m.width.equalTo(8) + m.height.equalTo(12) + m.right.equalToSuperview().inset(15) + m.centerY.equalToSuperview() + } + valueIcon.snp.makeConstraints { (m) in + m.size.equalTo(24) + m.right.equalToSuperview().inset(38) + m.centerY.equalToSuperview() + } + valueLabel.snp.makeConstraints { (m) in + m.centerY.equalToSuperview() + m.right.equalToSuperview().inset(38) + m.height.equalToSuperview() + m.left.equalToSuperview().inset(90) + } + } +} diff --git a/ShenYin/ShenYin/UI/Mine/UserInfo/UserInfoVC.swift b/ShenYin/ShenYin/UI/Mine/UserInfo/UserInfoVC.swift index c0742e0..45e7ad0 100644 --- a/ShenYin/ShenYin/UI/Mine/UserInfo/UserInfoVC.swift +++ b/ShenYin/ShenYin/UI/Mine/UserInfo/UserInfoVC.swift @@ -8,7 +8,7 @@ import UIKit class UserInfoVC: BaseVC{ let tableView = UITableView(frame: .zero, style: .plain) - let list:[CustomCellType] = [.avatar,.nickName,.gender,.birthday,.height,.weight,.hobbies,.area] + var list:[UserInfoCellType] = [] let imgPicker = ImagePickerManager() override func viewDidLoad() { @@ -24,7 +24,7 @@ class UserInfoVC: BaseVC{ v.rowHeight = 52 v.sectionHeaderHeight = 52 v.separatorStyle = .none - v.register(CustomCell.self, forCellReuseIdentifier: CustomCell.reuseID) + v.register(UserInfoCell.self, forCellReuseIdentifier: UserInfoCell.reuseID) } view.addSubview(tableView) } @@ -38,7 +38,15 @@ class UserInfoVC: BaseVC{ super.viewWillAppear(animated) refreshUI() } - + override func setupData() { + if CCDevice.isJoy { + list = [.avatar,.nickName,.gender,.birthday,.height,.weight,.hobbies,.area] + } + else{ + list = [.avatar,.nickName,.gender,.area] + } + tableView.reloadData() + } } extension UserInfoVC:UITableViewDelegate,UITableViewDataSource { @@ -47,7 +55,7 @@ class UserInfoVC: BaseVC{ } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - let cell = CustomCell.cell(withTableView: tableView, indexPath: indexPath) + let cell = UserInfoCell.cell(withTableView: tableView, indexPath: indexPath) cell.type = list[indexPath.row] let rect = CGRect(x: 0, y: 0, width: kScreenWid - 36, height: 52) if indexPath.row == 0 { @@ -85,8 +93,6 @@ class UserInfoVC: BaseVC{ case .hobbies: hobiesAction() break - default: - break } } } diff --git a/ShenYin/ShenYin/UI/Sport/Sport/Set/SportSetCell.swift b/ShenYin/ShenYin/UI/Sport/Sport/Set/SportSetCell.swift new file mode 100644 index 0000000..d0bd882 --- /dev/null +++ b/ShenYin/ShenYin/UI/Sport/Sport/Set/SportSetCell.swift @@ -0,0 +1,319 @@ +// +// Untitled.swift +// ShenYin +// +// Created by liangshi on 2026/1/23. +// + + +public enum SportSetCellType: Int { + case light + case voiceReport + case lcReport + case lcReportRate + case xlfdReport + case guideReport + case guideReportSet + case metronome + case metronomeRate + case metronomeAudio + case background + case permisson + case realData + + var title:String{ + switch self { + case .light: + return "灯带设置".l10n + case .voiceReport: + return "语音播报".l10n + case .lcReport: + return "里程播报".l10n + case .lcReportRate: + return "里程播报频次".l10n + case .xlfdReport: + return "训练分段播报".l10n + case .guideReport: + return "指导播报".l10n + case .guideReportSet: + return "指导语音设置".l10n + case .metronome: + return "节拍器".l10n + case .metronomeRate: + return "节拍器频率".l10n + case .metronomeAudio: + return "节拍器声音".l10n + case .background: + return "后台保护".l10n + case .permisson: + return "运动权限".l10n + case .realData: + return "运动实况".l10n + } + } + var detail:String{ + switch self { + case .lcReport: + return "当前已跑里程播报".l10n + case .xlfdReport: + return "训练分段开始和结束提示音".l10n + case .guideReport: + return "跑步过程中的指导语音".l10n + case .realData: + return "组内成员基本运动信息实时显示".l10n + default: + return "" + } + } + var showSwitch:Bool{ + switch self { + case .voiceReport,.lcReport,.xlfdReport,.guideReport,.metronome,.background,.realData: + return true + default: + return false + } + } +} + +protocol SportSetCellDelegate:NSObject{ + func sportSetCellSwitchAction(cell:SportSetCell) +} +class SportSetCell: BaseTableViewCell { + let bgView = UIView() + let titleLabel = UILabel() + let detailLabel = UILabel() + let valueLabel = UILabel() + let iSwitch = UISwitch() + let nextIcon = UIImageView(image: UIImage(named: "arrow_next")) + let line = UIView() + weak var delegate:SportSetCellDelegate? + var model:SportSetModel!{ + didSet{ + switch type { + case .light: + break + case .voiceReport: + iSwitch.isOn = model.voiceReport + case .lcReport: + iSwitch.isOn = model.lcReport + + case .lcReportRate: + valueLabel.text = model.lcReportRate + case .xlfdReport: + iSwitch.isOn = model.xlfdReport + case .guideReport: + iSwitch.isOn = model.guideReport + case .guideReportSet: + valueLabel.text = model.guideReportSet + case .metronome: + iSwitch.isOn = model.metronome + case .metronomeRate: + valueLabel.text = model.metronomeRate + case .metronomeAudio: + valueLabel.text = model.metronomeAudio + case .background: + iSwitch.isOn = model.background + case .permisson: + break + case .realData: + iSwitch.isOn = model.realData + } + + if type == .lcReport { + line.isHidden = model.lcReport + } + else if type == .guideReport { + line.isHidden = model.guideReport + } + else if type == .metronome { + line.isHidden = model.metronome + } + else if type == .permisson || type == .realData || type == .metronomeRate{ + line.isHidden = true + } + else{ + line.isHidden = false + } + } + } + + var type:SportSetCellType = .light{ + didSet{ + titleLabel.text = type.title + detailLabel.text = type.detail + iSwitch.isHidden = !type.showSwitch + nextIcon.isHidden = !iSwitch.isHidden + + if type.detail.isEmpty { + titleLabel.snp.remakeConstraints { (m) in + m.centerY.equalToSuperview() + m.left.equalToSuperview().offset(16) + } + } + else{ + titleLabel.snp.remakeConstraints { (m) in + m.top.equalToSuperview().inset(16) + m.left.equalToSuperview().offset(16) + } + } + + if type == .metronomeRate || type == .metronomeAudio { + valueLabel.isHidden = false + } + else{ + valueLabel.isHidden = true + } + } + } + + + override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { + super.init(style: style, reuseIdentifier: reuseIdentifier) + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + override func setupViews() { + contentView.addSubview(bgView) + bgView.addSubviews([titleLabel,detailLabel,iSwitch,nextIcon,valueLabel,line]) + + backgroundColor = .color(.bgColor) + contentView.backgroundColor = .clear + selectionStyle = .none + bgView.do { v in + v.backgroundColor = .color(.cellBg) + v.yc.addTap(target: self, action: #selector(tapAction)) + } + titleLabel.do { (v) in + v.textColor = .color(.first) + v.font = .bold(14) + v.textAlignment = .left + } + detailLabel.do { (v) in + v.textColor = .color(.secondary) + v.font = .regular(10) + v.textAlignment = .left + } + iSwitch.do { v in +// v.backgroundColor = .red + v.addTarget(self, action: #selector(swicthAction), for: .valueChanged) + } + valueLabel.do { v in + v.textColor = .color(.secondary) + v.font = .regular(14) + v.textAlignment = .right + } + line.do { v in + v.backgroundColor = .color(.separateLine) + } + } + + override func setupLayout() { + bgView.snp.makeConstraints { (m) in + m.left.right.equalToSuperview().inset(18) + m.top.equalToSuperview() + m.bottom.equalToSuperview() + } + titleLabel.snp.makeConstraints { (m) in + m.top.equalToSuperview().inset(16) + m.left.equalToSuperview().offset(16) + } + detailLabel.snp.makeConstraints { (m) in + m.bottom.equalToSuperview().inset(16) + m.left.equalToSuperview().offset(16) + } + iSwitch.snp.makeConstraints { (m) in + m.right.equalToSuperview().inset(15) + m.centerY.equalToSuperview() + } + nextIcon.snp.makeConstraints { (m) in + m.width.equalTo(8) + m.height.equalTo(12) + m.right.equalToSuperview().inset(15) + m.centerY.equalToSuperview() + } + valueLabel.snp.makeConstraints { (m) in + m.centerY.equalToSuperview() + m.right.equalToSuperview().inset(38) + m.height.equalToSuperview() + m.left.equalToSuperview().inset(90) + } + line.snp.makeConstraints { make in + make.left.right.equalToSuperview().inset(18) + make.bottom.equalToSuperview() + make.height.equalTo(0.4) + } + } + @objc func tapAction(){ + switch type { + case .lcReportRate: + lcReportAction() + break + case .guideReportSet: + guideReportSetAction() + break + case .metronomeRate: + metronomeRateAction() + break + case .metronomeAudio: + metronomeAudioAction() + break + + case .background: + backgroundAction() + break + default: + break + } + } + func lcReportAction(){ + let list = Array(stride(from: 500, to: 1500, by: 500)).map { String($0) + "m" } + let v = CustomPicker2(title: "选择播报间距".l10n, list:list ) + v.selectedIndex = 50 + v.show() + v.didSelected = {[weak self] (index,value) in + guard let self = self else { return } + + } + } + func guideReportSetAction(){ + let list = [ + CustomPickerModel(title: "详细".l10n, detail: "1公里配速、总平均配速、1公里用时、总运动时长".l10n), + CustomPickerModel(title: "简洁".l10n, detail: "1公里配速、1公里用时".l10n), + CustomPickerModel(title: "极简".l10n, detail: "总距离、总时长".l10n)] + let v = CustomPicker4(title: "指导语音密度".l10n, list:list ) + v.selectedIndex = 0 + v.show() + v.didSelected = {[weak self] (index,value) in + guard let self = self else { return } + + } + } + func metronomeRateAction(){ + let list = Array(stride(from: 100, to: 250, by: 1)).map { String($0) + "次/分钟".l10n } + let v = CustomPicker2(title: "节拍器频率".l10n, list:list ) + v.selectedIndex = 50 + v.show() + v.didSelected = {[weak self] (index,value) in + guard let self = self else { return } + + } + } + func metronomeAudioAction(){ + let list = ["默认".l10n,"清脆".l10n,"重击".l10n] + let v = CustomPicker2(title: "节拍器声音".l10n, list:list ) + v.selectedIndex = 50 + v.show() + v.didSelected = {[weak self] (index,value) in + guard let self = self else { return } + + } + } + func backgroundAction(){ + + } + @objc func swicthAction(){ + delegate?.sportSetCellSwitchAction(cell: self) + } +} diff --git a/ShenYin/ShenYin/UI/Sport/Sport/Set/SportSetModel.swift b/ShenYin/ShenYin/UI/Sport/Sport/Set/SportSetModel.swift new file mode 100644 index 0000000..0310fa4 --- /dev/null +++ b/ShenYin/ShenYin/UI/Sport/Sport/Set/SportSetModel.swift @@ -0,0 +1,22 @@ +// +// SportSetModel.swift +// ShenYin +// +// Created by liangshi on 2026/1/30. +// + +class SportSetModel{ + var light = "" + var voiceReport = true + var lcReport = false + var lcReportRate = "" + var xlfdReport = false + var guideReport = false + var guideReportSet = "" + var metronome = false + var metronomeRate = "" + var metronomeAudio = "" + var background = false + var permisson = "" + var realData = false +} diff --git a/ShenYin/ShenYin/UI/Sport/Sport/Set/SportSetVC.swift b/ShenYin/ShenYin/UI/Sport/Sport/Set/SportSetVC.swift index 49c1ad1..fa88a06 100644 --- a/ShenYin/ShenYin/UI/Sport/Sport/Set/SportSetVC.swift +++ b/ShenYin/ShenYin/UI/Sport/Sport/Set/SportSetVC.swift @@ -9,7 +9,8 @@ import UIKit class SportSetVC: BaseVC{ let tableView = UITableView(frame: .zero, style: .plain) - let list:[(title:String,list:[CustomCellType])] = [("".l10n,[.light,.voiceReport,.lcReport,.xlfdReport,.guideReport,.metronome,.metronomeRate,.metronomeAudio,.background,.permisson]),("组队设置".l10n,[.realData]),] + var list:[[SportSetCellType]] = [[.light],[.voiceReport],[.lcReport],[.xlfdReport],[.guideReport],[.metronome],[.background],[.permisson],[.realData]] + let model = SportSetModel() override func viewDidLoad() { super.viewDidLoad() @@ -21,10 +22,14 @@ class SportSetVC: BaseVC{ v.backgroundColor = .color(.bgColor) v.delegate = self v.dataSource = self - v.rowHeight = 52 + v.rowHeight = 65 v.sectionHeaderHeight = 52 v.separatorStyle = .none - v.register(CustomCell.self, forCellReuseIdentifier: CustomCell.reuseID) + v.register(SportSetCell.self, forCellReuseIdentifier: SportSetCell.reuseID) + v.register(CustomSectionHeader.self, forHeaderFooterViewReuseIdentifier: CustomSectionHeader.reuseID) + if #available(iOS 15.0, *) { + tableView.sectionHeaderTopPadding = 0 + } } view.addSubview(tableView) @@ -48,46 +53,95 @@ extension SportSetVC:UITableViewDelegate,UITableViewDataSource { return list.count } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - return list[section].list.count + return list[section].count } func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { - let view = CustomSectionHeader.header(withTableView: tableView) - view.titleLabel.text = list[section].title - view.titleLabel.textColor = .color(.secondary) - return view + if section == list.count - 1 { + let view = CustomSectionHeader.header(withTableView: tableView) + view.titleLabel.text = "组队设置".l10n + view.titleLabel.textColor = .color(.secondary) + return view + } + else{ + return nil + } } func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { - if list[section].title.isEmpty { - return 0 + if section == list.count - 1 { + return 52 } else{ - return 52 + return 0 } } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - let cell = CustomCell.cell(withTableView: tableView, indexPath: indexPath) - let list = list[indexPath.section].list - cell.type = list[indexPath.row] - let rect = CGRect(x: 0, y: 0, width: kScreenWid - 36, height: 52) - if indexPath.row == 0 { + let cell = SportSetCell.cell(withTableView: tableView, indexPath: indexPath) + cell.type = list[indexPath.section][indexPath.row] + cell.model = model + cell.delegate = self + let rect = CGRect(x: 0, y: 0, width: kScreenWid - 36, height: 65) + if cell.type == .light { cell.bgView.yc.setCorners(withRoundedRect: rect, roundingCorners: [.topLeft,.topRight], cornerRadii: CGSize(width: 12, height: 12)) } - else if indexPath.row == list.count - 1{ - cell.bgView.yc.setCorners(withRoundedRect: rect, roundingCorners: [.bottomLeft,.bottomRight], cornerRadii: CGSize(width: 12, height: 12)) - } - else{ - cell.bgView.yc.setCorners(withRoundedRect: rect, roundingCorners: [.allCorners], cornerRadii: CGSize(width: 0, height: 0)) - } - if list.count == 1 { - cell.bgView.yc.setCorners(withRoundedRect: rect, roundingCorners: [.allCorners], cornerRadii: CGSize(width: 12, height: 12)) + else { + if cell.type == .realData{ + cell.bgView.yc.setCorners(withRoundedRect: rect, roundingCorners: [.allCorners], cornerRadii: CGSize(width: 12, height: 12)) + } + else if cell.type == .permisson { + cell.bgView.yc.setCorners(withRoundedRect: rect, roundingCorners: [.bottomLeft,.bottomRight], cornerRadii: CGSize(width: 12, height: 12)) + } + else{ + cell.bgView.yc.setCorners(withRoundedRect: rect, roundingCorners: [.allCorners], cornerRadii: CGSize(width: 0, height: 0)) + } } + return cell } func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { - let data = list[indexPath.section].list[indexPath.row] + let data = list[indexPath.section][indexPath.row] switch data { default: break } } } +extension SportSetVC:SportSetCellDelegate { + func sportSetCellSwitchAction(cell:SportSetCell){ + let state = cell.iSwitch.isOn + switch cell.type { + case .voiceReport: + model.voiceReport = state + tableView.reloadData() + break + case .lcReport: + model.lcReport = state + list[2] = state ? [.lcReport,.lcReportRate]:[.lcReport] + tableView.reloadData() + break + case .xlfdReport: + model.xlfdReport = state + tableView.reloadData() + break + case .guideReport: + model.guideReport = state + list[4] = state ? [.guideReport,.guideReportSet]:[.guideReport] + tableView.reloadData() + break + case .metronome: + model.metronome = state + list[5] = state ? [.metronome,.metronomeRate,.metronomeAudio]:[.metronome] + tableView.reloadData() + break + case .background: + model.background = state + tableView.reloadData() + break + case .realData: + model.realData = state + tableView.reloadData() + break + default: + break + } + } +} diff --git a/ShenYin/ShenYin/UI/Sport/Sport/Set/SwitchCell.swift b/ShenYin/ShenYin/UI/Sport/Sport/Set/SwitchCell.swift deleted file mode 100644 index b0501b7..0000000 --- a/ShenYin/ShenYin/UI/Sport/Sport/Set/SwitchCell.swift +++ /dev/null @@ -1,8 +0,0 @@ -// -// Untitled.swift -// ShenYin -// -// Created by liangshi on 2026/1/23. -// - - diff --git a/ShenYin/ShenYin/UI/common/pop/CustomPicker4.swift b/ShenYin/ShenYin/UI/common/pop/CustomPicker4.swift new file mode 100644 index 0000000..4873072 --- /dev/null +++ b/ShenYin/ShenYin/UI/common/pop/CustomPicker4.swift @@ -0,0 +1,207 @@ +// +// CustomPicker44.swift +// ShenYin +// +// Created by liangshi on 2026/1/30. +// + +import UIKit + +class CustomPickerModel{ + var title = "" + var detail = "" + init(title: String = "", detail: String = "") { + self.title = title + self.detail = detail + } +} + +class CustomPicker4: BasePresentView { + private let titleLabel = UILabel() + private let btn = UIButton(type: .custom) + private let tableView = UITableView(frame: .zero, style: .plain) + var list:[CustomPickerModel] = [] +// var disableTitle:String = ""{ +// didSet{ +// tableView.reloadData() +// } +// } + var selectedIndex = 0{ + didSet{ + tableView.reloadData() + } + } + var didSelected: ((Int,CustomPickerModel)->Void)? + private var title:String = "" + + init(title:String,list:[CustomPickerModel]) { + self.title = title + self.list = list + var h = CGFloat(50 + list.count*65) + kSafeBtm + + if h > kScreenHei - kSafeBtm - kCusNavBtm - 50{ + h = kScreenHei - kSafeBtm - kCusNavBtm - 50 + tableView.isScrollEnabled = true + } + else{ + tableView.isScrollEnabled = false + } + super.init(contentHeight:h) + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + override func setupSubView() { + super.setupSubView() + contentView.addSubviews([titleLabel,btn,tableView]) + } + override func setupLayout() { + super.setupLayout() + titleLabel.snp.makeConstraints { (m) in + m.top.equalToSuperview() + m.left.right.equalToSuperview().inset(60) + m.height.equalTo(50) + } + btn.snp.makeConstraints { (m) in + m.centerY.equalTo(titleLabel) + m.right.equalToSuperview() + m.size.equalTo(60) + } + tableView.snp.makeConstraints { make in + make.left.right.bottom.equalToSuperview() + make.top.equalToSuperview().inset(50) + } + } + + override func setupStyle() { + super.setupStyle() + contentView.backgroundColor = .color(.cellBg) + titleLabel.do { (v) in + v.textColor = .color(.secondary) + v.font = .semiBold(16) + v.textAlignment = .center + v.text = title + } + btn.do { v in + v.setImage(UIImage(named: "close_icon"), for: .normal) + v.addTarget(self, action: #selector(closeAction), for: .touchUpInside) + } + tableView.do { v in + v.backgroundColor = .color(.cellBg) + v.delegate = self + v.dataSource = self + v.rowHeight = 65 + v.separatorStyle = .none + v.register(CustomButton.SelectCell.self, forCellReuseIdentifier: CustomButton.SelectCell.reuseID) + } + } + @objc func closeAction(){ + hide() + } +} +extension CustomPicker4:UITableViewDelegate,UITableViewDataSource { + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + return list.count + } + + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let cell = CustomButton.SelectCell.cell(withTableView: tableView, indexPath: indexPath) + cell.titleLabel.text = list[indexPath.row].title + cell.detailLabel.text = list[indexPath.row].detail + cell.selectedIcon.isHidden = selectedIndex != indexPath.row +// cell.enable = list[indexPath.row] != disableTitle + return cell + } + func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { +// if list[indexPath.row] == disableTitle { +// return +// } + selectedIndex = indexPath.row + tableView.reloadData() + didSelected?(selectedIndex,list[selectedIndex]) + hide() + } +} + +fileprivate extension CustomButton { + class SelectCell: BaseTableViewCell { + let bgView = UIView() + let titleLabel = UILabel() + let detailLabel = UILabel() + let selectedIcon = UIImageView() + let line = UIView() + + var enable:Bool = true{ + didSet{ + if enable{ + titleLabel.textColor = .color(.first) + } + else{ + titleLabel.textColor = .color(.secondary) + } + } + } + override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { + super.init(style: style, reuseIdentifier: reuseIdentifier) + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + override func setupViews() { + contentView.addSubview(bgView) + bgView.addSubviews([titleLabel,detailLabel,selectedIcon,line]) + + backgroundColor = .color(.bgColor) + contentView.backgroundColor = .clear + selectionStyle = .none + bgView.do { v in + v.backgroundColor = .color(.cellBg) + } + titleLabel.do { (v) in + v.textColor = .color(.first) + v.font = .bold(14) + v.textAlignment = .left + } + detailLabel.do { (v) in + v.textColor = .color(.secondary) + v.font = .regular(10) + v.textAlignment = .left + } + selectedIcon.image = UIImage(named: "cell_selected") + line.do { v in + v.backgroundColor = .color(.separateLine) + } + } + + override func setupLayout() { + bgView.snp.makeConstraints { (m) in + m.left.right.equalToSuperview() + m.top.equalToSuperview() + m.bottom.equalToSuperview() + } + selectedIcon.snp.makeConstraints { (m) in + m.width.equalTo(21) + m.height.equalTo(16) + m.right.equalToSuperview().inset(21) + m.centerY.equalToSuperview() + } + titleLabel.snp.makeConstraints { (m) in + m.top.equalToSuperview().inset(16) + m.left.equalToSuperview().offset(24) + } + detailLabel.snp.makeConstraints { (m) in + m.bottom.equalToSuperview().inset(16) + m.left.equalToSuperview().offset(24) + } + line.snp.makeConstraints { make in + make.left.right.equalToSuperview().inset(18) + make.bottom.equalToSuperview() + make.height.equalTo(0.4) + } + } + } + +} diff --git a/ShenYin/playboy copy-Info.plist b/ShenYin/playboy copy-Info.plist new file mode 100644 index 0000000..9f4fb07 --- /dev/null +++ b/ShenYin/playboy copy-Info.plist @@ -0,0 +1,59 @@ + + + + + CFBundleURLTypes + + + CFBundleTypeRole + Editor + CFBundleURLName + weixin + CFBundleURLSchemes + + wxf19317f23b00d8ab + + + + LSApplicationQueriesSchemes + + weixin + weixinURLParamsAPI + weixinULAPI + + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneConfigurationName + Default Configuration + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).SceneDelegate + UISceneStoryboardFile + Main + + + + + UIBackgroundModes + + bluetooth-peripheral + bluetooth-central + audio + + UIStatusBarStyle + UIStatusBarStyleLightContent + UIViewControllerBasedStatusBarAppearance + + + diff --git a/ShenYin/podfile b/ShenYin/podfile index 4e4b133..52aaa18 100644 --- a/ShenYin/podfile +++ b/ShenYin/podfile @@ -51,9 +51,9 @@ target 'ShenYin' do pod 'HorizonCalendar'#日历 #高德地图 -# pod 'AMap3DMap-NO-IDFA', '10.0.700' -# pod 'AMapLocation-NO-IDFA' -# pod 'AMapSearch-NO-IDFA', '9.7.0' + pod 'AMap3DMap-NO-IDFA', '10.0.700' + pod 'AMapLocation-NO-IDFA' + pod 'AMapSearch-NO-IDFA', '9.7.0' end