project.pbxproj 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749
  1. // !$*UTF8*$!
  2. {
  3. archiveVersion = 1;
  4. classes = {
  5. };
  6. objectVersion = 46;
  7. objects = {
  8. /* Begin PBXBuildFile section */
  9. 10EAADFFB07A1A8721B25D6B /* MockNetworkService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24923AF5D038F81EB3248A4C /* MockNetworkService.swift */; };
  10. 128B1C7150980D1FBE511B79 /* RecordingEnvironmentDetector.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB09EA3EE9CFFADB34B5B43A /* RecordingEnvironmentDetector.swift */; };
  11. 15EAFA0DBF80C789F02C5119 /* ProfileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 086899076999CD4909BB9748 /* ProfileView.swift */; };
  12. 1A9161A601EB0954CD4B8A76 /* NetworkServiceProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F2D8AEE2E58FE0F2EF531D0 /* NetworkServiceProtocol.swift */; };
  13. 24472E311A9EB0785297B008 /* UserAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51A1BE84E0C74D9F7BE9DC3E /* UserAccount.swift */; };
  14. 24D8D6477ED27DF7009D383C /* HapticManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAC9AB65FF3C9678A6192C88 /* HapticManager.swift */; };
  15. 26D05B0A440FC9B26E89E4F0 /* AuthServiceProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CDFF4B7FD8488111C99DADF /* AuthServiceProtocol.swift */; };
  16. 2C16272F61F8B36A2EF69129 /* SessionDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FE663DCAAC5D1765BA31A3D /* SessionDetailView.swift */; };
  17. 2FD7EE603C849E281034CDD8 /* SyncAuthPromptModal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C76F629F3460D6F077C3708 /* SyncAuthPromptModal.swift */; };
  18. 36E871DAD9477A21AE2F01B7 /* AuthModalView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E10ED811D3048B961C4754A6 /* AuthModalView.swift */; };
  19. 3A7E453FDCA5DA9F96194B23 /* CelestiaTraceApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 628549E7FC16C58A15C9E1B7 /* CelestiaTraceApp.swift */; };
  20. 403219D9D8C972EC2AA8F84E /* EditProfileModalView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA13A08133A50094CBFFDDF9 /* EditProfileModalView.swift */; };
  21. 44732C9690578EEFC6840D05 /* DeviceListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8CB67D1B2BDECAA772F3935 /* DeviceListView.swift */; };
  22. 490825791613AC52D06ECFA7 /* CelestiaSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83CE4996BF0CC501E3B7C567 /* CelestiaSession.swift */; };
  23. 4F4476444CB6838B2BE6EE87 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71787388F9456A4784534BCC /* ContentView.swift */; };
  24. 503E109CBBC69E3015AE37A3 /* SilenceDetector.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEED3C75367F66D6D6CE745D /* SilenceDetector.swift */; };
  25. 58EFA65370C61ED9A8EE6627 /* ActiveRecordingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7B9693BD9924C08A1F2ECD1 /* ActiveRecordingView.swift */; };
  26. 70A52B64861B541B4C9423AC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5353BBE8E9552B4B486D8701 /* Foundation.framework */; };
  27. 75AE08DD135D81A3E19190EE /* DiscreetWarningBanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F4B4B59E0916CE9ACFF362F /* DiscreetWarningBanner.swift */; };
  28. 7CA015A965BD30FAB3A92507 /* AuthManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 073CAFDB8C45F4EAA33FA0EA /* AuthManager.swift */; };
  29. 8B5C51BB4474283BDF4ADACB /* LiveWaveformView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1189E47F735DDB40D1E741E6 /* LiveWaveformView.swift */; };
  30. 8FBEE86CDB9635710EF85F1B /* BLEManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = F52FB139E193DBAC41F9D3F6 /* BLEManager.swift */; };
  31. 8FF835BDBD2A0E3551462510 /* LocalAuthRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8211C786643CA85F12CCAB4 /* LocalAuthRepository.swift */; };
  32. 936A52ADE1ECF30D3650B8D8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5353BBE8E9552B4B486D8701 /* Foundation.framework */; };
  33. 93F943133BCD792D991AA8E3 /* AudioChunk.swift in Sources */ = {isa = PBXBuildFile; fileRef = 320789BA1CB176C4DBC51E99 /* AudioChunk.swift */; };
  34. 96791550D01A4FD10EEB9BA3 /* RecordingViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64180D833523B84195EE7E2A /* RecordingViewModel.swift */; };
  35. 9BDA680497BF5DD72A7BA8F3 /* HomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6305E60488EEABAFE2E1D6D8 /* HomeView.swift */; };
  36. 9C5A0C9CDFCB8CFB10FF0B06 /* DeviceScanView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7063E6702335B02B65775F4 /* DeviceScanView.swift */; };
  37. 9E4554980E7FF484BF400458 /* MultiTrackTimeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DC9982D9E53E1A77CDB0470 /* MultiTrackTimeline.swift */; };
  38. A3F43A5200A626CBFB70395E /* CelestiaTimelineEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DAA0FBAEC0BF91F45D15B1E /* CelestiaTimelineEvent.swift */; };
  39. AF09E026C9AB15874D870E1F /* PulsingRecordButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77D23B83EDDD5489004E42DC /* PulsingRecordButton.swift */; };
  40. B262A6AF17A835DB666B2FAB /* SessionListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EBB5FC2AC0B9D31C7A04715 /* SessionListView.swift */; };
  41. BE12EF8734ABF645B2B28BBB /* PlaybackViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = E528009D607763F9E68EFBAD /* PlaybackViewModel.swift */; };
  42. C2807F9F2794AFA8BF03F104 /* ChangePasswordModalView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66BE0E22B2A472E2AFC9CB98 /* ChangePasswordModalView.swift */; };
  43. C8794B9720CD85F518A82473 /* BoundDevice.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EF9EF0F961DB2B546B9C0F1 /* BoundDevice.swift */; };
  44. CD45B55AB993D054E50A43BE /* RealAudioRecorder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 977EB01CFA491A1573D7CF22 /* RealAudioRecorder.swift */; };
  45. DDC0D9C4883B4861CBC74C39 /* ChronoFeedRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9275B988BEBBEA80370E1AC4 /* ChronoFeedRow.swift */; };
  46. E78FC729614A4C93C97D564D /* ColorTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95AF20E8EF4319BBEBA608C1 /* ColorTheme.swift */; };
  47. F385E2FCB06D39917F51846E /* AudioRecorderProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B407473A307EEAF2CB5EE94 /* AudioRecorderProtocol.swift */; };
  48. F3CB51CC262E0F4929EB129B /* RemoteAuthServiceStub.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E13AE9CB7E8C9E3BACFC679 /* RemoteAuthServiceStub.swift */; };
  49. F5035B942DE1FEC10515D9D6 /* ImagePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = DADF67536C0CF9AE7F405C74 /* ImagePicker.swift */; };
  50. FD30DBB57E19055AB8F0A956 /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4883D42730E6133FCC3C81C2 /* SettingsView.swift */; };
  51. /* End PBXBuildFile section */
  52. /* Begin PBXContainerItemProxy section */
  53. 55C3FF8383E750C9C9453EC5 /* PBXContainerItemProxy */ = {
  54. isa = PBXContainerItemProxy;
  55. containerPortal = 979128538DFF0B361F857241 /* Project object */;
  56. proxyType = 1;
  57. remoteGlobalIDString = EC79DCF0EBB2620B0FC21573;
  58. remoteInfo = CelestiaTrace;
  59. };
  60. /* End PBXContainerItemProxy section */
  61. /* Begin PBXFileReference section */
  62. 073CAFDB8C45F4EAA33FA0EA /* AuthManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AuthManager.swift; sourceTree = "<group>"; };
  63. 086899076999CD4909BB9748 /* ProfileView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ProfileView.swift; sourceTree = "<group>"; };
  64. 0EBB5FC2AC0B9D31C7A04715 /* SessionListView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SessionListView.swift; sourceTree = "<group>"; };
  65. 1189E47F735DDB40D1E741E6 /* LiveWaveformView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LiveWaveformView.swift; sourceTree = "<group>"; };
  66. 1DC9982D9E53E1A77CDB0470 /* MultiTrackTimeline.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MultiTrackTimeline.swift; sourceTree = "<group>"; };
  67. 1EF9EF0F961DB2B546B9C0F1 /* BoundDevice.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BoundDevice.swift; sourceTree = "<group>"; };
  68. 24923AF5D038F81EB3248A4C /* MockNetworkService.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = MockNetworkService.swift; sourceTree = "<group>"; };
  69. 320789BA1CB176C4DBC51E99 /* AudioChunk.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AudioChunk.swift; sourceTree = "<group>"; };
  70. 3C76F629F3460D6F077C3708 /* SyncAuthPromptModal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SyncAuthPromptModal.swift; sourceTree = "<group>"; };
  71. 3FE663DCAAC5D1765BA31A3D /* SessionDetailView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SessionDetailView.swift; sourceTree = "<group>"; };
  72. 4883D42730E6133FCC3C81C2 /* SettingsView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = "<group>"; };
  73. 4B407473A307EEAF2CB5EE94 /* AudioRecorderProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AudioRecorderProtocol.swift; sourceTree = "<group>"; };
  74. 4DAA0FBAEC0BF91F45D15B1E /* CelestiaTimelineEvent.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CelestiaTimelineEvent.swift; sourceTree = "<group>"; };
  75. 4E13AE9CB7E8C9E3BACFC679 /* RemoteAuthServiceStub.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RemoteAuthServiceStub.swift; sourceTree = "<group>"; };
  76. 4F4B4B59E0916CE9ACFF362F /* DiscreetWarningBanner.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DiscreetWarningBanner.swift; sourceTree = "<group>"; };
  77. 51A1BE84E0C74D9F7BE9DC3E /* UserAccount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = UserAccount.swift; sourceTree = "<group>"; };
  78. 5353BBE8E9552B4B486D8701 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
  79. 628549E7FC16C58A15C9E1B7 /* CelestiaTraceApp.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CelestiaTraceApp.swift; sourceTree = "<group>"; };
  80. 6305E60488EEABAFE2E1D6D8 /* HomeView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = HomeView.swift; sourceTree = "<group>"; };
  81. 64180D833523B84195EE7E2A /* RecordingViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RecordingViewModel.swift; sourceTree = "<group>"; };
  82. 66BE0E22B2A472E2AFC9CB98 /* ChangePasswordModalView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ChangePasswordModalView.swift; sourceTree = "<group>"; };
  83. 71729F8F4A48D77C1898C27B /* CelestiaTraceTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CelestiaTraceTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
  84. 71787388F9456A4784534BCC /* ContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
  85. 77D23B83EDDD5489004E42DC /* PulsingRecordButton.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PulsingRecordButton.swift; sourceTree = "<group>"; };
  86. 7F2D8AEE2E58FE0F2EF531D0 /* NetworkServiceProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NetworkServiceProtocol.swift; sourceTree = "<group>"; };
  87. 83CE4996BF0CC501E3B7C567 /* CelestiaSession.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CelestiaSession.swift; sourceTree = "<group>"; };
  88. 8CDFF4B7FD8488111C99DADF /* AuthServiceProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AuthServiceProtocol.swift; sourceTree = "<group>"; };
  89. 9275B988BEBBEA80370E1AC4 /* ChronoFeedRow.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ChronoFeedRow.swift; sourceTree = "<group>"; };
  90. 95AF20E8EF4319BBEBA608C1 /* ColorTheme.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ColorTheme.swift; sourceTree = "<group>"; };
  91. 977EB01CFA491A1573D7CF22 /* RealAudioRecorder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RealAudioRecorder.swift; sourceTree = "<group>"; };
  92. AA13A08133A50094CBFFDDF9 /* EditProfileModalView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EditProfileModalView.swift; sourceTree = "<group>"; };
  93. AEED3C75367F66D6D6CE745D /* SilenceDetector.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SilenceDetector.swift; sourceTree = "<group>"; };
  94. B7B9693BD9924C08A1F2ECD1 /* ActiveRecordingView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ActiveRecordingView.swift; sourceTree = "<group>"; };
  95. B8211C786643CA85F12CCAB4 /* LocalAuthRepository.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = LocalAuthRepository.swift; sourceTree = "<group>"; };
  96. DADF67536C0CF9AE7F405C74 /* ImagePicker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ImagePicker.swift; sourceTree = "<group>"; };
  97. DB09EA3EE9CFFADB34B5B43A /* RecordingEnvironmentDetector.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RecordingEnvironmentDetector.swift; sourceTree = "<group>"; };
  98. DB56F0DFCB1FE77D7636B43D /* CelestiaTrace.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CelestiaTrace.app; sourceTree = BUILT_PRODUCTS_DIR; };
  99. E10ED811D3048B961C4754A6 /* AuthModalView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AuthModalView.swift; sourceTree = "<group>"; };
  100. E528009D607763F9E68EFBAD /* PlaybackViewModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PlaybackViewModel.swift; sourceTree = "<group>"; };
  101. E7063E6702335B02B65775F4 /* DeviceScanView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DeviceScanView.swift; sourceTree = "<group>"; };
  102. EAC9AB65FF3C9678A6192C88 /* HapticManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = HapticManager.swift; sourceTree = "<group>"; };
  103. F52FB139E193DBAC41F9D3F6 /* BLEManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BLEManager.swift; sourceTree = "<group>"; };
  104. F8CB67D1B2BDECAA772F3935 /* DeviceListView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DeviceListView.swift; sourceTree = "<group>"; };
  105. /* End PBXFileReference section */
  106. /* Begin PBXFrameworksBuildPhase section */
  107. 41887A64604410C0C61AEBD5 /* Frameworks */ = {
  108. isa = PBXFrameworksBuildPhase;
  109. buildActionMask = 2147483647;
  110. files = (
  111. 70A52B64861B541B4C9423AC /* Foundation.framework in Frameworks */,
  112. );
  113. runOnlyForDeploymentPostprocessing = 0;
  114. };
  115. 6FF5C5F71B01A15E70EBC20C /* Frameworks */ = {
  116. isa = PBXFrameworksBuildPhase;
  117. buildActionMask = 2147483647;
  118. files = (
  119. 936A52ADE1ECF30D3650B8D8 /* Foundation.framework in Frameworks */,
  120. );
  121. runOnlyForDeploymentPostprocessing = 0;
  122. };
  123. /* End PBXFrameworksBuildPhase section */
  124. /* Begin PBXGroup section */
  125. 21AD838392427D841273B592 /* Detail */ = {
  126. isa = PBXGroup;
  127. children = (
  128. 3FE663DCAAC5D1765BA31A3D /* SessionDetailView.swift */,
  129. 9275B988BEBBEA80370E1AC4 /* ChronoFeedRow.swift */,
  130. 1DC9982D9E53E1A77CDB0470 /* MultiTrackTimeline.swift */,
  131. );
  132. path = Detail;
  133. sourceTree = "<group>";
  134. };
  135. 2297351526BD0F24ED0714A0 /* Products */ = {
  136. isa = PBXGroup;
  137. children = (
  138. DB56F0DFCB1FE77D7636B43D /* CelestiaTrace.app */,
  139. 71729F8F4A48D77C1898C27B /* CelestiaTraceTests.xctest */,
  140. );
  141. name = Products;
  142. sourceTree = "<group>";
  143. };
  144. 2626EC2897F60B86D833D875 /* Models */ = {
  145. isa = PBXGroup;
  146. children = (
  147. 83CE4996BF0CC501E3B7C567 /* CelestiaSession.swift */,
  148. 4DAA0FBAEC0BF91F45D15B1E /* CelestiaTimelineEvent.swift */,
  149. 320789BA1CB176C4DBC51E99 /* AudioChunk.swift */,
  150. 1EF9EF0F961DB2B546B9C0F1 /* BoundDevice.swift */,
  151. 51A1BE84E0C74D9F7BE9DC3E /* UserAccount.swift */,
  152. );
  153. path = Models;
  154. sourceTree = "<group>";
  155. };
  156. 31A0E1032B1847F49A6241BD /* Home */ = {
  157. isa = PBXGroup;
  158. children = (
  159. 6305E60488EEABAFE2E1D6D8 /* HomeView.swift */,
  160. );
  161. path = Home;
  162. sourceTree = "<group>";
  163. };
  164. 32200F0540C3761CA9D1495A /* CelestiaTraceTests */ = {
  165. isa = PBXGroup;
  166. children = (
  167. );
  168. name = CelestiaTraceTests;
  169. path = Tests/CelestiaTraceTests;
  170. sourceTree = "<group>";
  171. };
  172. 44E01A3C9C72DBC8106DEE17 /* Profile */ = {
  173. isa = PBXGroup;
  174. children = (
  175. 086899076999CD4909BB9748 /* ProfileView.swift */,
  176. 7249FD4D94237968D3D5F3AC /* Auth */,
  177. F7861FD2C1283A2FC2FDB934 /* Devices */,
  178. );
  179. path = Profile;
  180. sourceTree = "<group>";
  181. };
  182. 565448EB878982B445E267AF /* Frameworks */ = {
  183. isa = PBXGroup;
  184. children = (
  185. AA9F20B44A68E171B39266B0 /* iOS */,
  186. );
  187. name = Frameworks;
  188. sourceTree = "<group>";
  189. };
  190. 5BCD8C04CE34AA3B16B8C831 /* Auth */ = {
  191. isa = PBXGroup;
  192. children = (
  193. B8211C786643CA85F12CCAB4 /* LocalAuthRepository.swift */,
  194. 8CDFF4B7FD8488111C99DADF /* AuthServiceProtocol.swift */,
  195. 4E13AE9CB7E8C9E3BACFC679 /* RemoteAuthServiceStub.swift */,
  196. 073CAFDB8C45F4EAA33FA0EA /* AuthManager.swift */,
  197. );
  198. path = Auth;
  199. sourceTree = "<group>";
  200. };
  201. 7249FD4D94237968D3D5F3AC /* Auth */ = {
  202. isa = PBXGroup;
  203. children = (
  204. E10ED811D3048B961C4754A6 /* AuthModalView.swift */,
  205. 66BE0E22B2A472E2AFC9CB98 /* ChangePasswordModalView.swift */,
  206. AA13A08133A50094CBFFDDF9 /* EditProfileModalView.swift */,
  207. );
  208. path = Auth;
  209. sourceTree = "<group>";
  210. };
  211. 7B90B8D292E18F60A02CDFE2 /* Views */ = {
  212. isa = PBXGroup;
  213. children = (
  214. B7A7A2A0082F059CCD6BE791 /* Settings */,
  215. 31A0E1032B1847F49A6241BD /* Home */,
  216. BC1D87D6D1785EA7D6AA6AF7 /* Recording */,
  217. ADD73EAAF268C8B37E097585 /* Components */,
  218. 21AD838392427D841273B592 /* Detail */,
  219. 44E01A3C9C72DBC8106DEE17 /* Profile */,
  220. 96406E65C0CB98B68F7082F4 /* History */,
  221. 71787388F9456A4784534BCC /* ContentView.swift */,
  222. );
  223. path = Views;
  224. sourceTree = "<group>";
  225. };
  226. 96406E65C0CB98B68F7082F4 /* History */ = {
  227. isa = PBXGroup;
  228. children = (
  229. 0EBB5FC2AC0B9D31C7A04715 /* SessionListView.swift */,
  230. );
  231. path = History;
  232. sourceTree = "<group>";
  233. };
  234. AA9F20B44A68E171B39266B0 /* iOS */ = {
  235. isa = PBXGroup;
  236. children = (
  237. 5353BBE8E9552B4B486D8701 /* Foundation.framework */,
  238. );
  239. name = iOS;
  240. sourceTree = "<group>";
  241. };
  242. ADD73EAAF268C8B37E097585 /* Components */ = {
  243. isa = PBXGroup;
  244. children = (
  245. 4F4B4B59E0916CE9ACFF362F /* DiscreetWarningBanner.swift */,
  246. DADF67536C0CF9AE7F405C74 /* ImagePicker.swift */,
  247. 3C76F629F3460D6F077C3708 /* SyncAuthPromptModal.swift */,
  248. 77D23B83EDDD5489004E42DC /* PulsingRecordButton.swift */,
  249. );
  250. path = Components;
  251. sourceTree = "<group>";
  252. };
  253. AF823CBC596A095A54F096C1 /* Bluetooth */ = {
  254. isa = PBXGroup;
  255. children = (
  256. F52FB139E193DBAC41F9D3F6 /* BLEManager.swift */,
  257. );
  258. path = Bluetooth;
  259. sourceTree = "<group>";
  260. };
  261. B33580BE3AF0DC9085B1D3A1 /* Services */ = {
  262. isa = PBXGroup;
  263. children = (
  264. 5BCD8C04CE34AA3B16B8C831 /* Auth */,
  265. EAC9AB65FF3C9678A6192C88 /* HapticManager.swift */,
  266. DB59940538488B1E753621A8 /* Network */,
  267. FD4D76A3358AAF1519C279F1 /* Audio */,
  268. AF823CBC596A095A54F096C1 /* Bluetooth */,
  269. );
  270. path = Services;
  271. sourceTree = "<group>";
  272. };
  273. B5CB52A86415BBB0B9DCE932 /* CelestiaTrace */ = {
  274. isa = PBXGroup;
  275. children = (
  276. CC066F5A1023EDB077FDD88E /* ViewModels */,
  277. DA204128E169127A0B8C4B30 /* App */,
  278. 2626EC2897F60B86D833D875 /* Models */,
  279. 7B90B8D292E18F60A02CDFE2 /* Views */,
  280. B33580BE3AF0DC9085B1D3A1 /* Services */,
  281. );
  282. path = CelestiaTrace;
  283. sourceTree = "<group>";
  284. };
  285. B7A7A2A0082F059CCD6BE791 /* Settings */ = {
  286. isa = PBXGroup;
  287. children = (
  288. 4883D42730E6133FCC3C81C2 /* SettingsView.swift */,
  289. );
  290. path = Settings;
  291. sourceTree = "<group>";
  292. };
  293. BC1D87D6D1785EA7D6AA6AF7 /* Recording */ = {
  294. isa = PBXGroup;
  295. children = (
  296. B7B9693BD9924C08A1F2ECD1 /* ActiveRecordingView.swift */,
  297. 1189E47F735DDB40D1E741E6 /* LiveWaveformView.swift */,
  298. );
  299. path = Recording;
  300. sourceTree = "<group>";
  301. };
  302. CC066F5A1023EDB077FDD88E /* ViewModels */ = {
  303. isa = PBXGroup;
  304. children = (
  305. E528009D607763F9E68EFBAD /* PlaybackViewModel.swift */,
  306. 64180D833523B84195EE7E2A /* RecordingViewModel.swift */,
  307. );
  308. path = ViewModels;
  309. sourceTree = "<group>";
  310. };
  311. D9CB1BAF8E8DB5E4E073CC77 = {
  312. isa = PBXGroup;
  313. children = (
  314. 2297351526BD0F24ED0714A0 /* Products */,
  315. 565448EB878982B445E267AF /* Frameworks */,
  316. B5CB52A86415BBB0B9DCE932 /* CelestiaTrace */,
  317. 32200F0540C3761CA9D1495A /* CelestiaTraceTests */,
  318. );
  319. sourceTree = "<group>";
  320. };
  321. DA204128E169127A0B8C4B30 /* App */ = {
  322. isa = PBXGroup;
  323. children = (
  324. 95AF20E8EF4319BBEBA608C1 /* ColorTheme.swift */,
  325. 628549E7FC16C58A15C9E1B7 /* CelestiaTraceApp.swift */,
  326. );
  327. path = App;
  328. sourceTree = "<group>";
  329. };
  330. DB59940538488B1E753621A8 /* Network */ = {
  331. isa = PBXGroup;
  332. children = (
  333. 7F2D8AEE2E58FE0F2EF531D0 /* NetworkServiceProtocol.swift */,
  334. 24923AF5D038F81EB3248A4C /* MockNetworkService.swift */,
  335. );
  336. path = Network;
  337. sourceTree = "<group>";
  338. };
  339. F7861FD2C1283A2FC2FDB934 /* Devices */ = {
  340. isa = PBXGroup;
  341. children = (
  342. F8CB67D1B2BDECAA772F3935 /* DeviceListView.swift */,
  343. E7063E6702335B02B65775F4 /* DeviceScanView.swift */,
  344. );
  345. path = Devices;
  346. sourceTree = "<group>";
  347. };
  348. FD4D76A3358AAF1519C279F1 /* Audio */ = {
  349. isa = PBXGroup;
  350. children = (
  351. AEED3C75367F66D6D6CE745D /* SilenceDetector.swift */,
  352. DB09EA3EE9CFFADB34B5B43A /* RecordingEnvironmentDetector.swift */,
  353. 977EB01CFA491A1573D7CF22 /* RealAudioRecorder.swift */,
  354. 4B407473A307EEAF2CB5EE94 /* AudioRecorderProtocol.swift */,
  355. );
  356. path = Audio;
  357. sourceTree = "<group>";
  358. };
  359. /* End PBXGroup section */
  360. /* Begin PBXNativeTarget section */
  361. D5681575EDB1ABEE4093C509 /* CelestiaTraceTests */ = {
  362. isa = PBXNativeTarget;
  363. buildConfigurationList = 0E7E08AA696927CB2EBFCE00 /* Build configuration list for PBXNativeTarget "CelestiaTraceTests" */;
  364. buildPhases = (
  365. 1F77E010196A2F5F89E27F19 /* Sources */,
  366. 41887A64604410C0C61AEBD5 /* Frameworks */,
  367. D875758EF038ED00E0A14D96 /* Resources */,
  368. );
  369. buildRules = (
  370. );
  371. dependencies = (
  372. 6F0B632A5E411D7F9FFE0767 /* PBXTargetDependency */,
  373. );
  374. name = CelestiaTraceTests;
  375. productName = CelestiaTraceTests;
  376. productReference = 71729F8F4A48D77C1898C27B /* CelestiaTraceTests.xctest */;
  377. productType = "com.apple.product-type.bundle.unit-test";
  378. };
  379. EC79DCF0EBB2620B0FC21573 /* CelestiaTrace */ = {
  380. isa = PBXNativeTarget;
  381. buildConfigurationList = 902A4F79574BE80E9469463E /* Build configuration list for PBXNativeTarget "CelestiaTrace" */;
  382. buildPhases = (
  383. 9E60C6991F09AB5E80EF4283 /* Sources */,
  384. 6FF5C5F71B01A15E70EBC20C /* Frameworks */,
  385. 2B844E255303FD43D7D16A02 /* Resources */,
  386. );
  387. buildRules = (
  388. );
  389. dependencies = (
  390. );
  391. name = CelestiaTrace;
  392. productName = CelestiaTrace;
  393. productReference = DB56F0DFCB1FE77D7636B43D /* CelestiaTrace.app */;
  394. productType = "com.apple.product-type.application";
  395. };
  396. /* End PBXNativeTarget section */
  397. /* Begin PBXProject section */
  398. 979128538DFF0B361F857241 /* Project object */ = {
  399. isa = PBXProject;
  400. attributes = {
  401. LastSwiftUpdateCheck = 1600;
  402. LastUpgradeCheck = 1600;
  403. TargetAttributes = {
  404. EC79DCF0EBB2620B0FC21573 = {
  405. DevelopmentTeam = 5ERVQEJ497;
  406. ProvisioningStyle = Automatic;
  407. };
  408. };
  409. };
  410. buildConfigurationList = C378CBFE73C70F1388740C61 /* Build configuration list for PBXProject "CelestiaTrace" */;
  411. compatibilityVersion = "Xcode 3.2";
  412. developmentRegion = en;
  413. hasScannedForEncodings = 0;
  414. knownRegions = (
  415. en,
  416. Base,
  417. );
  418. mainGroup = D9CB1BAF8E8DB5E4E073CC77;
  419. productRefGroup = 2297351526BD0F24ED0714A0 /* Products */;
  420. projectDirPath = "";
  421. projectRoot = "";
  422. targets = (
  423. EC79DCF0EBB2620B0FC21573 /* CelestiaTrace */,
  424. D5681575EDB1ABEE4093C509 /* CelestiaTraceTests */,
  425. );
  426. };
  427. /* End PBXProject section */
  428. /* Begin PBXResourcesBuildPhase section */
  429. 2B844E255303FD43D7D16A02 /* Resources */ = {
  430. isa = PBXResourcesBuildPhase;
  431. buildActionMask = 2147483647;
  432. files = (
  433. );
  434. runOnlyForDeploymentPostprocessing = 0;
  435. };
  436. D875758EF038ED00E0A14D96 /* Resources */ = {
  437. isa = PBXResourcesBuildPhase;
  438. buildActionMask = 2147483647;
  439. files = (
  440. );
  441. runOnlyForDeploymentPostprocessing = 0;
  442. };
  443. /* End PBXResourcesBuildPhase section */
  444. /* Begin PBXSourcesBuildPhase section */
  445. 1F77E010196A2F5F89E27F19 /* Sources */ = {
  446. isa = PBXSourcesBuildPhase;
  447. buildActionMask = 2147483647;
  448. files = (
  449. );
  450. runOnlyForDeploymentPostprocessing = 0;
  451. };
  452. 9E60C6991F09AB5E80EF4283 /* Sources */ = {
  453. isa = PBXSourcesBuildPhase;
  454. buildActionMask = 2147483647;
  455. files = (
  456. BE12EF8734ABF645B2B28BBB /* PlaybackViewModel.swift in Sources */,
  457. 96791550D01A4FD10EEB9BA3 /* RecordingViewModel.swift in Sources */,
  458. E78FC729614A4C93C97D564D /* ColorTheme.swift in Sources */,
  459. 3A7E453FDCA5DA9F96194B23 /* CelestiaTraceApp.swift in Sources */,
  460. 490825791613AC52D06ECFA7 /* CelestiaSession.swift in Sources */,
  461. A3F43A5200A626CBFB70395E /* CelestiaTimelineEvent.swift in Sources */,
  462. 93F943133BCD792D991AA8E3 /* AudioChunk.swift in Sources */,
  463. C8794B9720CD85F518A82473 /* BoundDevice.swift in Sources */,
  464. 24472E311A9EB0785297B008 /* UserAccount.swift in Sources */,
  465. FD30DBB57E19055AB8F0A956 /* SettingsView.swift in Sources */,
  466. 9BDA680497BF5DD72A7BA8F3 /* HomeView.swift in Sources */,
  467. 58EFA65370C61ED9A8EE6627 /* ActiveRecordingView.swift in Sources */,
  468. 8B5C51BB4474283BDF4ADACB /* LiveWaveformView.swift in Sources */,
  469. 75AE08DD135D81A3E19190EE /* DiscreetWarningBanner.swift in Sources */,
  470. F5035B942DE1FEC10515D9D6 /* ImagePicker.swift in Sources */,
  471. 2FD7EE603C849E281034CDD8 /* SyncAuthPromptModal.swift in Sources */,
  472. AF09E026C9AB15874D870E1F /* PulsingRecordButton.swift in Sources */,
  473. 2C16272F61F8B36A2EF69129 /* SessionDetailView.swift in Sources */,
  474. DDC0D9C4883B4861CBC74C39 /* ChronoFeedRow.swift in Sources */,
  475. 9E4554980E7FF484BF400458 /* MultiTrackTimeline.swift in Sources */,
  476. 15EAFA0DBF80C789F02C5119 /* ProfileView.swift in Sources */,
  477. 36E871DAD9477A21AE2F01B7 /* AuthModalView.swift in Sources */,
  478. C2807F9F2794AFA8BF03F104 /* ChangePasswordModalView.swift in Sources */,
  479. 403219D9D8C972EC2AA8F84E /* EditProfileModalView.swift in Sources */,
  480. 44732C9690578EEFC6840D05 /* DeviceListView.swift in Sources */,
  481. 9C5A0C9CDFCB8CFB10FF0B06 /* DeviceScanView.swift in Sources */,
  482. B262A6AF17A835DB666B2FAB /* SessionListView.swift in Sources */,
  483. 4F4476444CB6838B2BE6EE87 /* ContentView.swift in Sources */,
  484. 8FF835BDBD2A0E3551462510 /* LocalAuthRepository.swift in Sources */,
  485. 26D05B0A440FC9B26E89E4F0 /* AuthServiceProtocol.swift in Sources */,
  486. F3CB51CC262E0F4929EB129B /* RemoteAuthServiceStub.swift in Sources */,
  487. 7CA015A965BD30FAB3A92507 /* AuthManager.swift in Sources */,
  488. 24D8D6477ED27DF7009D383C /* HapticManager.swift in Sources */,
  489. 1A9161A601EB0954CD4B8A76 /* NetworkServiceProtocol.swift in Sources */,
  490. 10EAADFFB07A1A8721B25D6B /* MockNetworkService.swift in Sources */,
  491. 503E109CBBC69E3015AE37A3 /* SilenceDetector.swift in Sources */,
  492. 128B1C7150980D1FBE511B79 /* RecordingEnvironmentDetector.swift in Sources */,
  493. CD45B55AB993D054E50A43BE /* RealAudioRecorder.swift in Sources */,
  494. F385E2FCB06D39917F51846E /* AudioRecorderProtocol.swift in Sources */,
  495. 8FBEE86CDB9635710EF85F1B /* BLEManager.swift in Sources */,
  496. );
  497. runOnlyForDeploymentPostprocessing = 0;
  498. };
  499. /* End PBXSourcesBuildPhase section */
  500. /* Begin PBXTargetDependency section */
  501. 6F0B632A5E411D7F9FFE0767 /* PBXTargetDependency */ = {
  502. isa = PBXTargetDependency;
  503. name = CelestiaTrace;
  504. target = EC79DCF0EBB2620B0FC21573 /* CelestiaTrace */;
  505. targetProxy = 55C3FF8383E750C9C9453EC5 /* PBXContainerItemProxy */;
  506. };
  507. /* End PBXTargetDependency section */
  508. /* Begin XCBuildConfiguration section */
  509. 76F4E0F0A78EC9D84B954B50 /* Debug */ = {
  510. isa = XCBuildConfiguration;
  511. buildSettings = {
  512. ALWAYS_SEARCH_USER_PATHS = NO;
  513. CLANG_ANALYZER_NONNULL = YES;
  514. CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
  515. CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
  516. CLANG_CXX_LIBRARY = "libc++";
  517. CLANG_ENABLE_MODULES = YES;
  518. CLANG_ENABLE_OBJC_ARC = YES;
  519. CLANG_ENABLE_OBJC_WEAK = YES;
  520. CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
  521. CLANG_WARN_BOOL_CONVERSION = YES;
  522. CLANG_WARN_COMMA = YES;
  523. CLANG_WARN_CONSTANT_CONVERSION = YES;
  524. CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
  525. CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
  526. CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
  527. CLANG_WARN_EMPTY_BODY = YES;
  528. CLANG_WARN_ENUM_CONVERSION = YES;
  529. CLANG_WARN_INFINITE_RECURSION = YES;
  530. CLANG_WARN_INT_CONVERSION = YES;
  531. CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
  532. CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
  533. CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
  534. CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
  535. CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
  536. CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
  537. CLANG_WARN_STRICT_PROTOTYPES = YES;
  538. CLANG_WARN_SUSPICIOUS_MOVE = YES;
  539. CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
  540. CLANG_WARN_UNREACHABLE_CODE = YES;
  541. CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
  542. COPY_PHASE_STRIP = NO;
  543. DEBUG_INFORMATION_FORMAT = dwarf;
  544. ENABLE_STRICT_OBJC_MSGSEND = YES;
  545. ENABLE_TESTABILITY = YES;
  546. GCC_C_LANGUAGE_STANDARD = gnu11;
  547. GCC_DYNAMIC_NO_PIC = NO;
  548. GCC_NO_COMMON_BLOCKS = YES;
  549. GCC_OPTIMIZATION_LEVEL = 0;
  550. GCC_PREPROCESSOR_DEFINITIONS = (
  551. "DEBUG=1",
  552. "$(inherited)",
  553. );
  554. GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
  555. GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
  556. GCC_WARN_UNDECLARED_SELECTOR = YES;
  557. GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
  558. GCC_WARN_UNUSED_FUNCTION = YES;
  559. GCC_WARN_UNUSED_VARIABLE = YES;
  560. MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
  561. MTL_FAST_MATH = YES;
  562. ONLY_ACTIVE_ARCH = YES;
  563. PRODUCT_NAME = "$(TARGET_NAME)";
  564. SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
  565. SWIFT_OPTIMIZATION_LEVEL = "-Onone";
  566. SWIFT_VERSION = 5.0;
  567. };
  568. name = Debug;
  569. };
  570. 95AB591F506D02959044D749 /* Debug */ = {
  571. isa = XCBuildConfiguration;
  572. buildSettings = {
  573. ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
  574. ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
  575. CLANG_ENABLE_OBJC_WEAK = NO;
  576. CODE_SIGN_STYLE = Automatic;
  577. DEVELOPMENT_ASSET_PATHS = "\"\"";
  578. DEVELOPMENT_TEAM = 5ERVQEJ497;
  579. GENERATE_INFOPLIST_FILE = YES;
  580. INFOPLIST_KEY_NSBluetoothAlwaysUsageDescription = "需要蓝牙权限以扫描和绑定 BLE 录音设备";
  581. INFOPLIST_KEY_NSBluetoothPeripheralUsageDescription = "需要蓝牙权限以与录音设备传输数据";
  582. INFOPLIST_KEY_NSCameraUsageDescription = "需要相机权限以在现场录制中拍摄照片记录";
  583. INFOPLIST_KEY_NSMicrophoneUsageDescription = "需要麦克风权限以进行会议现场的音轨录音";
  584. INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "需要相册权限以选择照片记录";
  585. INFOPLIST_KEY_UILaunchScreen_Generation = YES;
  586. INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
  587. IPHONEOS_DEPLOYMENT_TARGET = 17.0;
  588. LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
  589. PRODUCT_BUNDLE_IDENTIFIER = com.celestia.trace;
  590. SDKROOT = iphoneos;
  591. SWIFT_VERSION = 5.9;
  592. TARGETED_DEVICE_FAMILY = 1;
  593. };
  594. name = Debug;
  595. };
  596. B1CCB86EBE298ADE0B572050 /* Release */ = {
  597. isa = XCBuildConfiguration;
  598. buildSettings = {
  599. ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
  600. ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
  601. CLANG_ENABLE_OBJC_WEAK = NO;
  602. CODE_SIGN_STYLE = Automatic;
  603. DEVELOPMENT_ASSET_PATHS = "\"\"";
  604. DEVELOPMENT_TEAM = 5ERVQEJ497;
  605. GENERATE_INFOPLIST_FILE = YES;
  606. INFOPLIST_KEY_NSBluetoothAlwaysUsageDescription = "需要蓝牙权限以扫描和绑定 BLE 录音设备";
  607. INFOPLIST_KEY_NSBluetoothPeripheralUsageDescription = "需要蓝牙权限以与录音设备传输数据";
  608. INFOPLIST_KEY_NSCameraUsageDescription = "需要相机权限以在现场录制中拍摄照片记录";
  609. INFOPLIST_KEY_NSMicrophoneUsageDescription = "需要麦克风权限以进行会议现场的音轨录音";
  610. INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "需要相册权限以选择照片记录";
  611. INFOPLIST_KEY_UILaunchScreen_Generation = YES;
  612. INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
  613. IPHONEOS_DEPLOYMENT_TARGET = 17.0;
  614. LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
  615. PRODUCT_BUNDLE_IDENTIFIER = com.celestia.trace;
  616. SDKROOT = iphoneos;
  617. SWIFT_VERSION = 5.9;
  618. TARGETED_DEVICE_FAMILY = 1;
  619. VALIDATE_PRODUCT = YES;
  620. };
  621. name = Release;
  622. };
  623. B827886CD5B378B8C90638F7 /* Release */ = {
  624. isa = XCBuildConfiguration;
  625. buildSettings = {
  626. BUNDLE_LOADER = "$(TEST_HOST)";
  627. CLANG_ENABLE_OBJC_WEAK = NO;
  628. GENERATE_INFOPLIST_FILE = YES;
  629. IPHONEOS_DEPLOYMENT_TARGET = 17.0;
  630. SDKROOT = iphoneos;
  631. SWIFT_VERSION = 5.9;
  632. TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CelestiaTrace.app/CelestiaTrace";
  633. TEST_TARGET_NAME = CelestiaTrace;
  634. VALIDATE_PRODUCT = YES;
  635. };
  636. name = Release;
  637. };
  638. BCD7DB2413FD475C8DCF0B12 /* Release */ = {
  639. isa = XCBuildConfiguration;
  640. buildSettings = {
  641. ALWAYS_SEARCH_USER_PATHS = NO;
  642. CLANG_ANALYZER_NONNULL = YES;
  643. CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
  644. CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
  645. CLANG_CXX_LIBRARY = "libc++";
  646. CLANG_ENABLE_MODULES = YES;
  647. CLANG_ENABLE_OBJC_ARC = YES;
  648. CLANG_ENABLE_OBJC_WEAK = YES;
  649. CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
  650. CLANG_WARN_BOOL_CONVERSION = YES;
  651. CLANG_WARN_COMMA = YES;
  652. CLANG_WARN_CONSTANT_CONVERSION = YES;
  653. CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
  654. CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
  655. CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
  656. CLANG_WARN_EMPTY_BODY = YES;
  657. CLANG_WARN_ENUM_CONVERSION = YES;
  658. CLANG_WARN_INFINITE_RECURSION = YES;
  659. CLANG_WARN_INT_CONVERSION = YES;
  660. CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
  661. CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
  662. CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
  663. CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
  664. CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
  665. CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
  666. CLANG_WARN_STRICT_PROTOTYPES = YES;
  667. CLANG_WARN_SUSPICIOUS_MOVE = YES;
  668. CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
  669. CLANG_WARN_UNREACHABLE_CODE = YES;
  670. CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
  671. COPY_PHASE_STRIP = NO;
  672. DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
  673. ENABLE_NS_ASSERTIONS = NO;
  674. ENABLE_STRICT_OBJC_MSGSEND = YES;
  675. GCC_C_LANGUAGE_STANDARD = gnu11;
  676. GCC_NO_COMMON_BLOCKS = YES;
  677. GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
  678. GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
  679. GCC_WARN_UNDECLARED_SELECTOR = YES;
  680. GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
  681. GCC_WARN_UNUSED_FUNCTION = YES;
  682. GCC_WARN_UNUSED_VARIABLE = YES;
  683. MTL_ENABLE_DEBUG_INFO = NO;
  684. MTL_FAST_MATH = YES;
  685. PRODUCT_NAME = "$(TARGET_NAME)";
  686. SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
  687. SWIFT_VERSION = 5.0;
  688. };
  689. name = Release;
  690. };
  691. D16E5B27804289B138250469 /* Debug */ = {
  692. isa = XCBuildConfiguration;
  693. buildSettings = {
  694. BUNDLE_LOADER = "$(TEST_HOST)";
  695. CLANG_ENABLE_OBJC_WEAK = NO;
  696. GENERATE_INFOPLIST_FILE = YES;
  697. IPHONEOS_DEPLOYMENT_TARGET = 17.0;
  698. SDKROOT = iphoneos;
  699. SWIFT_VERSION = 5.9;
  700. TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CelestiaTrace.app/CelestiaTrace";
  701. TEST_TARGET_NAME = CelestiaTrace;
  702. };
  703. name = Debug;
  704. };
  705. /* End XCBuildConfiguration section */
  706. /* Begin XCConfigurationList section */
  707. 0E7E08AA696927CB2EBFCE00 /* Build configuration list for PBXNativeTarget "CelestiaTraceTests" */ = {
  708. isa = XCConfigurationList;
  709. buildConfigurations = (
  710. B827886CD5B378B8C90638F7 /* Release */,
  711. D16E5B27804289B138250469 /* Debug */,
  712. );
  713. defaultConfigurationIsVisible = 0;
  714. defaultConfigurationName = Release;
  715. };
  716. 902A4F79574BE80E9469463E /* Build configuration list for PBXNativeTarget "CelestiaTrace" */ = {
  717. isa = XCConfigurationList;
  718. buildConfigurations = (
  719. B1CCB86EBE298ADE0B572050 /* Release */,
  720. 95AB591F506D02959044D749 /* Debug */,
  721. );
  722. defaultConfigurationIsVisible = 0;
  723. defaultConfigurationName = Release;
  724. };
  725. C378CBFE73C70F1388740C61 /* Build configuration list for PBXProject "CelestiaTrace" */ = {
  726. isa = XCConfigurationList;
  727. buildConfigurations = (
  728. 76F4E0F0A78EC9D84B954B50 /* Debug */,
  729. BCD7DB2413FD475C8DCF0B12 /* Release */,
  730. );
  731. defaultConfigurationIsVisible = 0;
  732. defaultConfigurationName = Release;
  733. };
  734. /* End XCConfigurationList section */
  735. };
  736. rootObject = 979128538DFF0B361F857241 /* Project object */;
  737. }