project.pbxproj 40 KB

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